1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package greengrass
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opAssociateRoleToGroup = "AssociateRoleToGroup"
16
17// AssociateRoleToGroupRequest generates a "aws/request.Request" representing the
18// client's request for the AssociateRoleToGroup operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AssociateRoleToGroup for more information on using the AssociateRoleToGroup
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AssociateRoleToGroupRequest method.
33//    req, resp := client.AssociateRoleToGroupRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateRoleToGroup
41func (c *Greengrass) AssociateRoleToGroupRequest(input *AssociateRoleToGroupInput) (req *request.Request, output *AssociateRoleToGroupOutput) {
42	op := &request.Operation{
43		Name:       opAssociateRoleToGroup,
44		HTTPMethod: "PUT",
45		HTTPPath:   "/greengrass/groups/{GroupId}/role",
46	}
47
48	if input == nil {
49		input = &AssociateRoleToGroupInput{}
50	}
51
52	output = &AssociateRoleToGroupOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AssociateRoleToGroup API operation for AWS Greengrass.
58//
59// Associates a role with a group. Your Greengrass core will use the role to
60// access AWS cloud services. The role's permissions should allow Greengrass
61// core Lambda functions to perform actions against the cloud.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Greengrass's
68// API operation AssociateRoleToGroup for usage and error information.
69//
70// Returned Error Types:
71//   * BadRequestException
72//   General error information.
73//
74//   * InternalServerErrorException
75//   General error information.
76//
77// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateRoleToGroup
78func (c *Greengrass) AssociateRoleToGroup(input *AssociateRoleToGroupInput) (*AssociateRoleToGroupOutput, error) {
79	req, out := c.AssociateRoleToGroupRequest(input)
80	return out, req.Send()
81}
82
83// AssociateRoleToGroupWithContext is the same as AssociateRoleToGroup with the addition of
84// the ability to pass a context and additional request options.
85//
86// See AssociateRoleToGroup for details on how to use this API operation.
87//
88// The context must be non-nil and will be used for request cancellation. If
89// the context is nil a panic will occur. In the future the SDK may create
90// sub-contexts for http.Requests. See https://golang.org/pkg/context/
91// for more information on using Contexts.
92func (c *Greengrass) AssociateRoleToGroupWithContext(ctx aws.Context, input *AssociateRoleToGroupInput, opts ...request.Option) (*AssociateRoleToGroupOutput, error) {
93	req, out := c.AssociateRoleToGroupRequest(input)
94	req.SetContext(ctx)
95	req.ApplyOptions(opts...)
96	return out, req.Send()
97}
98
99const opAssociateServiceRoleToAccount = "AssociateServiceRoleToAccount"
100
101// AssociateServiceRoleToAccountRequest generates a "aws/request.Request" representing the
102// client's request for the AssociateServiceRoleToAccount operation. The "output" return
103// value will be populated with the request's response once the request completes
104// successfully.
105//
106// Use "Send" method on the returned Request to send the API call to the service.
107// the "output" return value is not valid until after Send returns without error.
108//
109// See AssociateServiceRoleToAccount for more information on using the AssociateServiceRoleToAccount
110// API call, and error handling.
111//
112// This method is useful when you want to inject custom logic or configuration
113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
114//
115//
116//    // Example sending a request using the AssociateServiceRoleToAccountRequest method.
117//    req, resp := client.AssociateServiceRoleToAccountRequest(params)
118//
119//    err := req.Send()
120//    if err == nil { // resp is now filled
121//        fmt.Println(resp)
122//    }
123//
124// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateServiceRoleToAccount
125func (c *Greengrass) AssociateServiceRoleToAccountRequest(input *AssociateServiceRoleToAccountInput) (req *request.Request, output *AssociateServiceRoleToAccountOutput) {
126	op := &request.Operation{
127		Name:       opAssociateServiceRoleToAccount,
128		HTTPMethod: "PUT",
129		HTTPPath:   "/greengrass/servicerole",
130	}
131
132	if input == nil {
133		input = &AssociateServiceRoleToAccountInput{}
134	}
135
136	output = &AssociateServiceRoleToAccountOutput{}
137	req = c.newRequest(op, input, output)
138	return
139}
140
141// AssociateServiceRoleToAccount API operation for AWS Greengrass.
142//
143// Associates a role with your account. AWS IoT Greengrass will use the role
144// to access your Lambda functions and AWS IoT resources. This is necessary
145// for deployments to succeed. The role must have at least minimum permissions
146// in the policy ''AWSGreengrassResourceAccessRolePolicy''.
147//
148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
149// with awserr.Error's Code and Message methods to get detailed information about
150// the error.
151//
152// See the AWS API reference guide for AWS Greengrass's
153// API operation AssociateServiceRoleToAccount for usage and error information.
154//
155// Returned Error Types:
156//   * BadRequestException
157//   General error information.
158//
159//   * InternalServerErrorException
160//   General error information.
161//
162// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateServiceRoleToAccount
163func (c *Greengrass) AssociateServiceRoleToAccount(input *AssociateServiceRoleToAccountInput) (*AssociateServiceRoleToAccountOutput, error) {
164	req, out := c.AssociateServiceRoleToAccountRequest(input)
165	return out, req.Send()
166}
167
168// AssociateServiceRoleToAccountWithContext is the same as AssociateServiceRoleToAccount with the addition of
169// the ability to pass a context and additional request options.
170//
171// See AssociateServiceRoleToAccount for details on how to use this API operation.
172//
173// The context must be non-nil and will be used for request cancellation. If
174// the context is nil a panic will occur. In the future the SDK may create
175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
176// for more information on using Contexts.
177func (c *Greengrass) AssociateServiceRoleToAccountWithContext(ctx aws.Context, input *AssociateServiceRoleToAccountInput, opts ...request.Option) (*AssociateServiceRoleToAccountOutput, error) {
178	req, out := c.AssociateServiceRoleToAccountRequest(input)
179	req.SetContext(ctx)
180	req.ApplyOptions(opts...)
181	return out, req.Send()
182}
183
184const opCreateConnectorDefinition = "CreateConnectorDefinition"
185
186// CreateConnectorDefinitionRequest generates a "aws/request.Request" representing the
187// client's request for the CreateConnectorDefinition operation. The "output" return
188// value will be populated with the request's response once the request completes
189// successfully.
190//
191// Use "Send" method on the returned Request to send the API call to the service.
192// the "output" return value is not valid until after Send returns without error.
193//
194// See CreateConnectorDefinition for more information on using the CreateConnectorDefinition
195// API call, and error handling.
196//
197// This method is useful when you want to inject custom logic or configuration
198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
199//
200//
201//    // Example sending a request using the CreateConnectorDefinitionRequest method.
202//    req, resp := client.CreateConnectorDefinitionRequest(params)
203//
204//    err := req.Send()
205//    if err == nil { // resp is now filled
206//        fmt.Println(resp)
207//    }
208//
209// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinition
210func (c *Greengrass) CreateConnectorDefinitionRequest(input *CreateConnectorDefinitionInput) (req *request.Request, output *CreateConnectorDefinitionOutput) {
211	op := &request.Operation{
212		Name:       opCreateConnectorDefinition,
213		HTTPMethod: "POST",
214		HTTPPath:   "/greengrass/definition/connectors",
215	}
216
217	if input == nil {
218		input = &CreateConnectorDefinitionInput{}
219	}
220
221	output = &CreateConnectorDefinitionOutput{}
222	req = c.newRequest(op, input, output)
223	return
224}
225
226// CreateConnectorDefinition API operation for AWS Greengrass.
227//
228// Creates a connector definition. You may provide the initial version of the
229// connector definition now or use ''CreateConnectorDefinitionVersion'' at a
230// later time.
231//
232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
233// with awserr.Error's Code and Message methods to get detailed information about
234// the error.
235//
236// See the AWS API reference guide for AWS Greengrass's
237// API operation CreateConnectorDefinition for usage and error information.
238//
239// Returned Error Types:
240//   * BadRequestException
241//   General error information.
242//
243// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinition
244func (c *Greengrass) CreateConnectorDefinition(input *CreateConnectorDefinitionInput) (*CreateConnectorDefinitionOutput, error) {
245	req, out := c.CreateConnectorDefinitionRequest(input)
246	return out, req.Send()
247}
248
249// CreateConnectorDefinitionWithContext is the same as CreateConnectorDefinition with the addition of
250// the ability to pass a context and additional request options.
251//
252// See CreateConnectorDefinition for details on how to use this API operation.
253//
254// The context must be non-nil and will be used for request cancellation. If
255// the context is nil a panic will occur. In the future the SDK may create
256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
257// for more information on using Contexts.
258func (c *Greengrass) CreateConnectorDefinitionWithContext(ctx aws.Context, input *CreateConnectorDefinitionInput, opts ...request.Option) (*CreateConnectorDefinitionOutput, error) {
259	req, out := c.CreateConnectorDefinitionRequest(input)
260	req.SetContext(ctx)
261	req.ApplyOptions(opts...)
262	return out, req.Send()
263}
264
265const opCreateConnectorDefinitionVersion = "CreateConnectorDefinitionVersion"
266
267// CreateConnectorDefinitionVersionRequest generates a "aws/request.Request" representing the
268// client's request for the CreateConnectorDefinitionVersion operation. The "output" return
269// value will be populated with the request's response once the request completes
270// successfully.
271//
272// Use "Send" method on the returned Request to send the API call to the service.
273// the "output" return value is not valid until after Send returns without error.
274//
275// See CreateConnectorDefinitionVersion for more information on using the CreateConnectorDefinitionVersion
276// API call, and error handling.
277//
278// This method is useful when you want to inject custom logic or configuration
279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
280//
281//
282//    // Example sending a request using the CreateConnectorDefinitionVersionRequest method.
283//    req, resp := client.CreateConnectorDefinitionVersionRequest(params)
284//
285//    err := req.Send()
286//    if err == nil { // resp is now filled
287//        fmt.Println(resp)
288//    }
289//
290// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinitionVersion
291func (c *Greengrass) CreateConnectorDefinitionVersionRequest(input *CreateConnectorDefinitionVersionInput) (req *request.Request, output *CreateConnectorDefinitionVersionOutput) {
292	op := &request.Operation{
293		Name:       opCreateConnectorDefinitionVersion,
294		HTTPMethod: "POST",
295		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions",
296	}
297
298	if input == nil {
299		input = &CreateConnectorDefinitionVersionInput{}
300	}
301
302	output = &CreateConnectorDefinitionVersionOutput{}
303	req = c.newRequest(op, input, output)
304	return
305}
306
307// CreateConnectorDefinitionVersion API operation for AWS Greengrass.
308//
309// Creates a version of a connector definition which has already been defined.
310//
311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
312// with awserr.Error's Code and Message methods to get detailed information about
313// the error.
314//
315// See the AWS API reference guide for AWS Greengrass's
316// API operation CreateConnectorDefinitionVersion for usage and error information.
317//
318// Returned Error Types:
319//   * BadRequestException
320//   General error information.
321//
322// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinitionVersion
323func (c *Greengrass) CreateConnectorDefinitionVersion(input *CreateConnectorDefinitionVersionInput) (*CreateConnectorDefinitionVersionOutput, error) {
324	req, out := c.CreateConnectorDefinitionVersionRequest(input)
325	return out, req.Send()
326}
327
328// CreateConnectorDefinitionVersionWithContext is the same as CreateConnectorDefinitionVersion with the addition of
329// the ability to pass a context and additional request options.
330//
331// See CreateConnectorDefinitionVersion for details on how to use this API operation.
332//
333// The context must be non-nil and will be used for request cancellation. If
334// the context is nil a panic will occur. In the future the SDK may create
335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
336// for more information on using Contexts.
337func (c *Greengrass) CreateConnectorDefinitionVersionWithContext(ctx aws.Context, input *CreateConnectorDefinitionVersionInput, opts ...request.Option) (*CreateConnectorDefinitionVersionOutput, error) {
338	req, out := c.CreateConnectorDefinitionVersionRequest(input)
339	req.SetContext(ctx)
340	req.ApplyOptions(opts...)
341	return out, req.Send()
342}
343
344const opCreateCoreDefinition = "CreateCoreDefinition"
345
346// CreateCoreDefinitionRequest generates a "aws/request.Request" representing the
347// client's request for the CreateCoreDefinition operation. The "output" return
348// value will be populated with the request's response once the request completes
349// successfully.
350//
351// Use "Send" method on the returned Request to send the API call to the service.
352// the "output" return value is not valid until after Send returns without error.
353//
354// See CreateCoreDefinition for more information on using the CreateCoreDefinition
355// API call, and error handling.
356//
357// This method is useful when you want to inject custom logic or configuration
358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
359//
360//
361//    // Example sending a request using the CreateCoreDefinitionRequest method.
362//    req, resp := client.CreateCoreDefinitionRequest(params)
363//
364//    err := req.Send()
365//    if err == nil { // resp is now filled
366//        fmt.Println(resp)
367//    }
368//
369// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinition
370func (c *Greengrass) CreateCoreDefinitionRequest(input *CreateCoreDefinitionInput) (req *request.Request, output *CreateCoreDefinitionOutput) {
371	op := &request.Operation{
372		Name:       opCreateCoreDefinition,
373		HTTPMethod: "POST",
374		HTTPPath:   "/greengrass/definition/cores",
375	}
376
377	if input == nil {
378		input = &CreateCoreDefinitionInput{}
379	}
380
381	output = &CreateCoreDefinitionOutput{}
382	req = c.newRequest(op, input, output)
383	return
384}
385
386// CreateCoreDefinition API operation for AWS Greengrass.
387//
388// Creates a core definition. You may provide the initial version of the core
389// definition now or use ''CreateCoreDefinitionVersion'' at a later time. Greengrass
390// groups must each contain exactly one Greengrass core.
391//
392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
393// with awserr.Error's Code and Message methods to get detailed information about
394// the error.
395//
396// See the AWS API reference guide for AWS Greengrass's
397// API operation CreateCoreDefinition for usage and error information.
398//
399// Returned Error Types:
400//   * BadRequestException
401//   General error information.
402//
403// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinition
404func (c *Greengrass) CreateCoreDefinition(input *CreateCoreDefinitionInput) (*CreateCoreDefinitionOutput, error) {
405	req, out := c.CreateCoreDefinitionRequest(input)
406	return out, req.Send()
407}
408
409// CreateCoreDefinitionWithContext is the same as CreateCoreDefinition with the addition of
410// the ability to pass a context and additional request options.
411//
412// See CreateCoreDefinition for details on how to use this API operation.
413//
414// The context must be non-nil and will be used for request cancellation. If
415// the context is nil a panic will occur. In the future the SDK may create
416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
417// for more information on using Contexts.
418func (c *Greengrass) CreateCoreDefinitionWithContext(ctx aws.Context, input *CreateCoreDefinitionInput, opts ...request.Option) (*CreateCoreDefinitionOutput, error) {
419	req, out := c.CreateCoreDefinitionRequest(input)
420	req.SetContext(ctx)
421	req.ApplyOptions(opts...)
422	return out, req.Send()
423}
424
425const opCreateCoreDefinitionVersion = "CreateCoreDefinitionVersion"
426
427// CreateCoreDefinitionVersionRequest generates a "aws/request.Request" representing the
428// client's request for the CreateCoreDefinitionVersion operation. The "output" return
429// value will be populated with the request's response once the request completes
430// successfully.
431//
432// Use "Send" method on the returned Request to send the API call to the service.
433// the "output" return value is not valid until after Send returns without error.
434//
435// See CreateCoreDefinitionVersion for more information on using the CreateCoreDefinitionVersion
436// API call, and error handling.
437//
438// This method is useful when you want to inject custom logic or configuration
439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
440//
441//
442//    // Example sending a request using the CreateCoreDefinitionVersionRequest method.
443//    req, resp := client.CreateCoreDefinitionVersionRequest(params)
444//
445//    err := req.Send()
446//    if err == nil { // resp is now filled
447//        fmt.Println(resp)
448//    }
449//
450// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinitionVersion
451func (c *Greengrass) CreateCoreDefinitionVersionRequest(input *CreateCoreDefinitionVersionInput) (req *request.Request, output *CreateCoreDefinitionVersionOutput) {
452	op := &request.Operation{
453		Name:       opCreateCoreDefinitionVersion,
454		HTTPMethod: "POST",
455		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}/versions",
456	}
457
458	if input == nil {
459		input = &CreateCoreDefinitionVersionInput{}
460	}
461
462	output = &CreateCoreDefinitionVersionOutput{}
463	req = c.newRequest(op, input, output)
464	return
465}
466
467// CreateCoreDefinitionVersion API operation for AWS Greengrass.
468//
469// Creates a version of a core definition that has already been defined. Greengrass
470// groups must each contain exactly one Greengrass core.
471//
472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
473// with awserr.Error's Code and Message methods to get detailed information about
474// the error.
475//
476// See the AWS API reference guide for AWS Greengrass's
477// API operation CreateCoreDefinitionVersion for usage and error information.
478//
479// Returned Error Types:
480//   * BadRequestException
481//   General error information.
482//
483// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinitionVersion
484func (c *Greengrass) CreateCoreDefinitionVersion(input *CreateCoreDefinitionVersionInput) (*CreateCoreDefinitionVersionOutput, error) {
485	req, out := c.CreateCoreDefinitionVersionRequest(input)
486	return out, req.Send()
487}
488
489// CreateCoreDefinitionVersionWithContext is the same as CreateCoreDefinitionVersion with the addition of
490// the ability to pass a context and additional request options.
491//
492// See CreateCoreDefinitionVersion for details on how to use this API operation.
493//
494// The context must be non-nil and will be used for request cancellation. If
495// the context is nil a panic will occur. In the future the SDK may create
496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
497// for more information on using Contexts.
498func (c *Greengrass) CreateCoreDefinitionVersionWithContext(ctx aws.Context, input *CreateCoreDefinitionVersionInput, opts ...request.Option) (*CreateCoreDefinitionVersionOutput, error) {
499	req, out := c.CreateCoreDefinitionVersionRequest(input)
500	req.SetContext(ctx)
501	req.ApplyOptions(opts...)
502	return out, req.Send()
503}
504
505const opCreateDeployment = "CreateDeployment"
506
507// CreateDeploymentRequest generates a "aws/request.Request" representing the
508// client's request for the CreateDeployment operation. The "output" return
509// value will be populated with the request's response once the request completes
510// successfully.
511//
512// Use "Send" method on the returned Request to send the API call to the service.
513// the "output" return value is not valid until after Send returns without error.
514//
515// See CreateDeployment for more information on using the CreateDeployment
516// API call, and error handling.
517//
518// This method is useful when you want to inject custom logic or configuration
519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
520//
521//
522//    // Example sending a request using the CreateDeploymentRequest method.
523//    req, resp := client.CreateDeploymentRequest(params)
524//
525//    err := req.Send()
526//    if err == nil { // resp is now filled
527//        fmt.Println(resp)
528//    }
529//
530// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeployment
531func (c *Greengrass) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
532	op := &request.Operation{
533		Name:       opCreateDeployment,
534		HTTPMethod: "POST",
535		HTTPPath:   "/greengrass/groups/{GroupId}/deployments",
536	}
537
538	if input == nil {
539		input = &CreateDeploymentInput{}
540	}
541
542	output = &CreateDeploymentOutput{}
543	req = c.newRequest(op, input, output)
544	return
545}
546
547// CreateDeployment API operation for AWS Greengrass.
548//
549// Creates a deployment. ''CreateDeployment'' requests are idempotent with respect
550// to the ''X-Amzn-Client-Token'' token and the request parameters.
551//
552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
553// with awserr.Error's Code and Message methods to get detailed information about
554// the error.
555//
556// See the AWS API reference guide for AWS Greengrass's
557// API operation CreateDeployment for usage and error information.
558//
559// Returned Error Types:
560//   * BadRequestException
561//   General error information.
562//
563// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeployment
564func (c *Greengrass) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
565	req, out := c.CreateDeploymentRequest(input)
566	return out, req.Send()
567}
568
569// CreateDeploymentWithContext is the same as CreateDeployment with the addition of
570// the ability to pass a context and additional request options.
571//
572// See CreateDeployment for details on how to use this API operation.
573//
574// The context must be non-nil and will be used for request cancellation. If
575// the context is nil a panic will occur. In the future the SDK may create
576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
577// for more information on using Contexts.
578func (c *Greengrass) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
579	req, out := c.CreateDeploymentRequest(input)
580	req.SetContext(ctx)
581	req.ApplyOptions(opts...)
582	return out, req.Send()
583}
584
585const opCreateDeviceDefinition = "CreateDeviceDefinition"
586
587// CreateDeviceDefinitionRequest generates a "aws/request.Request" representing the
588// client's request for the CreateDeviceDefinition operation. The "output" return
589// value will be populated with the request's response once the request completes
590// successfully.
591//
592// Use "Send" method on the returned Request to send the API call to the service.
593// the "output" return value is not valid until after Send returns without error.
594//
595// See CreateDeviceDefinition for more information on using the CreateDeviceDefinition
596// API call, and error handling.
597//
598// This method is useful when you want to inject custom logic or configuration
599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
600//
601//
602//    // Example sending a request using the CreateDeviceDefinitionRequest method.
603//    req, resp := client.CreateDeviceDefinitionRequest(params)
604//
605//    err := req.Send()
606//    if err == nil { // resp is now filled
607//        fmt.Println(resp)
608//    }
609//
610// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinition
611func (c *Greengrass) CreateDeviceDefinitionRequest(input *CreateDeviceDefinitionInput) (req *request.Request, output *CreateDeviceDefinitionOutput) {
612	op := &request.Operation{
613		Name:       opCreateDeviceDefinition,
614		HTTPMethod: "POST",
615		HTTPPath:   "/greengrass/definition/devices",
616	}
617
618	if input == nil {
619		input = &CreateDeviceDefinitionInput{}
620	}
621
622	output = &CreateDeviceDefinitionOutput{}
623	req = c.newRequest(op, input, output)
624	return
625}
626
627// CreateDeviceDefinition API operation for AWS Greengrass.
628//
629// Creates a device definition. You may provide the initial version of the device
630// definition now or use ''CreateDeviceDefinitionVersion'' at a later time.
631//
632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
633// with awserr.Error's Code and Message methods to get detailed information about
634// the error.
635//
636// See the AWS API reference guide for AWS Greengrass's
637// API operation CreateDeviceDefinition for usage and error information.
638//
639// Returned Error Types:
640//   * BadRequestException
641//   General error information.
642//
643// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinition
644func (c *Greengrass) CreateDeviceDefinition(input *CreateDeviceDefinitionInput) (*CreateDeviceDefinitionOutput, error) {
645	req, out := c.CreateDeviceDefinitionRequest(input)
646	return out, req.Send()
647}
648
649// CreateDeviceDefinitionWithContext is the same as CreateDeviceDefinition with the addition of
650// the ability to pass a context and additional request options.
651//
652// See CreateDeviceDefinition for details on how to use this API operation.
653//
654// The context must be non-nil and will be used for request cancellation. If
655// the context is nil a panic will occur. In the future the SDK may create
656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
657// for more information on using Contexts.
658func (c *Greengrass) CreateDeviceDefinitionWithContext(ctx aws.Context, input *CreateDeviceDefinitionInput, opts ...request.Option) (*CreateDeviceDefinitionOutput, error) {
659	req, out := c.CreateDeviceDefinitionRequest(input)
660	req.SetContext(ctx)
661	req.ApplyOptions(opts...)
662	return out, req.Send()
663}
664
665const opCreateDeviceDefinitionVersion = "CreateDeviceDefinitionVersion"
666
667// CreateDeviceDefinitionVersionRequest generates a "aws/request.Request" representing the
668// client's request for the CreateDeviceDefinitionVersion operation. The "output" return
669// value will be populated with the request's response once the request completes
670// successfully.
671//
672// Use "Send" method on the returned Request to send the API call to the service.
673// the "output" return value is not valid until after Send returns without error.
674//
675// See CreateDeviceDefinitionVersion for more information on using the CreateDeviceDefinitionVersion
676// API call, and error handling.
677//
678// This method is useful when you want to inject custom logic or configuration
679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
680//
681//
682//    // Example sending a request using the CreateDeviceDefinitionVersionRequest method.
683//    req, resp := client.CreateDeviceDefinitionVersionRequest(params)
684//
685//    err := req.Send()
686//    if err == nil { // resp is now filled
687//        fmt.Println(resp)
688//    }
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinitionVersion
691func (c *Greengrass) CreateDeviceDefinitionVersionRequest(input *CreateDeviceDefinitionVersionInput) (req *request.Request, output *CreateDeviceDefinitionVersionOutput) {
692	op := &request.Operation{
693		Name:       opCreateDeviceDefinitionVersion,
694		HTTPMethod: "POST",
695		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}/versions",
696	}
697
698	if input == nil {
699		input = &CreateDeviceDefinitionVersionInput{}
700	}
701
702	output = &CreateDeviceDefinitionVersionOutput{}
703	req = c.newRequest(op, input, output)
704	return
705}
706
707// CreateDeviceDefinitionVersion API operation for AWS Greengrass.
708//
709// Creates a version of a device definition that has already been defined.
710//
711// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
712// with awserr.Error's Code and Message methods to get detailed information about
713// the error.
714//
715// See the AWS API reference guide for AWS Greengrass's
716// API operation CreateDeviceDefinitionVersion for usage and error information.
717//
718// Returned Error Types:
719//   * BadRequestException
720//   General error information.
721//
722// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinitionVersion
723func (c *Greengrass) CreateDeviceDefinitionVersion(input *CreateDeviceDefinitionVersionInput) (*CreateDeviceDefinitionVersionOutput, error) {
724	req, out := c.CreateDeviceDefinitionVersionRequest(input)
725	return out, req.Send()
726}
727
728// CreateDeviceDefinitionVersionWithContext is the same as CreateDeviceDefinitionVersion with the addition of
729// the ability to pass a context and additional request options.
730//
731// See CreateDeviceDefinitionVersion for details on how to use this API operation.
732//
733// The context must be non-nil and will be used for request cancellation. If
734// the context is nil a panic will occur. In the future the SDK may create
735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
736// for more information on using Contexts.
737func (c *Greengrass) CreateDeviceDefinitionVersionWithContext(ctx aws.Context, input *CreateDeviceDefinitionVersionInput, opts ...request.Option) (*CreateDeviceDefinitionVersionOutput, error) {
738	req, out := c.CreateDeviceDefinitionVersionRequest(input)
739	req.SetContext(ctx)
740	req.ApplyOptions(opts...)
741	return out, req.Send()
742}
743
744const opCreateFunctionDefinition = "CreateFunctionDefinition"
745
746// CreateFunctionDefinitionRequest generates a "aws/request.Request" representing the
747// client's request for the CreateFunctionDefinition operation. The "output" return
748// value will be populated with the request's response once the request completes
749// successfully.
750//
751// Use "Send" method on the returned Request to send the API call to the service.
752// the "output" return value is not valid until after Send returns without error.
753//
754// See CreateFunctionDefinition for more information on using the CreateFunctionDefinition
755// API call, and error handling.
756//
757// This method is useful when you want to inject custom logic or configuration
758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
759//
760//
761//    // Example sending a request using the CreateFunctionDefinitionRequest method.
762//    req, resp := client.CreateFunctionDefinitionRequest(params)
763//
764//    err := req.Send()
765//    if err == nil { // resp is now filled
766//        fmt.Println(resp)
767//    }
768//
769// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinition
770func (c *Greengrass) CreateFunctionDefinitionRequest(input *CreateFunctionDefinitionInput) (req *request.Request, output *CreateFunctionDefinitionOutput) {
771	op := &request.Operation{
772		Name:       opCreateFunctionDefinition,
773		HTTPMethod: "POST",
774		HTTPPath:   "/greengrass/definition/functions",
775	}
776
777	if input == nil {
778		input = &CreateFunctionDefinitionInput{}
779	}
780
781	output = &CreateFunctionDefinitionOutput{}
782	req = c.newRequest(op, input, output)
783	return
784}
785
786// CreateFunctionDefinition API operation for AWS Greengrass.
787//
788// Creates a Lambda function definition which contains a list of Lambda functions
789// and their configurations to be used in a group. You can create an initial
790// version of the definition by providing a list of Lambda functions and their
791// configurations now, or use ''CreateFunctionDefinitionVersion'' later.
792//
793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
794// with awserr.Error's Code and Message methods to get detailed information about
795// the error.
796//
797// See the AWS API reference guide for AWS Greengrass's
798// API operation CreateFunctionDefinition for usage and error information.
799//
800// Returned Error Types:
801//   * BadRequestException
802//   General error information.
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinition
805func (c *Greengrass) CreateFunctionDefinition(input *CreateFunctionDefinitionInput) (*CreateFunctionDefinitionOutput, error) {
806	req, out := c.CreateFunctionDefinitionRequest(input)
807	return out, req.Send()
808}
809
810// CreateFunctionDefinitionWithContext is the same as CreateFunctionDefinition with the addition of
811// the ability to pass a context and additional request options.
812//
813// See CreateFunctionDefinition for details on how to use this API operation.
814//
815// The context must be non-nil and will be used for request cancellation. If
816// the context is nil a panic will occur. In the future the SDK may create
817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
818// for more information on using Contexts.
819func (c *Greengrass) CreateFunctionDefinitionWithContext(ctx aws.Context, input *CreateFunctionDefinitionInput, opts ...request.Option) (*CreateFunctionDefinitionOutput, error) {
820	req, out := c.CreateFunctionDefinitionRequest(input)
821	req.SetContext(ctx)
822	req.ApplyOptions(opts...)
823	return out, req.Send()
824}
825
826const opCreateFunctionDefinitionVersion = "CreateFunctionDefinitionVersion"
827
828// CreateFunctionDefinitionVersionRequest generates a "aws/request.Request" representing the
829// client's request for the CreateFunctionDefinitionVersion operation. The "output" return
830// value will be populated with the request's response once the request completes
831// successfully.
832//
833// Use "Send" method on the returned Request to send the API call to the service.
834// the "output" return value is not valid until after Send returns without error.
835//
836// See CreateFunctionDefinitionVersion for more information on using the CreateFunctionDefinitionVersion
837// API call, and error handling.
838//
839// This method is useful when you want to inject custom logic or configuration
840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
841//
842//
843//    // Example sending a request using the CreateFunctionDefinitionVersionRequest method.
844//    req, resp := client.CreateFunctionDefinitionVersionRequest(params)
845//
846//    err := req.Send()
847//    if err == nil { // resp is now filled
848//        fmt.Println(resp)
849//    }
850//
851// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinitionVersion
852func (c *Greengrass) CreateFunctionDefinitionVersionRequest(input *CreateFunctionDefinitionVersionInput) (req *request.Request, output *CreateFunctionDefinitionVersionOutput) {
853	op := &request.Operation{
854		Name:       opCreateFunctionDefinitionVersion,
855		HTTPMethod: "POST",
856		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}/versions",
857	}
858
859	if input == nil {
860		input = &CreateFunctionDefinitionVersionInput{}
861	}
862
863	output = &CreateFunctionDefinitionVersionOutput{}
864	req = c.newRequest(op, input, output)
865	return
866}
867
868// CreateFunctionDefinitionVersion API operation for AWS Greengrass.
869//
870// Creates a version of a Lambda function definition that has already been defined.
871//
872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
873// with awserr.Error's Code and Message methods to get detailed information about
874// the error.
875//
876// See the AWS API reference guide for AWS Greengrass's
877// API operation CreateFunctionDefinitionVersion for usage and error information.
878//
879// Returned Error Types:
880//   * BadRequestException
881//   General error information.
882//
883// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinitionVersion
884func (c *Greengrass) CreateFunctionDefinitionVersion(input *CreateFunctionDefinitionVersionInput) (*CreateFunctionDefinitionVersionOutput, error) {
885	req, out := c.CreateFunctionDefinitionVersionRequest(input)
886	return out, req.Send()
887}
888
889// CreateFunctionDefinitionVersionWithContext is the same as CreateFunctionDefinitionVersion with the addition of
890// the ability to pass a context and additional request options.
891//
892// See CreateFunctionDefinitionVersion for details on how to use this API operation.
893//
894// The context must be non-nil and will be used for request cancellation. If
895// the context is nil a panic will occur. In the future the SDK may create
896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
897// for more information on using Contexts.
898func (c *Greengrass) CreateFunctionDefinitionVersionWithContext(ctx aws.Context, input *CreateFunctionDefinitionVersionInput, opts ...request.Option) (*CreateFunctionDefinitionVersionOutput, error) {
899	req, out := c.CreateFunctionDefinitionVersionRequest(input)
900	req.SetContext(ctx)
901	req.ApplyOptions(opts...)
902	return out, req.Send()
903}
904
905const opCreateGroup = "CreateGroup"
906
907// CreateGroupRequest generates a "aws/request.Request" representing the
908// client's request for the CreateGroup operation. The "output" return
909// value will be populated with the request's response once the request completes
910// successfully.
911//
912// Use "Send" method on the returned Request to send the API call to the service.
913// the "output" return value is not valid until after Send returns without error.
914//
915// See CreateGroup for more information on using the CreateGroup
916// API call, and error handling.
917//
918// This method is useful when you want to inject custom logic or configuration
919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
920//
921//
922//    // Example sending a request using the CreateGroupRequest method.
923//    req, resp := client.CreateGroupRequest(params)
924//
925//    err := req.Send()
926//    if err == nil { // resp is now filled
927//        fmt.Println(resp)
928//    }
929//
930// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroup
931func (c *Greengrass) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
932	op := &request.Operation{
933		Name:       opCreateGroup,
934		HTTPMethod: "POST",
935		HTTPPath:   "/greengrass/groups",
936	}
937
938	if input == nil {
939		input = &CreateGroupInput{}
940	}
941
942	output = &CreateGroupOutput{}
943	req = c.newRequest(op, input, output)
944	return
945}
946
947// CreateGroup API operation for AWS Greengrass.
948//
949// Creates a group. You may provide the initial version of the group or use
950// ''CreateGroupVersion'' at a later time. Tip: You can use the ''gg_group_setup''
951// package (https://github.com/awslabs/aws-greengrass-group-setup) as a library
952// or command-line application to create and deploy Greengrass groups.
953//
954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
955// with awserr.Error's Code and Message methods to get detailed information about
956// the error.
957//
958// See the AWS API reference guide for AWS Greengrass's
959// API operation CreateGroup for usage and error information.
960//
961// Returned Error Types:
962//   * BadRequestException
963//   General error information.
964//
965// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroup
966func (c *Greengrass) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
967	req, out := c.CreateGroupRequest(input)
968	return out, req.Send()
969}
970
971// CreateGroupWithContext is the same as CreateGroup with the addition of
972// the ability to pass a context and additional request options.
973//
974// See CreateGroup for details on how to use this API operation.
975//
976// The context must be non-nil and will be used for request cancellation. If
977// the context is nil a panic will occur. In the future the SDK may create
978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
979// for more information on using Contexts.
980func (c *Greengrass) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) {
981	req, out := c.CreateGroupRequest(input)
982	req.SetContext(ctx)
983	req.ApplyOptions(opts...)
984	return out, req.Send()
985}
986
987const opCreateGroupCertificateAuthority = "CreateGroupCertificateAuthority"
988
989// CreateGroupCertificateAuthorityRequest generates a "aws/request.Request" representing the
990// client's request for the CreateGroupCertificateAuthority operation. The "output" return
991// value will be populated with the request's response once the request completes
992// successfully.
993//
994// Use "Send" method on the returned Request to send the API call to the service.
995// the "output" return value is not valid until after Send returns without error.
996//
997// See CreateGroupCertificateAuthority for more information on using the CreateGroupCertificateAuthority
998// API call, and error handling.
999//
1000// This method is useful when you want to inject custom logic or configuration
1001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1002//
1003//
1004//    // Example sending a request using the CreateGroupCertificateAuthorityRequest method.
1005//    req, resp := client.CreateGroupCertificateAuthorityRequest(params)
1006//
1007//    err := req.Send()
1008//    if err == nil { // resp is now filled
1009//        fmt.Println(resp)
1010//    }
1011//
1012// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupCertificateAuthority
1013func (c *Greengrass) CreateGroupCertificateAuthorityRequest(input *CreateGroupCertificateAuthorityInput) (req *request.Request, output *CreateGroupCertificateAuthorityOutput) {
1014	op := &request.Operation{
1015		Name:       opCreateGroupCertificateAuthority,
1016		HTTPMethod: "POST",
1017		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities",
1018	}
1019
1020	if input == nil {
1021		input = &CreateGroupCertificateAuthorityInput{}
1022	}
1023
1024	output = &CreateGroupCertificateAuthorityOutput{}
1025	req = c.newRequest(op, input, output)
1026	return
1027}
1028
1029// CreateGroupCertificateAuthority API operation for AWS Greengrass.
1030//
1031// Creates a CA for the group. If a CA already exists, it will rotate the existing
1032// CA.
1033//
1034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1035// with awserr.Error's Code and Message methods to get detailed information about
1036// the error.
1037//
1038// See the AWS API reference guide for AWS Greengrass's
1039// API operation CreateGroupCertificateAuthority for usage and error information.
1040//
1041// Returned Error Types:
1042//   * BadRequestException
1043//   General error information.
1044//
1045//   * InternalServerErrorException
1046//   General error information.
1047//
1048// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupCertificateAuthority
1049func (c *Greengrass) CreateGroupCertificateAuthority(input *CreateGroupCertificateAuthorityInput) (*CreateGroupCertificateAuthorityOutput, error) {
1050	req, out := c.CreateGroupCertificateAuthorityRequest(input)
1051	return out, req.Send()
1052}
1053
1054// CreateGroupCertificateAuthorityWithContext is the same as CreateGroupCertificateAuthority with the addition of
1055// the ability to pass a context and additional request options.
1056//
1057// See CreateGroupCertificateAuthority for details on how to use this API operation.
1058//
1059// The context must be non-nil and will be used for request cancellation. If
1060// the context is nil a panic will occur. In the future the SDK may create
1061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1062// for more information on using Contexts.
1063func (c *Greengrass) CreateGroupCertificateAuthorityWithContext(ctx aws.Context, input *CreateGroupCertificateAuthorityInput, opts ...request.Option) (*CreateGroupCertificateAuthorityOutput, error) {
1064	req, out := c.CreateGroupCertificateAuthorityRequest(input)
1065	req.SetContext(ctx)
1066	req.ApplyOptions(opts...)
1067	return out, req.Send()
1068}
1069
1070const opCreateGroupVersion = "CreateGroupVersion"
1071
1072// CreateGroupVersionRequest generates a "aws/request.Request" representing the
1073// client's request for the CreateGroupVersion operation. The "output" return
1074// value will be populated with the request's response once the request completes
1075// successfully.
1076//
1077// Use "Send" method on the returned Request to send the API call to the service.
1078// the "output" return value is not valid until after Send returns without error.
1079//
1080// See CreateGroupVersion for more information on using the CreateGroupVersion
1081// API call, and error handling.
1082//
1083// This method is useful when you want to inject custom logic or configuration
1084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1085//
1086//
1087//    // Example sending a request using the CreateGroupVersionRequest method.
1088//    req, resp := client.CreateGroupVersionRequest(params)
1089//
1090//    err := req.Send()
1091//    if err == nil { // resp is now filled
1092//        fmt.Println(resp)
1093//    }
1094//
1095// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupVersion
1096func (c *Greengrass) CreateGroupVersionRequest(input *CreateGroupVersionInput) (req *request.Request, output *CreateGroupVersionOutput) {
1097	op := &request.Operation{
1098		Name:       opCreateGroupVersion,
1099		HTTPMethod: "POST",
1100		HTTPPath:   "/greengrass/groups/{GroupId}/versions",
1101	}
1102
1103	if input == nil {
1104		input = &CreateGroupVersionInput{}
1105	}
1106
1107	output = &CreateGroupVersionOutput{}
1108	req = c.newRequest(op, input, output)
1109	return
1110}
1111
1112// CreateGroupVersion API operation for AWS Greengrass.
1113//
1114// Creates a version of a group which has already been defined.
1115//
1116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1117// with awserr.Error's Code and Message methods to get detailed information about
1118// the error.
1119//
1120// See the AWS API reference guide for AWS Greengrass's
1121// API operation CreateGroupVersion for usage and error information.
1122//
1123// Returned Error Types:
1124//   * BadRequestException
1125//   General error information.
1126//
1127// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupVersion
1128func (c *Greengrass) CreateGroupVersion(input *CreateGroupVersionInput) (*CreateGroupVersionOutput, error) {
1129	req, out := c.CreateGroupVersionRequest(input)
1130	return out, req.Send()
1131}
1132
1133// CreateGroupVersionWithContext is the same as CreateGroupVersion with the addition of
1134// the ability to pass a context and additional request options.
1135//
1136// See CreateGroupVersion for details on how to use this API operation.
1137//
1138// The context must be non-nil and will be used for request cancellation. If
1139// the context is nil a panic will occur. In the future the SDK may create
1140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1141// for more information on using Contexts.
1142func (c *Greengrass) CreateGroupVersionWithContext(ctx aws.Context, input *CreateGroupVersionInput, opts ...request.Option) (*CreateGroupVersionOutput, error) {
1143	req, out := c.CreateGroupVersionRequest(input)
1144	req.SetContext(ctx)
1145	req.ApplyOptions(opts...)
1146	return out, req.Send()
1147}
1148
1149const opCreateLoggerDefinition = "CreateLoggerDefinition"
1150
1151// CreateLoggerDefinitionRequest generates a "aws/request.Request" representing the
1152// client's request for the CreateLoggerDefinition operation. The "output" return
1153// value will be populated with the request's response once the request completes
1154// successfully.
1155//
1156// Use "Send" method on the returned Request to send the API call to the service.
1157// the "output" return value is not valid until after Send returns without error.
1158//
1159// See CreateLoggerDefinition for more information on using the CreateLoggerDefinition
1160// API call, and error handling.
1161//
1162// This method is useful when you want to inject custom logic or configuration
1163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1164//
1165//
1166//    // Example sending a request using the CreateLoggerDefinitionRequest method.
1167//    req, resp := client.CreateLoggerDefinitionRequest(params)
1168//
1169//    err := req.Send()
1170//    if err == nil { // resp is now filled
1171//        fmt.Println(resp)
1172//    }
1173//
1174// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinition
1175func (c *Greengrass) CreateLoggerDefinitionRequest(input *CreateLoggerDefinitionInput) (req *request.Request, output *CreateLoggerDefinitionOutput) {
1176	op := &request.Operation{
1177		Name:       opCreateLoggerDefinition,
1178		HTTPMethod: "POST",
1179		HTTPPath:   "/greengrass/definition/loggers",
1180	}
1181
1182	if input == nil {
1183		input = &CreateLoggerDefinitionInput{}
1184	}
1185
1186	output = &CreateLoggerDefinitionOutput{}
1187	req = c.newRequest(op, input, output)
1188	return
1189}
1190
1191// CreateLoggerDefinition API operation for AWS Greengrass.
1192//
1193// Creates a logger definition. You may provide the initial version of the logger
1194// definition now or use ''CreateLoggerDefinitionVersion'' at a later time.
1195//
1196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1197// with awserr.Error's Code and Message methods to get detailed information about
1198// the error.
1199//
1200// See the AWS API reference guide for AWS Greengrass's
1201// API operation CreateLoggerDefinition for usage and error information.
1202//
1203// Returned Error Types:
1204//   * BadRequestException
1205//   General error information.
1206//
1207// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinition
1208func (c *Greengrass) CreateLoggerDefinition(input *CreateLoggerDefinitionInput) (*CreateLoggerDefinitionOutput, error) {
1209	req, out := c.CreateLoggerDefinitionRequest(input)
1210	return out, req.Send()
1211}
1212
1213// CreateLoggerDefinitionWithContext is the same as CreateLoggerDefinition with the addition of
1214// the ability to pass a context and additional request options.
1215//
1216// See CreateLoggerDefinition for details on how to use this API operation.
1217//
1218// The context must be non-nil and will be used for request cancellation. If
1219// the context is nil a panic will occur. In the future the SDK may create
1220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1221// for more information on using Contexts.
1222func (c *Greengrass) CreateLoggerDefinitionWithContext(ctx aws.Context, input *CreateLoggerDefinitionInput, opts ...request.Option) (*CreateLoggerDefinitionOutput, error) {
1223	req, out := c.CreateLoggerDefinitionRequest(input)
1224	req.SetContext(ctx)
1225	req.ApplyOptions(opts...)
1226	return out, req.Send()
1227}
1228
1229const opCreateLoggerDefinitionVersion = "CreateLoggerDefinitionVersion"
1230
1231// CreateLoggerDefinitionVersionRequest generates a "aws/request.Request" representing the
1232// client's request for the CreateLoggerDefinitionVersion operation. The "output" return
1233// value will be populated with the request's response once the request completes
1234// successfully.
1235//
1236// Use "Send" method on the returned Request to send the API call to the service.
1237// the "output" return value is not valid until after Send returns without error.
1238//
1239// See CreateLoggerDefinitionVersion for more information on using the CreateLoggerDefinitionVersion
1240// API call, and error handling.
1241//
1242// This method is useful when you want to inject custom logic or configuration
1243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1244//
1245//
1246//    // Example sending a request using the CreateLoggerDefinitionVersionRequest method.
1247//    req, resp := client.CreateLoggerDefinitionVersionRequest(params)
1248//
1249//    err := req.Send()
1250//    if err == nil { // resp is now filled
1251//        fmt.Println(resp)
1252//    }
1253//
1254// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinitionVersion
1255func (c *Greengrass) CreateLoggerDefinitionVersionRequest(input *CreateLoggerDefinitionVersionInput) (req *request.Request, output *CreateLoggerDefinitionVersionOutput) {
1256	op := &request.Operation{
1257		Name:       opCreateLoggerDefinitionVersion,
1258		HTTPMethod: "POST",
1259		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}/versions",
1260	}
1261
1262	if input == nil {
1263		input = &CreateLoggerDefinitionVersionInput{}
1264	}
1265
1266	output = &CreateLoggerDefinitionVersionOutput{}
1267	req = c.newRequest(op, input, output)
1268	return
1269}
1270
1271// CreateLoggerDefinitionVersion API operation for AWS Greengrass.
1272//
1273// Creates a version of a logger definition that has already been defined.
1274//
1275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1276// with awserr.Error's Code and Message methods to get detailed information about
1277// the error.
1278//
1279// See the AWS API reference guide for AWS Greengrass's
1280// API operation CreateLoggerDefinitionVersion for usage and error information.
1281//
1282// Returned Error Types:
1283//   * BadRequestException
1284//   General error information.
1285//
1286// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinitionVersion
1287func (c *Greengrass) CreateLoggerDefinitionVersion(input *CreateLoggerDefinitionVersionInput) (*CreateLoggerDefinitionVersionOutput, error) {
1288	req, out := c.CreateLoggerDefinitionVersionRequest(input)
1289	return out, req.Send()
1290}
1291
1292// CreateLoggerDefinitionVersionWithContext is the same as CreateLoggerDefinitionVersion with the addition of
1293// the ability to pass a context and additional request options.
1294//
1295// See CreateLoggerDefinitionVersion for details on how to use this API operation.
1296//
1297// The context must be non-nil and will be used for request cancellation. If
1298// the context is nil a panic will occur. In the future the SDK may create
1299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1300// for more information on using Contexts.
1301func (c *Greengrass) CreateLoggerDefinitionVersionWithContext(ctx aws.Context, input *CreateLoggerDefinitionVersionInput, opts ...request.Option) (*CreateLoggerDefinitionVersionOutput, error) {
1302	req, out := c.CreateLoggerDefinitionVersionRequest(input)
1303	req.SetContext(ctx)
1304	req.ApplyOptions(opts...)
1305	return out, req.Send()
1306}
1307
1308const opCreateResourceDefinition = "CreateResourceDefinition"
1309
1310// CreateResourceDefinitionRequest generates a "aws/request.Request" representing the
1311// client's request for the CreateResourceDefinition operation. The "output" return
1312// value will be populated with the request's response once the request completes
1313// successfully.
1314//
1315// Use "Send" method on the returned Request to send the API call to the service.
1316// the "output" return value is not valid until after Send returns without error.
1317//
1318// See CreateResourceDefinition for more information on using the CreateResourceDefinition
1319// API call, and error handling.
1320//
1321// This method is useful when you want to inject custom logic or configuration
1322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1323//
1324//
1325//    // Example sending a request using the CreateResourceDefinitionRequest method.
1326//    req, resp := client.CreateResourceDefinitionRequest(params)
1327//
1328//    err := req.Send()
1329//    if err == nil { // resp is now filled
1330//        fmt.Println(resp)
1331//    }
1332//
1333// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinition
1334func (c *Greengrass) CreateResourceDefinitionRequest(input *CreateResourceDefinitionInput) (req *request.Request, output *CreateResourceDefinitionOutput) {
1335	op := &request.Operation{
1336		Name:       opCreateResourceDefinition,
1337		HTTPMethod: "POST",
1338		HTTPPath:   "/greengrass/definition/resources",
1339	}
1340
1341	if input == nil {
1342		input = &CreateResourceDefinitionInput{}
1343	}
1344
1345	output = &CreateResourceDefinitionOutput{}
1346	req = c.newRequest(op, input, output)
1347	return
1348}
1349
1350// CreateResourceDefinition API operation for AWS Greengrass.
1351//
1352// Creates a resource definition which contains a list of resources to be used
1353// in a group. You can create an initial version of the definition by providing
1354// a list of resources now, or use ''CreateResourceDefinitionVersion'' later.
1355//
1356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1357// with awserr.Error's Code and Message methods to get detailed information about
1358// the error.
1359//
1360// See the AWS API reference guide for AWS Greengrass's
1361// API operation CreateResourceDefinition for usage and error information.
1362//
1363// Returned Error Types:
1364//   * BadRequestException
1365//   General error information.
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinition
1368func (c *Greengrass) CreateResourceDefinition(input *CreateResourceDefinitionInput) (*CreateResourceDefinitionOutput, error) {
1369	req, out := c.CreateResourceDefinitionRequest(input)
1370	return out, req.Send()
1371}
1372
1373// CreateResourceDefinitionWithContext is the same as CreateResourceDefinition with the addition of
1374// the ability to pass a context and additional request options.
1375//
1376// See CreateResourceDefinition for details on how to use this API operation.
1377//
1378// The context must be non-nil and will be used for request cancellation. If
1379// the context is nil a panic will occur. In the future the SDK may create
1380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1381// for more information on using Contexts.
1382func (c *Greengrass) CreateResourceDefinitionWithContext(ctx aws.Context, input *CreateResourceDefinitionInput, opts ...request.Option) (*CreateResourceDefinitionOutput, error) {
1383	req, out := c.CreateResourceDefinitionRequest(input)
1384	req.SetContext(ctx)
1385	req.ApplyOptions(opts...)
1386	return out, req.Send()
1387}
1388
1389const opCreateResourceDefinitionVersion = "CreateResourceDefinitionVersion"
1390
1391// CreateResourceDefinitionVersionRequest generates a "aws/request.Request" representing the
1392// client's request for the CreateResourceDefinitionVersion operation. The "output" return
1393// value will be populated with the request's response once the request completes
1394// successfully.
1395//
1396// Use "Send" method on the returned Request to send the API call to the service.
1397// the "output" return value is not valid until after Send returns without error.
1398//
1399// See CreateResourceDefinitionVersion for more information on using the CreateResourceDefinitionVersion
1400// API call, and error handling.
1401//
1402// This method is useful when you want to inject custom logic or configuration
1403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1404//
1405//
1406//    // Example sending a request using the CreateResourceDefinitionVersionRequest method.
1407//    req, resp := client.CreateResourceDefinitionVersionRequest(params)
1408//
1409//    err := req.Send()
1410//    if err == nil { // resp is now filled
1411//        fmt.Println(resp)
1412//    }
1413//
1414// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinitionVersion
1415func (c *Greengrass) CreateResourceDefinitionVersionRequest(input *CreateResourceDefinitionVersionInput) (req *request.Request, output *CreateResourceDefinitionVersionOutput) {
1416	op := &request.Operation{
1417		Name:       opCreateResourceDefinitionVersion,
1418		HTTPMethod: "POST",
1419		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}/versions",
1420	}
1421
1422	if input == nil {
1423		input = &CreateResourceDefinitionVersionInput{}
1424	}
1425
1426	output = &CreateResourceDefinitionVersionOutput{}
1427	req = c.newRequest(op, input, output)
1428	return
1429}
1430
1431// CreateResourceDefinitionVersion API operation for AWS Greengrass.
1432//
1433// Creates a version of a resource definition that has already been defined.
1434//
1435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1436// with awserr.Error's Code and Message methods to get detailed information about
1437// the error.
1438//
1439// See the AWS API reference guide for AWS Greengrass's
1440// API operation CreateResourceDefinitionVersion for usage and error information.
1441//
1442// Returned Error Types:
1443//   * BadRequestException
1444//   General error information.
1445//
1446// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinitionVersion
1447func (c *Greengrass) CreateResourceDefinitionVersion(input *CreateResourceDefinitionVersionInput) (*CreateResourceDefinitionVersionOutput, error) {
1448	req, out := c.CreateResourceDefinitionVersionRequest(input)
1449	return out, req.Send()
1450}
1451
1452// CreateResourceDefinitionVersionWithContext is the same as CreateResourceDefinitionVersion with the addition of
1453// the ability to pass a context and additional request options.
1454//
1455// See CreateResourceDefinitionVersion for details on how to use this API operation.
1456//
1457// The context must be non-nil and will be used for request cancellation. If
1458// the context is nil a panic will occur. In the future the SDK may create
1459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1460// for more information on using Contexts.
1461func (c *Greengrass) CreateResourceDefinitionVersionWithContext(ctx aws.Context, input *CreateResourceDefinitionVersionInput, opts ...request.Option) (*CreateResourceDefinitionVersionOutput, error) {
1462	req, out := c.CreateResourceDefinitionVersionRequest(input)
1463	req.SetContext(ctx)
1464	req.ApplyOptions(opts...)
1465	return out, req.Send()
1466}
1467
1468const opCreateSoftwareUpdateJob = "CreateSoftwareUpdateJob"
1469
1470// CreateSoftwareUpdateJobRequest generates a "aws/request.Request" representing the
1471// client's request for the CreateSoftwareUpdateJob operation. The "output" return
1472// value will be populated with the request's response once the request completes
1473// successfully.
1474//
1475// Use "Send" method on the returned Request to send the API call to the service.
1476// the "output" return value is not valid until after Send returns without error.
1477//
1478// See CreateSoftwareUpdateJob for more information on using the CreateSoftwareUpdateJob
1479// API call, and error handling.
1480//
1481// This method is useful when you want to inject custom logic or configuration
1482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1483//
1484//
1485//    // Example sending a request using the CreateSoftwareUpdateJobRequest method.
1486//    req, resp := client.CreateSoftwareUpdateJobRequest(params)
1487//
1488//    err := req.Send()
1489//    if err == nil { // resp is now filled
1490//        fmt.Println(resp)
1491//    }
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSoftwareUpdateJob
1494func (c *Greengrass) CreateSoftwareUpdateJobRequest(input *CreateSoftwareUpdateJobInput) (req *request.Request, output *CreateSoftwareUpdateJobOutput) {
1495	op := &request.Operation{
1496		Name:       opCreateSoftwareUpdateJob,
1497		HTTPMethod: "POST",
1498		HTTPPath:   "/greengrass/updates",
1499	}
1500
1501	if input == nil {
1502		input = &CreateSoftwareUpdateJobInput{}
1503	}
1504
1505	output = &CreateSoftwareUpdateJobOutput{}
1506	req = c.newRequest(op, input, output)
1507	return
1508}
1509
1510// CreateSoftwareUpdateJob API operation for AWS Greengrass.
1511//
1512// Creates a software update for a core or group of cores (specified as an IoT
1513// thing group.) Use this to update the OTA Agent as well as the Greengrass
1514// core software. It makes use of the IoT Jobs feature which provides additional
1515// commands to manage a Greengrass core software update job.
1516//
1517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1518// with awserr.Error's Code and Message methods to get detailed information about
1519// the error.
1520//
1521// See the AWS API reference guide for AWS Greengrass's
1522// API operation CreateSoftwareUpdateJob for usage and error information.
1523//
1524// Returned Error Types:
1525//   * BadRequestException
1526//   General error information.
1527//
1528//   * InternalServerErrorException
1529//   General error information.
1530//
1531// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSoftwareUpdateJob
1532func (c *Greengrass) CreateSoftwareUpdateJob(input *CreateSoftwareUpdateJobInput) (*CreateSoftwareUpdateJobOutput, error) {
1533	req, out := c.CreateSoftwareUpdateJobRequest(input)
1534	return out, req.Send()
1535}
1536
1537// CreateSoftwareUpdateJobWithContext is the same as CreateSoftwareUpdateJob with the addition of
1538// the ability to pass a context and additional request options.
1539//
1540// See CreateSoftwareUpdateJob for details on how to use this API operation.
1541//
1542// The context must be non-nil and will be used for request cancellation. If
1543// the context is nil a panic will occur. In the future the SDK may create
1544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1545// for more information on using Contexts.
1546func (c *Greengrass) CreateSoftwareUpdateJobWithContext(ctx aws.Context, input *CreateSoftwareUpdateJobInput, opts ...request.Option) (*CreateSoftwareUpdateJobOutput, error) {
1547	req, out := c.CreateSoftwareUpdateJobRequest(input)
1548	req.SetContext(ctx)
1549	req.ApplyOptions(opts...)
1550	return out, req.Send()
1551}
1552
1553const opCreateSubscriptionDefinition = "CreateSubscriptionDefinition"
1554
1555// CreateSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
1556// client's request for the CreateSubscriptionDefinition operation. The "output" return
1557// value will be populated with the request's response once the request completes
1558// successfully.
1559//
1560// Use "Send" method on the returned Request to send the API call to the service.
1561// the "output" return value is not valid until after Send returns without error.
1562//
1563// See CreateSubscriptionDefinition for more information on using the CreateSubscriptionDefinition
1564// API call, and error handling.
1565//
1566// This method is useful when you want to inject custom logic or configuration
1567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1568//
1569//
1570//    // Example sending a request using the CreateSubscriptionDefinitionRequest method.
1571//    req, resp := client.CreateSubscriptionDefinitionRequest(params)
1572//
1573//    err := req.Send()
1574//    if err == nil { // resp is now filled
1575//        fmt.Println(resp)
1576//    }
1577//
1578// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinition
1579func (c *Greengrass) CreateSubscriptionDefinitionRequest(input *CreateSubscriptionDefinitionInput) (req *request.Request, output *CreateSubscriptionDefinitionOutput) {
1580	op := &request.Operation{
1581		Name:       opCreateSubscriptionDefinition,
1582		HTTPMethod: "POST",
1583		HTTPPath:   "/greengrass/definition/subscriptions",
1584	}
1585
1586	if input == nil {
1587		input = &CreateSubscriptionDefinitionInput{}
1588	}
1589
1590	output = &CreateSubscriptionDefinitionOutput{}
1591	req = c.newRequest(op, input, output)
1592	return
1593}
1594
1595// CreateSubscriptionDefinition API operation for AWS Greengrass.
1596//
1597// Creates a subscription definition. You may provide the initial version of
1598// the subscription definition now or use ''CreateSubscriptionDefinitionVersion''
1599// at a later time.
1600//
1601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1602// with awserr.Error's Code and Message methods to get detailed information about
1603// the error.
1604//
1605// See the AWS API reference guide for AWS Greengrass's
1606// API operation CreateSubscriptionDefinition for usage and error information.
1607//
1608// Returned Error Types:
1609//   * BadRequestException
1610//   General error information.
1611//
1612// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinition
1613func (c *Greengrass) CreateSubscriptionDefinition(input *CreateSubscriptionDefinitionInput) (*CreateSubscriptionDefinitionOutput, error) {
1614	req, out := c.CreateSubscriptionDefinitionRequest(input)
1615	return out, req.Send()
1616}
1617
1618// CreateSubscriptionDefinitionWithContext is the same as CreateSubscriptionDefinition with the addition of
1619// the ability to pass a context and additional request options.
1620//
1621// See CreateSubscriptionDefinition for details on how to use this API operation.
1622//
1623// The context must be non-nil and will be used for request cancellation. If
1624// the context is nil a panic will occur. In the future the SDK may create
1625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1626// for more information on using Contexts.
1627func (c *Greengrass) CreateSubscriptionDefinitionWithContext(ctx aws.Context, input *CreateSubscriptionDefinitionInput, opts ...request.Option) (*CreateSubscriptionDefinitionOutput, error) {
1628	req, out := c.CreateSubscriptionDefinitionRequest(input)
1629	req.SetContext(ctx)
1630	req.ApplyOptions(opts...)
1631	return out, req.Send()
1632}
1633
1634const opCreateSubscriptionDefinitionVersion = "CreateSubscriptionDefinitionVersion"
1635
1636// CreateSubscriptionDefinitionVersionRequest generates a "aws/request.Request" representing the
1637// client's request for the CreateSubscriptionDefinitionVersion operation. The "output" return
1638// value will be populated with the request's response once the request completes
1639// successfully.
1640//
1641// Use "Send" method on the returned Request to send the API call to the service.
1642// the "output" return value is not valid until after Send returns without error.
1643//
1644// See CreateSubscriptionDefinitionVersion for more information on using the CreateSubscriptionDefinitionVersion
1645// API call, and error handling.
1646//
1647// This method is useful when you want to inject custom logic or configuration
1648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1649//
1650//
1651//    // Example sending a request using the CreateSubscriptionDefinitionVersionRequest method.
1652//    req, resp := client.CreateSubscriptionDefinitionVersionRequest(params)
1653//
1654//    err := req.Send()
1655//    if err == nil { // resp is now filled
1656//        fmt.Println(resp)
1657//    }
1658//
1659// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinitionVersion
1660func (c *Greengrass) CreateSubscriptionDefinitionVersionRequest(input *CreateSubscriptionDefinitionVersionInput) (req *request.Request, output *CreateSubscriptionDefinitionVersionOutput) {
1661	op := &request.Operation{
1662		Name:       opCreateSubscriptionDefinitionVersion,
1663		HTTPMethod: "POST",
1664		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions",
1665	}
1666
1667	if input == nil {
1668		input = &CreateSubscriptionDefinitionVersionInput{}
1669	}
1670
1671	output = &CreateSubscriptionDefinitionVersionOutput{}
1672	req = c.newRequest(op, input, output)
1673	return
1674}
1675
1676// CreateSubscriptionDefinitionVersion API operation for AWS Greengrass.
1677//
1678// Creates a version of a subscription definition which has already been defined.
1679//
1680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1681// with awserr.Error's Code and Message methods to get detailed information about
1682// the error.
1683//
1684// See the AWS API reference guide for AWS Greengrass's
1685// API operation CreateSubscriptionDefinitionVersion for usage and error information.
1686//
1687// Returned Error Types:
1688//   * BadRequestException
1689//   General error information.
1690//
1691// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinitionVersion
1692func (c *Greengrass) CreateSubscriptionDefinitionVersion(input *CreateSubscriptionDefinitionVersionInput) (*CreateSubscriptionDefinitionVersionOutput, error) {
1693	req, out := c.CreateSubscriptionDefinitionVersionRequest(input)
1694	return out, req.Send()
1695}
1696
1697// CreateSubscriptionDefinitionVersionWithContext is the same as CreateSubscriptionDefinitionVersion with the addition of
1698// the ability to pass a context and additional request options.
1699//
1700// See CreateSubscriptionDefinitionVersion for details on how to use this API operation.
1701//
1702// The context must be non-nil and will be used for request cancellation. If
1703// the context is nil a panic will occur. In the future the SDK may create
1704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1705// for more information on using Contexts.
1706func (c *Greengrass) CreateSubscriptionDefinitionVersionWithContext(ctx aws.Context, input *CreateSubscriptionDefinitionVersionInput, opts ...request.Option) (*CreateSubscriptionDefinitionVersionOutput, error) {
1707	req, out := c.CreateSubscriptionDefinitionVersionRequest(input)
1708	req.SetContext(ctx)
1709	req.ApplyOptions(opts...)
1710	return out, req.Send()
1711}
1712
1713const opDeleteConnectorDefinition = "DeleteConnectorDefinition"
1714
1715// DeleteConnectorDefinitionRequest generates a "aws/request.Request" representing the
1716// client's request for the DeleteConnectorDefinition operation. The "output" return
1717// value will be populated with the request's response once the request completes
1718// successfully.
1719//
1720// Use "Send" method on the returned Request to send the API call to the service.
1721// the "output" return value is not valid until after Send returns without error.
1722//
1723// See DeleteConnectorDefinition for more information on using the DeleteConnectorDefinition
1724// API call, and error handling.
1725//
1726// This method is useful when you want to inject custom logic or configuration
1727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1728//
1729//
1730//    // Example sending a request using the DeleteConnectorDefinitionRequest method.
1731//    req, resp := client.DeleteConnectorDefinitionRequest(params)
1732//
1733//    err := req.Send()
1734//    if err == nil { // resp is now filled
1735//        fmt.Println(resp)
1736//    }
1737//
1738// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteConnectorDefinition
1739func (c *Greengrass) DeleteConnectorDefinitionRequest(input *DeleteConnectorDefinitionInput) (req *request.Request, output *DeleteConnectorDefinitionOutput) {
1740	op := &request.Operation{
1741		Name:       opDeleteConnectorDefinition,
1742		HTTPMethod: "DELETE",
1743		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}",
1744	}
1745
1746	if input == nil {
1747		input = &DeleteConnectorDefinitionInput{}
1748	}
1749
1750	output = &DeleteConnectorDefinitionOutput{}
1751	req = c.newRequest(op, input, output)
1752	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1753	return
1754}
1755
1756// DeleteConnectorDefinition API operation for AWS Greengrass.
1757//
1758// Deletes a connector definition.
1759//
1760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1761// with awserr.Error's Code and Message methods to get detailed information about
1762// the error.
1763//
1764// See the AWS API reference guide for AWS Greengrass's
1765// API operation DeleteConnectorDefinition for usage and error information.
1766//
1767// Returned Error Types:
1768//   * BadRequestException
1769//   General error information.
1770//
1771// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteConnectorDefinition
1772func (c *Greengrass) DeleteConnectorDefinition(input *DeleteConnectorDefinitionInput) (*DeleteConnectorDefinitionOutput, error) {
1773	req, out := c.DeleteConnectorDefinitionRequest(input)
1774	return out, req.Send()
1775}
1776
1777// DeleteConnectorDefinitionWithContext is the same as DeleteConnectorDefinition with the addition of
1778// the ability to pass a context and additional request options.
1779//
1780// See DeleteConnectorDefinition for details on how to use this API operation.
1781//
1782// The context must be non-nil and will be used for request cancellation. If
1783// the context is nil a panic will occur. In the future the SDK may create
1784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1785// for more information on using Contexts.
1786func (c *Greengrass) DeleteConnectorDefinitionWithContext(ctx aws.Context, input *DeleteConnectorDefinitionInput, opts ...request.Option) (*DeleteConnectorDefinitionOutput, error) {
1787	req, out := c.DeleteConnectorDefinitionRequest(input)
1788	req.SetContext(ctx)
1789	req.ApplyOptions(opts...)
1790	return out, req.Send()
1791}
1792
1793const opDeleteCoreDefinition = "DeleteCoreDefinition"
1794
1795// DeleteCoreDefinitionRequest generates a "aws/request.Request" representing the
1796// client's request for the DeleteCoreDefinition operation. The "output" return
1797// value will be populated with the request's response once the request completes
1798// successfully.
1799//
1800// Use "Send" method on the returned Request to send the API call to the service.
1801// the "output" return value is not valid until after Send returns without error.
1802//
1803// See DeleteCoreDefinition for more information on using the DeleteCoreDefinition
1804// API call, and error handling.
1805//
1806// This method is useful when you want to inject custom logic or configuration
1807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1808//
1809//
1810//    // Example sending a request using the DeleteCoreDefinitionRequest method.
1811//    req, resp := client.DeleteCoreDefinitionRequest(params)
1812//
1813//    err := req.Send()
1814//    if err == nil { // resp is now filled
1815//        fmt.Println(resp)
1816//    }
1817//
1818// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteCoreDefinition
1819func (c *Greengrass) DeleteCoreDefinitionRequest(input *DeleteCoreDefinitionInput) (req *request.Request, output *DeleteCoreDefinitionOutput) {
1820	op := &request.Operation{
1821		Name:       opDeleteCoreDefinition,
1822		HTTPMethod: "DELETE",
1823		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}",
1824	}
1825
1826	if input == nil {
1827		input = &DeleteCoreDefinitionInput{}
1828	}
1829
1830	output = &DeleteCoreDefinitionOutput{}
1831	req = c.newRequest(op, input, output)
1832	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1833	return
1834}
1835
1836// DeleteCoreDefinition API operation for AWS Greengrass.
1837//
1838// Deletes a core definition.
1839//
1840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1841// with awserr.Error's Code and Message methods to get detailed information about
1842// the error.
1843//
1844// See the AWS API reference guide for AWS Greengrass's
1845// API operation DeleteCoreDefinition for usage and error information.
1846//
1847// Returned Error Types:
1848//   * BadRequestException
1849//   General error information.
1850//
1851// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteCoreDefinition
1852func (c *Greengrass) DeleteCoreDefinition(input *DeleteCoreDefinitionInput) (*DeleteCoreDefinitionOutput, error) {
1853	req, out := c.DeleteCoreDefinitionRequest(input)
1854	return out, req.Send()
1855}
1856
1857// DeleteCoreDefinitionWithContext is the same as DeleteCoreDefinition with the addition of
1858// the ability to pass a context and additional request options.
1859//
1860// See DeleteCoreDefinition for details on how to use this API operation.
1861//
1862// The context must be non-nil and will be used for request cancellation. If
1863// the context is nil a panic will occur. In the future the SDK may create
1864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1865// for more information on using Contexts.
1866func (c *Greengrass) DeleteCoreDefinitionWithContext(ctx aws.Context, input *DeleteCoreDefinitionInput, opts ...request.Option) (*DeleteCoreDefinitionOutput, error) {
1867	req, out := c.DeleteCoreDefinitionRequest(input)
1868	req.SetContext(ctx)
1869	req.ApplyOptions(opts...)
1870	return out, req.Send()
1871}
1872
1873const opDeleteDeviceDefinition = "DeleteDeviceDefinition"
1874
1875// DeleteDeviceDefinitionRequest generates a "aws/request.Request" representing the
1876// client's request for the DeleteDeviceDefinition operation. The "output" return
1877// value will be populated with the request's response once the request completes
1878// successfully.
1879//
1880// Use "Send" method on the returned Request to send the API call to the service.
1881// the "output" return value is not valid until after Send returns without error.
1882//
1883// See DeleteDeviceDefinition for more information on using the DeleteDeviceDefinition
1884// API call, and error handling.
1885//
1886// This method is useful when you want to inject custom logic or configuration
1887// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1888//
1889//
1890//    // Example sending a request using the DeleteDeviceDefinitionRequest method.
1891//    req, resp := client.DeleteDeviceDefinitionRequest(params)
1892//
1893//    err := req.Send()
1894//    if err == nil { // resp is now filled
1895//        fmt.Println(resp)
1896//    }
1897//
1898// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteDeviceDefinition
1899func (c *Greengrass) DeleteDeviceDefinitionRequest(input *DeleteDeviceDefinitionInput) (req *request.Request, output *DeleteDeviceDefinitionOutput) {
1900	op := &request.Operation{
1901		Name:       opDeleteDeviceDefinition,
1902		HTTPMethod: "DELETE",
1903		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}",
1904	}
1905
1906	if input == nil {
1907		input = &DeleteDeviceDefinitionInput{}
1908	}
1909
1910	output = &DeleteDeviceDefinitionOutput{}
1911	req = c.newRequest(op, input, output)
1912	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1913	return
1914}
1915
1916// DeleteDeviceDefinition API operation for AWS Greengrass.
1917//
1918// Deletes a device definition.
1919//
1920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1921// with awserr.Error's Code and Message methods to get detailed information about
1922// the error.
1923//
1924// See the AWS API reference guide for AWS Greengrass's
1925// API operation DeleteDeviceDefinition for usage and error information.
1926//
1927// Returned Error Types:
1928//   * BadRequestException
1929//   General error information.
1930//
1931// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteDeviceDefinition
1932func (c *Greengrass) DeleteDeviceDefinition(input *DeleteDeviceDefinitionInput) (*DeleteDeviceDefinitionOutput, error) {
1933	req, out := c.DeleteDeviceDefinitionRequest(input)
1934	return out, req.Send()
1935}
1936
1937// DeleteDeviceDefinitionWithContext is the same as DeleteDeviceDefinition with the addition of
1938// the ability to pass a context and additional request options.
1939//
1940// See DeleteDeviceDefinition for details on how to use this API operation.
1941//
1942// The context must be non-nil and will be used for request cancellation. If
1943// the context is nil a panic will occur. In the future the SDK may create
1944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1945// for more information on using Contexts.
1946func (c *Greengrass) DeleteDeviceDefinitionWithContext(ctx aws.Context, input *DeleteDeviceDefinitionInput, opts ...request.Option) (*DeleteDeviceDefinitionOutput, error) {
1947	req, out := c.DeleteDeviceDefinitionRequest(input)
1948	req.SetContext(ctx)
1949	req.ApplyOptions(opts...)
1950	return out, req.Send()
1951}
1952
1953const opDeleteFunctionDefinition = "DeleteFunctionDefinition"
1954
1955// DeleteFunctionDefinitionRequest generates a "aws/request.Request" representing the
1956// client's request for the DeleteFunctionDefinition operation. The "output" return
1957// value will be populated with the request's response once the request completes
1958// successfully.
1959//
1960// Use "Send" method on the returned Request to send the API call to the service.
1961// the "output" return value is not valid until after Send returns without error.
1962//
1963// See DeleteFunctionDefinition for more information on using the DeleteFunctionDefinition
1964// API call, and error handling.
1965//
1966// This method is useful when you want to inject custom logic or configuration
1967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1968//
1969//
1970//    // Example sending a request using the DeleteFunctionDefinitionRequest method.
1971//    req, resp := client.DeleteFunctionDefinitionRequest(params)
1972//
1973//    err := req.Send()
1974//    if err == nil { // resp is now filled
1975//        fmt.Println(resp)
1976//    }
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteFunctionDefinition
1979func (c *Greengrass) DeleteFunctionDefinitionRequest(input *DeleteFunctionDefinitionInput) (req *request.Request, output *DeleteFunctionDefinitionOutput) {
1980	op := &request.Operation{
1981		Name:       opDeleteFunctionDefinition,
1982		HTTPMethod: "DELETE",
1983		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}",
1984	}
1985
1986	if input == nil {
1987		input = &DeleteFunctionDefinitionInput{}
1988	}
1989
1990	output = &DeleteFunctionDefinitionOutput{}
1991	req = c.newRequest(op, input, output)
1992	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1993	return
1994}
1995
1996// DeleteFunctionDefinition API operation for AWS Greengrass.
1997//
1998// Deletes a Lambda function definition.
1999//
2000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2001// with awserr.Error's Code and Message methods to get detailed information about
2002// the error.
2003//
2004// See the AWS API reference guide for AWS Greengrass's
2005// API operation DeleteFunctionDefinition for usage and error information.
2006//
2007// Returned Error Types:
2008//   * BadRequestException
2009//   General error information.
2010//
2011// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteFunctionDefinition
2012func (c *Greengrass) DeleteFunctionDefinition(input *DeleteFunctionDefinitionInput) (*DeleteFunctionDefinitionOutput, error) {
2013	req, out := c.DeleteFunctionDefinitionRequest(input)
2014	return out, req.Send()
2015}
2016
2017// DeleteFunctionDefinitionWithContext is the same as DeleteFunctionDefinition with the addition of
2018// the ability to pass a context and additional request options.
2019//
2020// See DeleteFunctionDefinition for details on how to use this API operation.
2021//
2022// The context must be non-nil and will be used for request cancellation. If
2023// the context is nil a panic will occur. In the future the SDK may create
2024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2025// for more information on using Contexts.
2026func (c *Greengrass) DeleteFunctionDefinitionWithContext(ctx aws.Context, input *DeleteFunctionDefinitionInput, opts ...request.Option) (*DeleteFunctionDefinitionOutput, error) {
2027	req, out := c.DeleteFunctionDefinitionRequest(input)
2028	req.SetContext(ctx)
2029	req.ApplyOptions(opts...)
2030	return out, req.Send()
2031}
2032
2033const opDeleteGroup = "DeleteGroup"
2034
2035// DeleteGroupRequest generates a "aws/request.Request" representing the
2036// client's request for the DeleteGroup operation. The "output" return
2037// value will be populated with the request's response once the request completes
2038// successfully.
2039//
2040// Use "Send" method on the returned Request to send the API call to the service.
2041// the "output" return value is not valid until after Send returns without error.
2042//
2043// See DeleteGroup for more information on using the DeleteGroup
2044// API call, and error handling.
2045//
2046// This method is useful when you want to inject custom logic or configuration
2047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2048//
2049//
2050//    // Example sending a request using the DeleteGroupRequest method.
2051//    req, resp := client.DeleteGroupRequest(params)
2052//
2053//    err := req.Send()
2054//    if err == nil { // resp is now filled
2055//        fmt.Println(resp)
2056//    }
2057//
2058// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteGroup
2059func (c *Greengrass) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
2060	op := &request.Operation{
2061		Name:       opDeleteGroup,
2062		HTTPMethod: "DELETE",
2063		HTTPPath:   "/greengrass/groups/{GroupId}",
2064	}
2065
2066	if input == nil {
2067		input = &DeleteGroupInput{}
2068	}
2069
2070	output = &DeleteGroupOutput{}
2071	req = c.newRequest(op, input, output)
2072	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2073	return
2074}
2075
2076// DeleteGroup API operation for AWS Greengrass.
2077//
2078// Deletes a group.
2079//
2080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2081// with awserr.Error's Code and Message methods to get detailed information about
2082// the error.
2083//
2084// See the AWS API reference guide for AWS Greengrass's
2085// API operation DeleteGroup for usage and error information.
2086//
2087// Returned Error Types:
2088//   * BadRequestException
2089//   General error information.
2090//
2091// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteGroup
2092func (c *Greengrass) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
2093	req, out := c.DeleteGroupRequest(input)
2094	return out, req.Send()
2095}
2096
2097// DeleteGroupWithContext is the same as DeleteGroup with the addition of
2098// the ability to pass a context and additional request options.
2099//
2100// See DeleteGroup for details on how to use this API operation.
2101//
2102// The context must be non-nil and will be used for request cancellation. If
2103// the context is nil a panic will occur. In the future the SDK may create
2104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2105// for more information on using Contexts.
2106func (c *Greengrass) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) {
2107	req, out := c.DeleteGroupRequest(input)
2108	req.SetContext(ctx)
2109	req.ApplyOptions(opts...)
2110	return out, req.Send()
2111}
2112
2113const opDeleteLoggerDefinition = "DeleteLoggerDefinition"
2114
2115// DeleteLoggerDefinitionRequest generates a "aws/request.Request" representing the
2116// client's request for the DeleteLoggerDefinition operation. The "output" return
2117// value will be populated with the request's response once the request completes
2118// successfully.
2119//
2120// Use "Send" method on the returned Request to send the API call to the service.
2121// the "output" return value is not valid until after Send returns without error.
2122//
2123// See DeleteLoggerDefinition for more information on using the DeleteLoggerDefinition
2124// API call, and error handling.
2125//
2126// This method is useful when you want to inject custom logic or configuration
2127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2128//
2129//
2130//    // Example sending a request using the DeleteLoggerDefinitionRequest method.
2131//    req, resp := client.DeleteLoggerDefinitionRequest(params)
2132//
2133//    err := req.Send()
2134//    if err == nil { // resp is now filled
2135//        fmt.Println(resp)
2136//    }
2137//
2138// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteLoggerDefinition
2139func (c *Greengrass) DeleteLoggerDefinitionRequest(input *DeleteLoggerDefinitionInput) (req *request.Request, output *DeleteLoggerDefinitionOutput) {
2140	op := &request.Operation{
2141		Name:       opDeleteLoggerDefinition,
2142		HTTPMethod: "DELETE",
2143		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}",
2144	}
2145
2146	if input == nil {
2147		input = &DeleteLoggerDefinitionInput{}
2148	}
2149
2150	output = &DeleteLoggerDefinitionOutput{}
2151	req = c.newRequest(op, input, output)
2152	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2153	return
2154}
2155
2156// DeleteLoggerDefinition API operation for AWS Greengrass.
2157//
2158// Deletes a logger definition.
2159//
2160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2161// with awserr.Error's Code and Message methods to get detailed information about
2162// the error.
2163//
2164// See the AWS API reference guide for AWS Greengrass's
2165// API operation DeleteLoggerDefinition for usage and error information.
2166//
2167// Returned Error Types:
2168//   * BadRequestException
2169//   General error information.
2170//
2171// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteLoggerDefinition
2172func (c *Greengrass) DeleteLoggerDefinition(input *DeleteLoggerDefinitionInput) (*DeleteLoggerDefinitionOutput, error) {
2173	req, out := c.DeleteLoggerDefinitionRequest(input)
2174	return out, req.Send()
2175}
2176
2177// DeleteLoggerDefinitionWithContext is the same as DeleteLoggerDefinition with the addition of
2178// the ability to pass a context and additional request options.
2179//
2180// See DeleteLoggerDefinition for details on how to use this API operation.
2181//
2182// The context must be non-nil and will be used for request cancellation. If
2183// the context is nil a panic will occur. In the future the SDK may create
2184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2185// for more information on using Contexts.
2186func (c *Greengrass) DeleteLoggerDefinitionWithContext(ctx aws.Context, input *DeleteLoggerDefinitionInput, opts ...request.Option) (*DeleteLoggerDefinitionOutput, error) {
2187	req, out := c.DeleteLoggerDefinitionRequest(input)
2188	req.SetContext(ctx)
2189	req.ApplyOptions(opts...)
2190	return out, req.Send()
2191}
2192
2193const opDeleteResourceDefinition = "DeleteResourceDefinition"
2194
2195// DeleteResourceDefinitionRequest generates a "aws/request.Request" representing the
2196// client's request for the DeleteResourceDefinition operation. The "output" return
2197// value will be populated with the request's response once the request completes
2198// successfully.
2199//
2200// Use "Send" method on the returned Request to send the API call to the service.
2201// the "output" return value is not valid until after Send returns without error.
2202//
2203// See DeleteResourceDefinition for more information on using the DeleteResourceDefinition
2204// API call, and error handling.
2205//
2206// This method is useful when you want to inject custom logic or configuration
2207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2208//
2209//
2210//    // Example sending a request using the DeleteResourceDefinitionRequest method.
2211//    req, resp := client.DeleteResourceDefinitionRequest(params)
2212//
2213//    err := req.Send()
2214//    if err == nil { // resp is now filled
2215//        fmt.Println(resp)
2216//    }
2217//
2218// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteResourceDefinition
2219func (c *Greengrass) DeleteResourceDefinitionRequest(input *DeleteResourceDefinitionInput) (req *request.Request, output *DeleteResourceDefinitionOutput) {
2220	op := &request.Operation{
2221		Name:       opDeleteResourceDefinition,
2222		HTTPMethod: "DELETE",
2223		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}",
2224	}
2225
2226	if input == nil {
2227		input = &DeleteResourceDefinitionInput{}
2228	}
2229
2230	output = &DeleteResourceDefinitionOutput{}
2231	req = c.newRequest(op, input, output)
2232	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2233	return
2234}
2235
2236// DeleteResourceDefinition API operation for AWS Greengrass.
2237//
2238// Deletes a resource definition.
2239//
2240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2241// with awserr.Error's Code and Message methods to get detailed information about
2242// the error.
2243//
2244// See the AWS API reference guide for AWS Greengrass's
2245// API operation DeleteResourceDefinition for usage and error information.
2246//
2247// Returned Error Types:
2248//   * BadRequestException
2249//   General error information.
2250//
2251// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteResourceDefinition
2252func (c *Greengrass) DeleteResourceDefinition(input *DeleteResourceDefinitionInput) (*DeleteResourceDefinitionOutput, error) {
2253	req, out := c.DeleteResourceDefinitionRequest(input)
2254	return out, req.Send()
2255}
2256
2257// DeleteResourceDefinitionWithContext is the same as DeleteResourceDefinition with the addition of
2258// the ability to pass a context and additional request options.
2259//
2260// See DeleteResourceDefinition for details on how to use this API operation.
2261//
2262// The context must be non-nil and will be used for request cancellation. If
2263// the context is nil a panic will occur. In the future the SDK may create
2264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2265// for more information on using Contexts.
2266func (c *Greengrass) DeleteResourceDefinitionWithContext(ctx aws.Context, input *DeleteResourceDefinitionInput, opts ...request.Option) (*DeleteResourceDefinitionOutput, error) {
2267	req, out := c.DeleteResourceDefinitionRequest(input)
2268	req.SetContext(ctx)
2269	req.ApplyOptions(opts...)
2270	return out, req.Send()
2271}
2272
2273const opDeleteSubscriptionDefinition = "DeleteSubscriptionDefinition"
2274
2275// DeleteSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
2276// client's request for the DeleteSubscriptionDefinition operation. The "output" return
2277// value will be populated with the request's response once the request completes
2278// successfully.
2279//
2280// Use "Send" method on the returned Request to send the API call to the service.
2281// the "output" return value is not valid until after Send returns without error.
2282//
2283// See DeleteSubscriptionDefinition for more information on using the DeleteSubscriptionDefinition
2284// API call, and error handling.
2285//
2286// This method is useful when you want to inject custom logic or configuration
2287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2288//
2289//
2290//    // Example sending a request using the DeleteSubscriptionDefinitionRequest method.
2291//    req, resp := client.DeleteSubscriptionDefinitionRequest(params)
2292//
2293//    err := req.Send()
2294//    if err == nil { // resp is now filled
2295//        fmt.Println(resp)
2296//    }
2297//
2298// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteSubscriptionDefinition
2299func (c *Greengrass) DeleteSubscriptionDefinitionRequest(input *DeleteSubscriptionDefinitionInput) (req *request.Request, output *DeleteSubscriptionDefinitionOutput) {
2300	op := &request.Operation{
2301		Name:       opDeleteSubscriptionDefinition,
2302		HTTPMethod: "DELETE",
2303		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
2304	}
2305
2306	if input == nil {
2307		input = &DeleteSubscriptionDefinitionInput{}
2308	}
2309
2310	output = &DeleteSubscriptionDefinitionOutput{}
2311	req = c.newRequest(op, input, output)
2312	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2313	return
2314}
2315
2316// DeleteSubscriptionDefinition API operation for AWS Greengrass.
2317//
2318// Deletes a subscription definition.
2319//
2320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2321// with awserr.Error's Code and Message methods to get detailed information about
2322// the error.
2323//
2324// See the AWS API reference guide for AWS Greengrass's
2325// API operation DeleteSubscriptionDefinition for usage and error information.
2326//
2327// Returned Error Types:
2328//   * BadRequestException
2329//   General error information.
2330//
2331// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteSubscriptionDefinition
2332func (c *Greengrass) DeleteSubscriptionDefinition(input *DeleteSubscriptionDefinitionInput) (*DeleteSubscriptionDefinitionOutput, error) {
2333	req, out := c.DeleteSubscriptionDefinitionRequest(input)
2334	return out, req.Send()
2335}
2336
2337// DeleteSubscriptionDefinitionWithContext is the same as DeleteSubscriptionDefinition with the addition of
2338// the ability to pass a context and additional request options.
2339//
2340// See DeleteSubscriptionDefinition for details on how to use this API operation.
2341//
2342// The context must be non-nil and will be used for request cancellation. If
2343// the context is nil a panic will occur. In the future the SDK may create
2344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2345// for more information on using Contexts.
2346func (c *Greengrass) DeleteSubscriptionDefinitionWithContext(ctx aws.Context, input *DeleteSubscriptionDefinitionInput, opts ...request.Option) (*DeleteSubscriptionDefinitionOutput, error) {
2347	req, out := c.DeleteSubscriptionDefinitionRequest(input)
2348	req.SetContext(ctx)
2349	req.ApplyOptions(opts...)
2350	return out, req.Send()
2351}
2352
2353const opDisassociateRoleFromGroup = "DisassociateRoleFromGroup"
2354
2355// DisassociateRoleFromGroupRequest generates a "aws/request.Request" representing the
2356// client's request for the DisassociateRoleFromGroup operation. The "output" return
2357// value will be populated with the request's response once the request completes
2358// successfully.
2359//
2360// Use "Send" method on the returned Request to send the API call to the service.
2361// the "output" return value is not valid until after Send returns without error.
2362//
2363// See DisassociateRoleFromGroup for more information on using the DisassociateRoleFromGroup
2364// API call, and error handling.
2365//
2366// This method is useful when you want to inject custom logic or configuration
2367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2368//
2369//
2370//    // Example sending a request using the DisassociateRoleFromGroupRequest method.
2371//    req, resp := client.DisassociateRoleFromGroupRequest(params)
2372//
2373//    err := req.Send()
2374//    if err == nil { // resp is now filled
2375//        fmt.Println(resp)
2376//    }
2377//
2378// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateRoleFromGroup
2379func (c *Greengrass) DisassociateRoleFromGroupRequest(input *DisassociateRoleFromGroupInput) (req *request.Request, output *DisassociateRoleFromGroupOutput) {
2380	op := &request.Operation{
2381		Name:       opDisassociateRoleFromGroup,
2382		HTTPMethod: "DELETE",
2383		HTTPPath:   "/greengrass/groups/{GroupId}/role",
2384	}
2385
2386	if input == nil {
2387		input = &DisassociateRoleFromGroupInput{}
2388	}
2389
2390	output = &DisassociateRoleFromGroupOutput{}
2391	req = c.newRequest(op, input, output)
2392	return
2393}
2394
2395// DisassociateRoleFromGroup API operation for AWS Greengrass.
2396//
2397// Disassociates the role from a group.
2398//
2399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2400// with awserr.Error's Code and Message methods to get detailed information about
2401// the error.
2402//
2403// See the AWS API reference guide for AWS Greengrass's
2404// API operation DisassociateRoleFromGroup for usage and error information.
2405//
2406// Returned Error Types:
2407//   * BadRequestException
2408//   General error information.
2409//
2410//   * InternalServerErrorException
2411//   General error information.
2412//
2413// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateRoleFromGroup
2414func (c *Greengrass) DisassociateRoleFromGroup(input *DisassociateRoleFromGroupInput) (*DisassociateRoleFromGroupOutput, error) {
2415	req, out := c.DisassociateRoleFromGroupRequest(input)
2416	return out, req.Send()
2417}
2418
2419// DisassociateRoleFromGroupWithContext is the same as DisassociateRoleFromGroup with the addition of
2420// the ability to pass a context and additional request options.
2421//
2422// See DisassociateRoleFromGroup for details on how to use this API operation.
2423//
2424// The context must be non-nil and will be used for request cancellation. If
2425// the context is nil a panic will occur. In the future the SDK may create
2426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2427// for more information on using Contexts.
2428func (c *Greengrass) DisassociateRoleFromGroupWithContext(ctx aws.Context, input *DisassociateRoleFromGroupInput, opts ...request.Option) (*DisassociateRoleFromGroupOutput, error) {
2429	req, out := c.DisassociateRoleFromGroupRequest(input)
2430	req.SetContext(ctx)
2431	req.ApplyOptions(opts...)
2432	return out, req.Send()
2433}
2434
2435const opDisassociateServiceRoleFromAccount = "DisassociateServiceRoleFromAccount"
2436
2437// DisassociateServiceRoleFromAccountRequest generates a "aws/request.Request" representing the
2438// client's request for the DisassociateServiceRoleFromAccount operation. The "output" return
2439// value will be populated with the request's response once the request completes
2440// successfully.
2441//
2442// Use "Send" method on the returned Request to send the API call to the service.
2443// the "output" return value is not valid until after Send returns without error.
2444//
2445// See DisassociateServiceRoleFromAccount for more information on using the DisassociateServiceRoleFromAccount
2446// API call, and error handling.
2447//
2448// This method is useful when you want to inject custom logic or configuration
2449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2450//
2451//
2452//    // Example sending a request using the DisassociateServiceRoleFromAccountRequest method.
2453//    req, resp := client.DisassociateServiceRoleFromAccountRequest(params)
2454//
2455//    err := req.Send()
2456//    if err == nil { // resp is now filled
2457//        fmt.Println(resp)
2458//    }
2459//
2460// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateServiceRoleFromAccount
2461func (c *Greengrass) DisassociateServiceRoleFromAccountRequest(input *DisassociateServiceRoleFromAccountInput) (req *request.Request, output *DisassociateServiceRoleFromAccountOutput) {
2462	op := &request.Operation{
2463		Name:       opDisassociateServiceRoleFromAccount,
2464		HTTPMethod: "DELETE",
2465		HTTPPath:   "/greengrass/servicerole",
2466	}
2467
2468	if input == nil {
2469		input = &DisassociateServiceRoleFromAccountInput{}
2470	}
2471
2472	output = &DisassociateServiceRoleFromAccountOutput{}
2473	req = c.newRequest(op, input, output)
2474	return
2475}
2476
2477// DisassociateServiceRoleFromAccount API operation for AWS Greengrass.
2478//
2479// Disassociates the service role from your account. Without a service role,
2480// deployments will not work.
2481//
2482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2483// with awserr.Error's Code and Message methods to get detailed information about
2484// the error.
2485//
2486// See the AWS API reference guide for AWS Greengrass's
2487// API operation DisassociateServiceRoleFromAccount for usage and error information.
2488//
2489// Returned Error Types:
2490//   * InternalServerErrorException
2491//   General error information.
2492//
2493// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateServiceRoleFromAccount
2494func (c *Greengrass) DisassociateServiceRoleFromAccount(input *DisassociateServiceRoleFromAccountInput) (*DisassociateServiceRoleFromAccountOutput, error) {
2495	req, out := c.DisassociateServiceRoleFromAccountRequest(input)
2496	return out, req.Send()
2497}
2498
2499// DisassociateServiceRoleFromAccountWithContext is the same as DisassociateServiceRoleFromAccount with the addition of
2500// the ability to pass a context and additional request options.
2501//
2502// See DisassociateServiceRoleFromAccount for details on how to use this API operation.
2503//
2504// The context must be non-nil and will be used for request cancellation. If
2505// the context is nil a panic will occur. In the future the SDK may create
2506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2507// for more information on using Contexts.
2508func (c *Greengrass) DisassociateServiceRoleFromAccountWithContext(ctx aws.Context, input *DisassociateServiceRoleFromAccountInput, opts ...request.Option) (*DisassociateServiceRoleFromAccountOutput, error) {
2509	req, out := c.DisassociateServiceRoleFromAccountRequest(input)
2510	req.SetContext(ctx)
2511	req.ApplyOptions(opts...)
2512	return out, req.Send()
2513}
2514
2515const opGetAssociatedRole = "GetAssociatedRole"
2516
2517// GetAssociatedRoleRequest generates a "aws/request.Request" representing the
2518// client's request for the GetAssociatedRole operation. The "output" return
2519// value will be populated with the request's response once the request completes
2520// successfully.
2521//
2522// Use "Send" method on the returned Request to send the API call to the service.
2523// the "output" return value is not valid until after Send returns without error.
2524//
2525// See GetAssociatedRole for more information on using the GetAssociatedRole
2526// API call, and error handling.
2527//
2528// This method is useful when you want to inject custom logic or configuration
2529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2530//
2531//
2532//    // Example sending a request using the GetAssociatedRoleRequest method.
2533//    req, resp := client.GetAssociatedRoleRequest(params)
2534//
2535//    err := req.Send()
2536//    if err == nil { // resp is now filled
2537//        fmt.Println(resp)
2538//    }
2539//
2540// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetAssociatedRole
2541func (c *Greengrass) GetAssociatedRoleRequest(input *GetAssociatedRoleInput) (req *request.Request, output *GetAssociatedRoleOutput) {
2542	op := &request.Operation{
2543		Name:       opGetAssociatedRole,
2544		HTTPMethod: "GET",
2545		HTTPPath:   "/greengrass/groups/{GroupId}/role",
2546	}
2547
2548	if input == nil {
2549		input = &GetAssociatedRoleInput{}
2550	}
2551
2552	output = &GetAssociatedRoleOutput{}
2553	req = c.newRequest(op, input, output)
2554	return
2555}
2556
2557// GetAssociatedRole API operation for AWS Greengrass.
2558//
2559// Retrieves the role associated with a particular group.
2560//
2561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2562// with awserr.Error's Code and Message methods to get detailed information about
2563// the error.
2564//
2565// See the AWS API reference guide for AWS Greengrass's
2566// API operation GetAssociatedRole for usage and error information.
2567//
2568// Returned Error Types:
2569//   * BadRequestException
2570//   General error information.
2571//
2572//   * InternalServerErrorException
2573//   General error information.
2574//
2575// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetAssociatedRole
2576func (c *Greengrass) GetAssociatedRole(input *GetAssociatedRoleInput) (*GetAssociatedRoleOutput, error) {
2577	req, out := c.GetAssociatedRoleRequest(input)
2578	return out, req.Send()
2579}
2580
2581// GetAssociatedRoleWithContext is the same as GetAssociatedRole with the addition of
2582// the ability to pass a context and additional request options.
2583//
2584// See GetAssociatedRole for details on how to use this API operation.
2585//
2586// The context must be non-nil and will be used for request cancellation. If
2587// the context is nil a panic will occur. In the future the SDK may create
2588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2589// for more information on using Contexts.
2590func (c *Greengrass) GetAssociatedRoleWithContext(ctx aws.Context, input *GetAssociatedRoleInput, opts ...request.Option) (*GetAssociatedRoleOutput, error) {
2591	req, out := c.GetAssociatedRoleRequest(input)
2592	req.SetContext(ctx)
2593	req.ApplyOptions(opts...)
2594	return out, req.Send()
2595}
2596
2597const opGetBulkDeploymentStatus = "GetBulkDeploymentStatus"
2598
2599// GetBulkDeploymentStatusRequest generates a "aws/request.Request" representing the
2600// client's request for the GetBulkDeploymentStatus operation. The "output" return
2601// value will be populated with the request's response once the request completes
2602// successfully.
2603//
2604// Use "Send" method on the returned Request to send the API call to the service.
2605// the "output" return value is not valid until after Send returns without error.
2606//
2607// See GetBulkDeploymentStatus for more information on using the GetBulkDeploymentStatus
2608// API call, and error handling.
2609//
2610// This method is useful when you want to inject custom logic or configuration
2611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2612//
2613//
2614//    // Example sending a request using the GetBulkDeploymentStatusRequest method.
2615//    req, resp := client.GetBulkDeploymentStatusRequest(params)
2616//
2617//    err := req.Send()
2618//    if err == nil { // resp is now filled
2619//        fmt.Println(resp)
2620//    }
2621//
2622// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetBulkDeploymentStatus
2623func (c *Greengrass) GetBulkDeploymentStatusRequest(input *GetBulkDeploymentStatusInput) (req *request.Request, output *GetBulkDeploymentStatusOutput) {
2624	op := &request.Operation{
2625		Name:       opGetBulkDeploymentStatus,
2626		HTTPMethod: "GET",
2627		HTTPPath:   "/greengrass/bulk/deployments/{BulkDeploymentId}/status",
2628	}
2629
2630	if input == nil {
2631		input = &GetBulkDeploymentStatusInput{}
2632	}
2633
2634	output = &GetBulkDeploymentStatusOutput{}
2635	req = c.newRequest(op, input, output)
2636	return
2637}
2638
2639// GetBulkDeploymentStatus API operation for AWS Greengrass.
2640//
2641// Returns the status of a bulk deployment.
2642//
2643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2644// with awserr.Error's Code and Message methods to get detailed information about
2645// the error.
2646//
2647// See the AWS API reference guide for AWS Greengrass's
2648// API operation GetBulkDeploymentStatus for usage and error information.
2649//
2650// Returned Error Types:
2651//   * BadRequestException
2652//   General error information.
2653//
2654// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetBulkDeploymentStatus
2655func (c *Greengrass) GetBulkDeploymentStatus(input *GetBulkDeploymentStatusInput) (*GetBulkDeploymentStatusOutput, error) {
2656	req, out := c.GetBulkDeploymentStatusRequest(input)
2657	return out, req.Send()
2658}
2659
2660// GetBulkDeploymentStatusWithContext is the same as GetBulkDeploymentStatus with the addition of
2661// the ability to pass a context and additional request options.
2662//
2663// See GetBulkDeploymentStatus for details on how to use this API operation.
2664//
2665// The context must be non-nil and will be used for request cancellation. If
2666// the context is nil a panic will occur. In the future the SDK may create
2667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2668// for more information on using Contexts.
2669func (c *Greengrass) GetBulkDeploymentStatusWithContext(ctx aws.Context, input *GetBulkDeploymentStatusInput, opts ...request.Option) (*GetBulkDeploymentStatusOutput, error) {
2670	req, out := c.GetBulkDeploymentStatusRequest(input)
2671	req.SetContext(ctx)
2672	req.ApplyOptions(opts...)
2673	return out, req.Send()
2674}
2675
2676const opGetConnectivityInfo = "GetConnectivityInfo"
2677
2678// GetConnectivityInfoRequest generates a "aws/request.Request" representing the
2679// client's request for the GetConnectivityInfo operation. The "output" return
2680// value will be populated with the request's response once the request completes
2681// successfully.
2682//
2683// Use "Send" method on the returned Request to send the API call to the service.
2684// the "output" return value is not valid until after Send returns without error.
2685//
2686// See GetConnectivityInfo for more information on using the GetConnectivityInfo
2687// API call, and error handling.
2688//
2689// This method is useful when you want to inject custom logic or configuration
2690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2691//
2692//
2693//    // Example sending a request using the GetConnectivityInfoRequest method.
2694//    req, resp := client.GetConnectivityInfoRequest(params)
2695//
2696//    err := req.Send()
2697//    if err == nil { // resp is now filled
2698//        fmt.Println(resp)
2699//    }
2700//
2701// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectivityInfo
2702func (c *Greengrass) GetConnectivityInfoRequest(input *GetConnectivityInfoInput) (req *request.Request, output *GetConnectivityInfoOutput) {
2703	op := &request.Operation{
2704		Name:       opGetConnectivityInfo,
2705		HTTPMethod: "GET",
2706		HTTPPath:   "/greengrass/things/{ThingName}/connectivityInfo",
2707	}
2708
2709	if input == nil {
2710		input = &GetConnectivityInfoInput{}
2711	}
2712
2713	output = &GetConnectivityInfoOutput{}
2714	req = c.newRequest(op, input, output)
2715	return
2716}
2717
2718// GetConnectivityInfo API operation for AWS Greengrass.
2719//
2720// Retrieves the connectivity information for a core.
2721//
2722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2723// with awserr.Error's Code and Message methods to get detailed information about
2724// the error.
2725//
2726// See the AWS API reference guide for AWS Greengrass's
2727// API operation GetConnectivityInfo for usage and error information.
2728//
2729// Returned Error Types:
2730//   * BadRequestException
2731//   General error information.
2732//
2733//   * InternalServerErrorException
2734//   General error information.
2735//
2736// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectivityInfo
2737func (c *Greengrass) GetConnectivityInfo(input *GetConnectivityInfoInput) (*GetConnectivityInfoOutput, error) {
2738	req, out := c.GetConnectivityInfoRequest(input)
2739	return out, req.Send()
2740}
2741
2742// GetConnectivityInfoWithContext is the same as GetConnectivityInfo with the addition of
2743// the ability to pass a context and additional request options.
2744//
2745// See GetConnectivityInfo for details on how to use this API operation.
2746//
2747// The context must be non-nil and will be used for request cancellation. If
2748// the context is nil a panic will occur. In the future the SDK may create
2749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2750// for more information on using Contexts.
2751func (c *Greengrass) GetConnectivityInfoWithContext(ctx aws.Context, input *GetConnectivityInfoInput, opts ...request.Option) (*GetConnectivityInfoOutput, error) {
2752	req, out := c.GetConnectivityInfoRequest(input)
2753	req.SetContext(ctx)
2754	req.ApplyOptions(opts...)
2755	return out, req.Send()
2756}
2757
2758const opGetConnectorDefinition = "GetConnectorDefinition"
2759
2760// GetConnectorDefinitionRequest generates a "aws/request.Request" representing the
2761// client's request for the GetConnectorDefinition operation. The "output" return
2762// value will be populated with the request's response once the request completes
2763// successfully.
2764//
2765// Use "Send" method on the returned Request to send the API call to the service.
2766// the "output" return value is not valid until after Send returns without error.
2767//
2768// See GetConnectorDefinition for more information on using the GetConnectorDefinition
2769// API call, and error handling.
2770//
2771// This method is useful when you want to inject custom logic or configuration
2772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2773//
2774//
2775//    // Example sending a request using the GetConnectorDefinitionRequest method.
2776//    req, resp := client.GetConnectorDefinitionRequest(params)
2777//
2778//    err := req.Send()
2779//    if err == nil { // resp is now filled
2780//        fmt.Println(resp)
2781//    }
2782//
2783// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinition
2784func (c *Greengrass) GetConnectorDefinitionRequest(input *GetConnectorDefinitionInput) (req *request.Request, output *GetConnectorDefinitionOutput) {
2785	op := &request.Operation{
2786		Name:       opGetConnectorDefinition,
2787		HTTPMethod: "GET",
2788		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}",
2789	}
2790
2791	if input == nil {
2792		input = &GetConnectorDefinitionInput{}
2793	}
2794
2795	output = &GetConnectorDefinitionOutput{}
2796	req = c.newRequest(op, input, output)
2797	return
2798}
2799
2800// GetConnectorDefinition API operation for AWS Greengrass.
2801//
2802// Retrieves information about a connector definition.
2803//
2804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2805// with awserr.Error's Code and Message methods to get detailed information about
2806// the error.
2807//
2808// See the AWS API reference guide for AWS Greengrass's
2809// API operation GetConnectorDefinition for usage and error information.
2810//
2811// Returned Error Types:
2812//   * BadRequestException
2813//   General error information.
2814//
2815// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinition
2816func (c *Greengrass) GetConnectorDefinition(input *GetConnectorDefinitionInput) (*GetConnectorDefinitionOutput, error) {
2817	req, out := c.GetConnectorDefinitionRequest(input)
2818	return out, req.Send()
2819}
2820
2821// GetConnectorDefinitionWithContext is the same as GetConnectorDefinition with the addition of
2822// the ability to pass a context and additional request options.
2823//
2824// See GetConnectorDefinition for details on how to use this API operation.
2825//
2826// The context must be non-nil and will be used for request cancellation. If
2827// the context is nil a panic will occur. In the future the SDK may create
2828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2829// for more information on using Contexts.
2830func (c *Greengrass) GetConnectorDefinitionWithContext(ctx aws.Context, input *GetConnectorDefinitionInput, opts ...request.Option) (*GetConnectorDefinitionOutput, error) {
2831	req, out := c.GetConnectorDefinitionRequest(input)
2832	req.SetContext(ctx)
2833	req.ApplyOptions(opts...)
2834	return out, req.Send()
2835}
2836
2837const opGetConnectorDefinitionVersion = "GetConnectorDefinitionVersion"
2838
2839// GetConnectorDefinitionVersionRequest generates a "aws/request.Request" representing the
2840// client's request for the GetConnectorDefinitionVersion operation. The "output" return
2841// value will be populated with the request's response once the request completes
2842// successfully.
2843//
2844// Use "Send" method on the returned Request to send the API call to the service.
2845// the "output" return value is not valid until after Send returns without error.
2846//
2847// See GetConnectorDefinitionVersion for more information on using the GetConnectorDefinitionVersion
2848// API call, and error handling.
2849//
2850// This method is useful when you want to inject custom logic or configuration
2851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2852//
2853//
2854//    // Example sending a request using the GetConnectorDefinitionVersionRequest method.
2855//    req, resp := client.GetConnectorDefinitionVersionRequest(params)
2856//
2857//    err := req.Send()
2858//    if err == nil { // resp is now filled
2859//        fmt.Println(resp)
2860//    }
2861//
2862// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinitionVersion
2863func (c *Greengrass) GetConnectorDefinitionVersionRequest(input *GetConnectorDefinitionVersionInput) (req *request.Request, output *GetConnectorDefinitionVersionOutput) {
2864	op := &request.Operation{
2865		Name:       opGetConnectorDefinitionVersion,
2866		HTTPMethod: "GET",
2867		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions/{ConnectorDefinitionVersionId}",
2868	}
2869
2870	if input == nil {
2871		input = &GetConnectorDefinitionVersionInput{}
2872	}
2873
2874	output = &GetConnectorDefinitionVersionOutput{}
2875	req = c.newRequest(op, input, output)
2876	return
2877}
2878
2879// GetConnectorDefinitionVersion API operation for AWS Greengrass.
2880//
2881// Retrieves information about a connector definition version, including the
2882// connectors that the version contains. Connectors are prebuilt modules that
2883// interact with local infrastructure, device protocols, AWS, and other cloud
2884// services.
2885//
2886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2887// with awserr.Error's Code and Message methods to get detailed information about
2888// the error.
2889//
2890// See the AWS API reference guide for AWS Greengrass's
2891// API operation GetConnectorDefinitionVersion for usage and error information.
2892//
2893// Returned Error Types:
2894//   * BadRequestException
2895//   General error information.
2896//
2897// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinitionVersion
2898func (c *Greengrass) GetConnectorDefinitionVersion(input *GetConnectorDefinitionVersionInput) (*GetConnectorDefinitionVersionOutput, error) {
2899	req, out := c.GetConnectorDefinitionVersionRequest(input)
2900	return out, req.Send()
2901}
2902
2903// GetConnectorDefinitionVersionWithContext is the same as GetConnectorDefinitionVersion with the addition of
2904// the ability to pass a context and additional request options.
2905//
2906// See GetConnectorDefinitionVersion for details on how to use this API operation.
2907//
2908// The context must be non-nil and will be used for request cancellation. If
2909// the context is nil a panic will occur. In the future the SDK may create
2910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2911// for more information on using Contexts.
2912func (c *Greengrass) GetConnectorDefinitionVersionWithContext(ctx aws.Context, input *GetConnectorDefinitionVersionInput, opts ...request.Option) (*GetConnectorDefinitionVersionOutput, error) {
2913	req, out := c.GetConnectorDefinitionVersionRequest(input)
2914	req.SetContext(ctx)
2915	req.ApplyOptions(opts...)
2916	return out, req.Send()
2917}
2918
2919const opGetCoreDefinition = "GetCoreDefinition"
2920
2921// GetCoreDefinitionRequest generates a "aws/request.Request" representing the
2922// client's request for the GetCoreDefinition operation. The "output" return
2923// value will be populated with the request's response once the request completes
2924// successfully.
2925//
2926// Use "Send" method on the returned Request to send the API call to the service.
2927// the "output" return value is not valid until after Send returns without error.
2928//
2929// See GetCoreDefinition for more information on using the GetCoreDefinition
2930// API call, and error handling.
2931//
2932// This method is useful when you want to inject custom logic or configuration
2933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2934//
2935//
2936//    // Example sending a request using the GetCoreDefinitionRequest method.
2937//    req, resp := client.GetCoreDefinitionRequest(params)
2938//
2939//    err := req.Send()
2940//    if err == nil { // resp is now filled
2941//        fmt.Println(resp)
2942//    }
2943//
2944// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinition
2945func (c *Greengrass) GetCoreDefinitionRequest(input *GetCoreDefinitionInput) (req *request.Request, output *GetCoreDefinitionOutput) {
2946	op := &request.Operation{
2947		Name:       opGetCoreDefinition,
2948		HTTPMethod: "GET",
2949		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}",
2950	}
2951
2952	if input == nil {
2953		input = &GetCoreDefinitionInput{}
2954	}
2955
2956	output = &GetCoreDefinitionOutput{}
2957	req = c.newRequest(op, input, output)
2958	return
2959}
2960
2961// GetCoreDefinition API operation for AWS Greengrass.
2962//
2963// Retrieves information about a core definition version.
2964//
2965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2966// with awserr.Error's Code and Message methods to get detailed information about
2967// the error.
2968//
2969// See the AWS API reference guide for AWS Greengrass's
2970// API operation GetCoreDefinition for usage and error information.
2971//
2972// Returned Error Types:
2973//   * BadRequestException
2974//   General error information.
2975//
2976// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinition
2977func (c *Greengrass) GetCoreDefinition(input *GetCoreDefinitionInput) (*GetCoreDefinitionOutput, error) {
2978	req, out := c.GetCoreDefinitionRequest(input)
2979	return out, req.Send()
2980}
2981
2982// GetCoreDefinitionWithContext is the same as GetCoreDefinition with the addition of
2983// the ability to pass a context and additional request options.
2984//
2985// See GetCoreDefinition for details on how to use this API operation.
2986//
2987// The context must be non-nil and will be used for request cancellation. If
2988// the context is nil a panic will occur. In the future the SDK may create
2989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2990// for more information on using Contexts.
2991func (c *Greengrass) GetCoreDefinitionWithContext(ctx aws.Context, input *GetCoreDefinitionInput, opts ...request.Option) (*GetCoreDefinitionOutput, error) {
2992	req, out := c.GetCoreDefinitionRequest(input)
2993	req.SetContext(ctx)
2994	req.ApplyOptions(opts...)
2995	return out, req.Send()
2996}
2997
2998const opGetCoreDefinitionVersion = "GetCoreDefinitionVersion"
2999
3000// GetCoreDefinitionVersionRequest generates a "aws/request.Request" representing the
3001// client's request for the GetCoreDefinitionVersion operation. The "output" return
3002// value will be populated with the request's response once the request completes
3003// successfully.
3004//
3005// Use "Send" method on the returned Request to send the API call to the service.
3006// the "output" return value is not valid until after Send returns without error.
3007//
3008// See GetCoreDefinitionVersion for more information on using the GetCoreDefinitionVersion
3009// API call, and error handling.
3010//
3011// This method is useful when you want to inject custom logic or configuration
3012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3013//
3014//
3015//    // Example sending a request using the GetCoreDefinitionVersionRequest method.
3016//    req, resp := client.GetCoreDefinitionVersionRequest(params)
3017//
3018//    err := req.Send()
3019//    if err == nil { // resp is now filled
3020//        fmt.Println(resp)
3021//    }
3022//
3023// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinitionVersion
3024func (c *Greengrass) GetCoreDefinitionVersionRequest(input *GetCoreDefinitionVersionInput) (req *request.Request, output *GetCoreDefinitionVersionOutput) {
3025	op := &request.Operation{
3026		Name:       opGetCoreDefinitionVersion,
3027		HTTPMethod: "GET",
3028		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}",
3029	}
3030
3031	if input == nil {
3032		input = &GetCoreDefinitionVersionInput{}
3033	}
3034
3035	output = &GetCoreDefinitionVersionOutput{}
3036	req = c.newRequest(op, input, output)
3037	return
3038}
3039
3040// GetCoreDefinitionVersion API operation for AWS Greengrass.
3041//
3042// Retrieves information about a core definition version.
3043//
3044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3045// with awserr.Error's Code and Message methods to get detailed information about
3046// the error.
3047//
3048// See the AWS API reference guide for AWS Greengrass's
3049// API operation GetCoreDefinitionVersion for usage and error information.
3050//
3051// Returned Error Types:
3052//   * BadRequestException
3053//   General error information.
3054//
3055// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinitionVersion
3056func (c *Greengrass) GetCoreDefinitionVersion(input *GetCoreDefinitionVersionInput) (*GetCoreDefinitionVersionOutput, error) {
3057	req, out := c.GetCoreDefinitionVersionRequest(input)
3058	return out, req.Send()
3059}
3060
3061// GetCoreDefinitionVersionWithContext is the same as GetCoreDefinitionVersion with the addition of
3062// the ability to pass a context and additional request options.
3063//
3064// See GetCoreDefinitionVersion for details on how to use this API operation.
3065//
3066// The context must be non-nil and will be used for request cancellation. If
3067// the context is nil a panic will occur. In the future the SDK may create
3068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3069// for more information on using Contexts.
3070func (c *Greengrass) GetCoreDefinitionVersionWithContext(ctx aws.Context, input *GetCoreDefinitionVersionInput, opts ...request.Option) (*GetCoreDefinitionVersionOutput, error) {
3071	req, out := c.GetCoreDefinitionVersionRequest(input)
3072	req.SetContext(ctx)
3073	req.ApplyOptions(opts...)
3074	return out, req.Send()
3075}
3076
3077const opGetDeploymentStatus = "GetDeploymentStatus"
3078
3079// GetDeploymentStatusRequest generates a "aws/request.Request" representing the
3080// client's request for the GetDeploymentStatus operation. The "output" return
3081// value will be populated with the request's response once the request completes
3082// successfully.
3083//
3084// Use "Send" method on the returned Request to send the API call to the service.
3085// the "output" return value is not valid until after Send returns without error.
3086//
3087// See GetDeploymentStatus for more information on using the GetDeploymentStatus
3088// API call, and error handling.
3089//
3090// This method is useful when you want to inject custom logic or configuration
3091// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3092//
3093//
3094//    // Example sending a request using the GetDeploymentStatusRequest method.
3095//    req, resp := client.GetDeploymentStatusRequest(params)
3096//
3097//    err := req.Send()
3098//    if err == nil { // resp is now filled
3099//        fmt.Println(resp)
3100//    }
3101//
3102// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeploymentStatus
3103func (c *Greengrass) GetDeploymentStatusRequest(input *GetDeploymentStatusInput) (req *request.Request, output *GetDeploymentStatusOutput) {
3104	op := &request.Operation{
3105		Name:       opGetDeploymentStatus,
3106		HTTPMethod: "GET",
3107		HTTPPath:   "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status",
3108	}
3109
3110	if input == nil {
3111		input = &GetDeploymentStatusInput{}
3112	}
3113
3114	output = &GetDeploymentStatusOutput{}
3115	req = c.newRequest(op, input, output)
3116	return
3117}
3118
3119// GetDeploymentStatus API operation for AWS Greengrass.
3120//
3121// Returns the status of a deployment.
3122//
3123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3124// with awserr.Error's Code and Message methods to get detailed information about
3125// the error.
3126//
3127// See the AWS API reference guide for AWS Greengrass's
3128// API operation GetDeploymentStatus for usage and error information.
3129//
3130// Returned Error Types:
3131//   * BadRequestException
3132//   General error information.
3133//
3134// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeploymentStatus
3135func (c *Greengrass) GetDeploymentStatus(input *GetDeploymentStatusInput) (*GetDeploymentStatusOutput, error) {
3136	req, out := c.GetDeploymentStatusRequest(input)
3137	return out, req.Send()
3138}
3139
3140// GetDeploymentStatusWithContext is the same as GetDeploymentStatus with the addition of
3141// the ability to pass a context and additional request options.
3142//
3143// See GetDeploymentStatus for details on how to use this API operation.
3144//
3145// The context must be non-nil and will be used for request cancellation. If
3146// the context is nil a panic will occur. In the future the SDK may create
3147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3148// for more information on using Contexts.
3149func (c *Greengrass) GetDeploymentStatusWithContext(ctx aws.Context, input *GetDeploymentStatusInput, opts ...request.Option) (*GetDeploymentStatusOutput, error) {
3150	req, out := c.GetDeploymentStatusRequest(input)
3151	req.SetContext(ctx)
3152	req.ApplyOptions(opts...)
3153	return out, req.Send()
3154}
3155
3156const opGetDeviceDefinition = "GetDeviceDefinition"
3157
3158// GetDeviceDefinitionRequest generates a "aws/request.Request" representing the
3159// client's request for the GetDeviceDefinition operation. The "output" return
3160// value will be populated with the request's response once the request completes
3161// successfully.
3162//
3163// Use "Send" method on the returned Request to send the API call to the service.
3164// the "output" return value is not valid until after Send returns without error.
3165//
3166// See GetDeviceDefinition for more information on using the GetDeviceDefinition
3167// API call, and error handling.
3168//
3169// This method is useful when you want to inject custom logic or configuration
3170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3171//
3172//
3173//    // Example sending a request using the GetDeviceDefinitionRequest method.
3174//    req, resp := client.GetDeviceDefinitionRequest(params)
3175//
3176//    err := req.Send()
3177//    if err == nil { // resp is now filled
3178//        fmt.Println(resp)
3179//    }
3180//
3181// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinition
3182func (c *Greengrass) GetDeviceDefinitionRequest(input *GetDeviceDefinitionInput) (req *request.Request, output *GetDeviceDefinitionOutput) {
3183	op := &request.Operation{
3184		Name:       opGetDeviceDefinition,
3185		HTTPMethod: "GET",
3186		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}",
3187	}
3188
3189	if input == nil {
3190		input = &GetDeviceDefinitionInput{}
3191	}
3192
3193	output = &GetDeviceDefinitionOutput{}
3194	req = c.newRequest(op, input, output)
3195	return
3196}
3197
3198// GetDeviceDefinition API operation for AWS Greengrass.
3199//
3200// Retrieves information about a device definition.
3201//
3202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3203// with awserr.Error's Code and Message methods to get detailed information about
3204// the error.
3205//
3206// See the AWS API reference guide for AWS Greengrass's
3207// API operation GetDeviceDefinition for usage and error information.
3208//
3209// Returned Error Types:
3210//   * BadRequestException
3211//   General error information.
3212//
3213// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinition
3214func (c *Greengrass) GetDeviceDefinition(input *GetDeviceDefinitionInput) (*GetDeviceDefinitionOutput, error) {
3215	req, out := c.GetDeviceDefinitionRequest(input)
3216	return out, req.Send()
3217}
3218
3219// GetDeviceDefinitionWithContext is the same as GetDeviceDefinition with the addition of
3220// the ability to pass a context and additional request options.
3221//
3222// See GetDeviceDefinition for details on how to use this API operation.
3223//
3224// The context must be non-nil and will be used for request cancellation. If
3225// the context is nil a panic will occur. In the future the SDK may create
3226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3227// for more information on using Contexts.
3228func (c *Greengrass) GetDeviceDefinitionWithContext(ctx aws.Context, input *GetDeviceDefinitionInput, opts ...request.Option) (*GetDeviceDefinitionOutput, error) {
3229	req, out := c.GetDeviceDefinitionRequest(input)
3230	req.SetContext(ctx)
3231	req.ApplyOptions(opts...)
3232	return out, req.Send()
3233}
3234
3235const opGetDeviceDefinitionVersion = "GetDeviceDefinitionVersion"
3236
3237// GetDeviceDefinitionVersionRequest generates a "aws/request.Request" representing the
3238// client's request for the GetDeviceDefinitionVersion operation. The "output" return
3239// value will be populated with the request's response once the request completes
3240// successfully.
3241//
3242// Use "Send" method on the returned Request to send the API call to the service.
3243// the "output" return value is not valid until after Send returns without error.
3244//
3245// See GetDeviceDefinitionVersion for more information on using the GetDeviceDefinitionVersion
3246// API call, and error handling.
3247//
3248// This method is useful when you want to inject custom logic or configuration
3249// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3250//
3251//
3252//    // Example sending a request using the GetDeviceDefinitionVersionRequest method.
3253//    req, resp := client.GetDeviceDefinitionVersionRequest(params)
3254//
3255//    err := req.Send()
3256//    if err == nil { // resp is now filled
3257//        fmt.Println(resp)
3258//    }
3259//
3260// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinitionVersion
3261func (c *Greengrass) GetDeviceDefinitionVersionRequest(input *GetDeviceDefinitionVersionInput) (req *request.Request, output *GetDeviceDefinitionVersionOutput) {
3262	op := &request.Operation{
3263		Name:       opGetDeviceDefinitionVersion,
3264		HTTPMethod: "GET",
3265		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}",
3266	}
3267
3268	if input == nil {
3269		input = &GetDeviceDefinitionVersionInput{}
3270	}
3271
3272	output = &GetDeviceDefinitionVersionOutput{}
3273	req = c.newRequest(op, input, output)
3274	return
3275}
3276
3277// GetDeviceDefinitionVersion API operation for AWS Greengrass.
3278//
3279// Retrieves information about a device definition version.
3280//
3281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3282// with awserr.Error's Code and Message methods to get detailed information about
3283// the error.
3284//
3285// See the AWS API reference guide for AWS Greengrass's
3286// API operation GetDeviceDefinitionVersion for usage and error information.
3287//
3288// Returned Error Types:
3289//   * BadRequestException
3290//   General error information.
3291//
3292// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinitionVersion
3293func (c *Greengrass) GetDeviceDefinitionVersion(input *GetDeviceDefinitionVersionInput) (*GetDeviceDefinitionVersionOutput, error) {
3294	req, out := c.GetDeviceDefinitionVersionRequest(input)
3295	return out, req.Send()
3296}
3297
3298// GetDeviceDefinitionVersionWithContext is the same as GetDeviceDefinitionVersion with the addition of
3299// the ability to pass a context and additional request options.
3300//
3301// See GetDeviceDefinitionVersion for details on how to use this API operation.
3302//
3303// The context must be non-nil and will be used for request cancellation. If
3304// the context is nil a panic will occur. In the future the SDK may create
3305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3306// for more information on using Contexts.
3307func (c *Greengrass) GetDeviceDefinitionVersionWithContext(ctx aws.Context, input *GetDeviceDefinitionVersionInput, opts ...request.Option) (*GetDeviceDefinitionVersionOutput, error) {
3308	req, out := c.GetDeviceDefinitionVersionRequest(input)
3309	req.SetContext(ctx)
3310	req.ApplyOptions(opts...)
3311	return out, req.Send()
3312}
3313
3314const opGetFunctionDefinition = "GetFunctionDefinition"
3315
3316// GetFunctionDefinitionRequest generates a "aws/request.Request" representing the
3317// client's request for the GetFunctionDefinition operation. The "output" return
3318// value will be populated with the request's response once the request completes
3319// successfully.
3320//
3321// Use "Send" method on the returned Request to send the API call to the service.
3322// the "output" return value is not valid until after Send returns without error.
3323//
3324// See GetFunctionDefinition for more information on using the GetFunctionDefinition
3325// API call, and error handling.
3326//
3327// This method is useful when you want to inject custom logic or configuration
3328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3329//
3330//
3331//    // Example sending a request using the GetFunctionDefinitionRequest method.
3332//    req, resp := client.GetFunctionDefinitionRequest(params)
3333//
3334//    err := req.Send()
3335//    if err == nil { // resp is now filled
3336//        fmt.Println(resp)
3337//    }
3338//
3339// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinition
3340func (c *Greengrass) GetFunctionDefinitionRequest(input *GetFunctionDefinitionInput) (req *request.Request, output *GetFunctionDefinitionOutput) {
3341	op := &request.Operation{
3342		Name:       opGetFunctionDefinition,
3343		HTTPMethod: "GET",
3344		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}",
3345	}
3346
3347	if input == nil {
3348		input = &GetFunctionDefinitionInput{}
3349	}
3350
3351	output = &GetFunctionDefinitionOutput{}
3352	req = c.newRequest(op, input, output)
3353	return
3354}
3355
3356// GetFunctionDefinition API operation for AWS Greengrass.
3357//
3358// Retrieves information about a Lambda function definition, including its creation
3359// time and latest version.
3360//
3361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3362// with awserr.Error's Code and Message methods to get detailed information about
3363// the error.
3364//
3365// See the AWS API reference guide for AWS Greengrass's
3366// API operation GetFunctionDefinition for usage and error information.
3367//
3368// Returned Error Types:
3369//   * BadRequestException
3370//   General error information.
3371//
3372// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinition
3373func (c *Greengrass) GetFunctionDefinition(input *GetFunctionDefinitionInput) (*GetFunctionDefinitionOutput, error) {
3374	req, out := c.GetFunctionDefinitionRequest(input)
3375	return out, req.Send()
3376}
3377
3378// GetFunctionDefinitionWithContext is the same as GetFunctionDefinition with the addition of
3379// the ability to pass a context and additional request options.
3380//
3381// See GetFunctionDefinition for details on how to use this API operation.
3382//
3383// The context must be non-nil and will be used for request cancellation. If
3384// the context is nil a panic will occur. In the future the SDK may create
3385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3386// for more information on using Contexts.
3387func (c *Greengrass) GetFunctionDefinitionWithContext(ctx aws.Context, input *GetFunctionDefinitionInput, opts ...request.Option) (*GetFunctionDefinitionOutput, error) {
3388	req, out := c.GetFunctionDefinitionRequest(input)
3389	req.SetContext(ctx)
3390	req.ApplyOptions(opts...)
3391	return out, req.Send()
3392}
3393
3394const opGetFunctionDefinitionVersion = "GetFunctionDefinitionVersion"
3395
3396// GetFunctionDefinitionVersionRequest generates a "aws/request.Request" representing the
3397// client's request for the GetFunctionDefinitionVersion operation. The "output" return
3398// value will be populated with the request's response once the request completes
3399// successfully.
3400//
3401// Use "Send" method on the returned Request to send the API call to the service.
3402// the "output" return value is not valid until after Send returns without error.
3403//
3404// See GetFunctionDefinitionVersion for more information on using the GetFunctionDefinitionVersion
3405// API call, and error handling.
3406//
3407// This method is useful when you want to inject custom logic or configuration
3408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3409//
3410//
3411//    // Example sending a request using the GetFunctionDefinitionVersionRequest method.
3412//    req, resp := client.GetFunctionDefinitionVersionRequest(params)
3413//
3414//    err := req.Send()
3415//    if err == nil { // resp is now filled
3416//        fmt.Println(resp)
3417//    }
3418//
3419// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinitionVersion
3420func (c *Greengrass) GetFunctionDefinitionVersionRequest(input *GetFunctionDefinitionVersionInput) (req *request.Request, output *GetFunctionDefinitionVersionOutput) {
3421	op := &request.Operation{
3422		Name:       opGetFunctionDefinitionVersion,
3423		HTTPMethod: "GET",
3424		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}",
3425	}
3426
3427	if input == nil {
3428		input = &GetFunctionDefinitionVersionInput{}
3429	}
3430
3431	output = &GetFunctionDefinitionVersionOutput{}
3432	req = c.newRequest(op, input, output)
3433	return
3434}
3435
3436// GetFunctionDefinitionVersion API operation for AWS Greengrass.
3437//
3438// Retrieves information about a Lambda function definition version, including
3439// which Lambda functions are included in the version and their configurations.
3440//
3441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3442// with awserr.Error's Code and Message methods to get detailed information about
3443// the error.
3444//
3445// See the AWS API reference guide for AWS Greengrass's
3446// API operation GetFunctionDefinitionVersion for usage and error information.
3447//
3448// Returned Error Types:
3449//   * BadRequestException
3450//   General error information.
3451//
3452// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinitionVersion
3453func (c *Greengrass) GetFunctionDefinitionVersion(input *GetFunctionDefinitionVersionInput) (*GetFunctionDefinitionVersionOutput, error) {
3454	req, out := c.GetFunctionDefinitionVersionRequest(input)
3455	return out, req.Send()
3456}
3457
3458// GetFunctionDefinitionVersionWithContext is the same as GetFunctionDefinitionVersion with the addition of
3459// the ability to pass a context and additional request options.
3460//
3461// See GetFunctionDefinitionVersion 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 *Greengrass) GetFunctionDefinitionVersionWithContext(ctx aws.Context, input *GetFunctionDefinitionVersionInput, opts ...request.Option) (*GetFunctionDefinitionVersionOutput, error) {
3468	req, out := c.GetFunctionDefinitionVersionRequest(input)
3469	req.SetContext(ctx)
3470	req.ApplyOptions(opts...)
3471	return out, req.Send()
3472}
3473
3474const opGetGroup = "GetGroup"
3475
3476// GetGroupRequest generates a "aws/request.Request" representing the
3477// client's request for the GetGroup 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 GetGroup for more information on using the GetGroup
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 GetGroupRequest method.
3492//    req, resp := client.GetGroupRequest(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/greengrass-2017-06-07/GetGroup
3500func (c *Greengrass) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
3501	op := &request.Operation{
3502		Name:       opGetGroup,
3503		HTTPMethod: "GET",
3504		HTTPPath:   "/greengrass/groups/{GroupId}",
3505	}
3506
3507	if input == nil {
3508		input = &GetGroupInput{}
3509	}
3510
3511	output = &GetGroupOutput{}
3512	req = c.newRequest(op, input, output)
3513	return
3514}
3515
3516// GetGroup API operation for AWS Greengrass.
3517//
3518// Retrieves information about a group.
3519//
3520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3521// with awserr.Error's Code and Message methods to get detailed information about
3522// the error.
3523//
3524// See the AWS API reference guide for AWS Greengrass's
3525// API operation GetGroup for usage and error information.
3526//
3527// Returned Error Types:
3528//   * BadRequestException
3529//   General error information.
3530//
3531// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroup
3532func (c *Greengrass) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
3533	req, out := c.GetGroupRequest(input)
3534	return out, req.Send()
3535}
3536
3537// GetGroupWithContext is the same as GetGroup with the addition of
3538// the ability to pass a context and additional request options.
3539//
3540// See GetGroup for details on how to use this API operation.
3541//
3542// The context must be non-nil and will be used for request cancellation. If
3543// the context is nil a panic will occur. In the future the SDK may create
3544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3545// for more information on using Contexts.
3546func (c *Greengrass) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) {
3547	req, out := c.GetGroupRequest(input)
3548	req.SetContext(ctx)
3549	req.ApplyOptions(opts...)
3550	return out, req.Send()
3551}
3552
3553const opGetGroupCertificateAuthority = "GetGroupCertificateAuthority"
3554
3555// GetGroupCertificateAuthorityRequest generates a "aws/request.Request" representing the
3556// client's request for the GetGroupCertificateAuthority operation. The "output" return
3557// value will be populated with the request's response once the request completes
3558// successfully.
3559//
3560// Use "Send" method on the returned Request to send the API call to the service.
3561// the "output" return value is not valid until after Send returns without error.
3562//
3563// See GetGroupCertificateAuthority for more information on using the GetGroupCertificateAuthority
3564// API call, and error handling.
3565//
3566// This method is useful when you want to inject custom logic or configuration
3567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3568//
3569//
3570//    // Example sending a request using the GetGroupCertificateAuthorityRequest method.
3571//    req, resp := client.GetGroupCertificateAuthorityRequest(params)
3572//
3573//    err := req.Send()
3574//    if err == nil { // resp is now filled
3575//        fmt.Println(resp)
3576//    }
3577//
3578// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateAuthority
3579func (c *Greengrass) GetGroupCertificateAuthorityRequest(input *GetGroupCertificateAuthorityInput) (req *request.Request, output *GetGroupCertificateAuthorityOutput) {
3580	op := &request.Operation{
3581		Name:       opGetGroupCertificateAuthority,
3582		HTTPMethod: "GET",
3583		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}",
3584	}
3585
3586	if input == nil {
3587		input = &GetGroupCertificateAuthorityInput{}
3588	}
3589
3590	output = &GetGroupCertificateAuthorityOutput{}
3591	req = c.newRequest(op, input, output)
3592	return
3593}
3594
3595// GetGroupCertificateAuthority API operation for AWS Greengrass.
3596//
3597// Retreives the CA associated with a group. Returns the public key of the CA.
3598//
3599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3600// with awserr.Error's Code and Message methods to get detailed information about
3601// the error.
3602//
3603// See the AWS API reference guide for AWS Greengrass's
3604// API operation GetGroupCertificateAuthority for usage and error information.
3605//
3606// Returned Error Types:
3607//   * BadRequestException
3608//   General error information.
3609//
3610//   * InternalServerErrorException
3611//   General error information.
3612//
3613// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateAuthority
3614func (c *Greengrass) GetGroupCertificateAuthority(input *GetGroupCertificateAuthorityInput) (*GetGroupCertificateAuthorityOutput, error) {
3615	req, out := c.GetGroupCertificateAuthorityRequest(input)
3616	return out, req.Send()
3617}
3618
3619// GetGroupCertificateAuthorityWithContext is the same as GetGroupCertificateAuthority with the addition of
3620// the ability to pass a context and additional request options.
3621//
3622// See GetGroupCertificateAuthority for details on how to use this API operation.
3623//
3624// The context must be non-nil and will be used for request cancellation. If
3625// the context is nil a panic will occur. In the future the SDK may create
3626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3627// for more information on using Contexts.
3628func (c *Greengrass) GetGroupCertificateAuthorityWithContext(ctx aws.Context, input *GetGroupCertificateAuthorityInput, opts ...request.Option) (*GetGroupCertificateAuthorityOutput, error) {
3629	req, out := c.GetGroupCertificateAuthorityRequest(input)
3630	req.SetContext(ctx)
3631	req.ApplyOptions(opts...)
3632	return out, req.Send()
3633}
3634
3635const opGetGroupCertificateConfiguration = "GetGroupCertificateConfiguration"
3636
3637// GetGroupCertificateConfigurationRequest generates a "aws/request.Request" representing the
3638// client's request for the GetGroupCertificateConfiguration operation. The "output" return
3639// value will be populated with the request's response once the request completes
3640// successfully.
3641//
3642// Use "Send" method on the returned Request to send the API call to the service.
3643// the "output" return value is not valid until after Send returns without error.
3644//
3645// See GetGroupCertificateConfiguration for more information on using the GetGroupCertificateConfiguration
3646// API call, and error handling.
3647//
3648// This method is useful when you want to inject custom logic or configuration
3649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3650//
3651//
3652//    // Example sending a request using the GetGroupCertificateConfigurationRequest method.
3653//    req, resp := client.GetGroupCertificateConfigurationRequest(params)
3654//
3655//    err := req.Send()
3656//    if err == nil { // resp is now filled
3657//        fmt.Println(resp)
3658//    }
3659//
3660// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateConfiguration
3661func (c *Greengrass) GetGroupCertificateConfigurationRequest(input *GetGroupCertificateConfigurationInput) (req *request.Request, output *GetGroupCertificateConfigurationOutput) {
3662	op := &request.Operation{
3663		Name:       opGetGroupCertificateConfiguration,
3664		HTTPMethod: "GET",
3665		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry",
3666	}
3667
3668	if input == nil {
3669		input = &GetGroupCertificateConfigurationInput{}
3670	}
3671
3672	output = &GetGroupCertificateConfigurationOutput{}
3673	req = c.newRequest(op, input, output)
3674	return
3675}
3676
3677// GetGroupCertificateConfiguration API operation for AWS Greengrass.
3678//
3679// Retrieves the current configuration for the CA used by the group.
3680//
3681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3682// with awserr.Error's Code and Message methods to get detailed information about
3683// the error.
3684//
3685// See the AWS API reference guide for AWS Greengrass's
3686// API operation GetGroupCertificateConfiguration for usage and error information.
3687//
3688// Returned Error Types:
3689//   * BadRequestException
3690//   General error information.
3691//
3692//   * InternalServerErrorException
3693//   General error information.
3694//
3695// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateConfiguration
3696func (c *Greengrass) GetGroupCertificateConfiguration(input *GetGroupCertificateConfigurationInput) (*GetGroupCertificateConfigurationOutput, error) {
3697	req, out := c.GetGroupCertificateConfigurationRequest(input)
3698	return out, req.Send()
3699}
3700
3701// GetGroupCertificateConfigurationWithContext is the same as GetGroupCertificateConfiguration with the addition of
3702// the ability to pass a context and additional request options.
3703//
3704// See GetGroupCertificateConfiguration for details on how to use this API operation.
3705//
3706// The context must be non-nil and will be used for request cancellation. If
3707// the context is nil a panic will occur. In the future the SDK may create
3708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3709// for more information on using Contexts.
3710func (c *Greengrass) GetGroupCertificateConfigurationWithContext(ctx aws.Context, input *GetGroupCertificateConfigurationInput, opts ...request.Option) (*GetGroupCertificateConfigurationOutput, error) {
3711	req, out := c.GetGroupCertificateConfigurationRequest(input)
3712	req.SetContext(ctx)
3713	req.ApplyOptions(opts...)
3714	return out, req.Send()
3715}
3716
3717const opGetGroupVersion = "GetGroupVersion"
3718
3719// GetGroupVersionRequest generates a "aws/request.Request" representing the
3720// client's request for the GetGroupVersion operation. The "output" return
3721// value will be populated with the request's response once the request completes
3722// successfully.
3723//
3724// Use "Send" method on the returned Request to send the API call to the service.
3725// the "output" return value is not valid until after Send returns without error.
3726//
3727// See GetGroupVersion for more information on using the GetGroupVersion
3728// API call, and error handling.
3729//
3730// This method is useful when you want to inject custom logic or configuration
3731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3732//
3733//
3734//    // Example sending a request using the GetGroupVersionRequest method.
3735//    req, resp := client.GetGroupVersionRequest(params)
3736//
3737//    err := req.Send()
3738//    if err == nil { // resp is now filled
3739//        fmt.Println(resp)
3740//    }
3741//
3742// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupVersion
3743func (c *Greengrass) GetGroupVersionRequest(input *GetGroupVersionInput) (req *request.Request, output *GetGroupVersionOutput) {
3744	op := &request.Operation{
3745		Name:       opGetGroupVersion,
3746		HTTPMethod: "GET",
3747		HTTPPath:   "/greengrass/groups/{GroupId}/versions/{GroupVersionId}",
3748	}
3749
3750	if input == nil {
3751		input = &GetGroupVersionInput{}
3752	}
3753
3754	output = &GetGroupVersionOutput{}
3755	req = c.newRequest(op, input, output)
3756	return
3757}
3758
3759// GetGroupVersion API operation for AWS Greengrass.
3760//
3761// Retrieves information about a group version.
3762//
3763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3764// with awserr.Error's Code and Message methods to get detailed information about
3765// the error.
3766//
3767// See the AWS API reference guide for AWS Greengrass's
3768// API operation GetGroupVersion for usage and error information.
3769//
3770// Returned Error Types:
3771//   * BadRequestException
3772//   General error information.
3773//
3774// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupVersion
3775func (c *Greengrass) GetGroupVersion(input *GetGroupVersionInput) (*GetGroupVersionOutput, error) {
3776	req, out := c.GetGroupVersionRequest(input)
3777	return out, req.Send()
3778}
3779
3780// GetGroupVersionWithContext is the same as GetGroupVersion with the addition of
3781// the ability to pass a context and additional request options.
3782//
3783// See GetGroupVersion for details on how to use this API operation.
3784//
3785// The context must be non-nil and will be used for request cancellation. If
3786// the context is nil a panic will occur. In the future the SDK may create
3787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3788// for more information on using Contexts.
3789func (c *Greengrass) GetGroupVersionWithContext(ctx aws.Context, input *GetGroupVersionInput, opts ...request.Option) (*GetGroupVersionOutput, error) {
3790	req, out := c.GetGroupVersionRequest(input)
3791	req.SetContext(ctx)
3792	req.ApplyOptions(opts...)
3793	return out, req.Send()
3794}
3795
3796const opGetLoggerDefinition = "GetLoggerDefinition"
3797
3798// GetLoggerDefinitionRequest generates a "aws/request.Request" representing the
3799// client's request for the GetLoggerDefinition operation. The "output" return
3800// value will be populated with the request's response once the request completes
3801// successfully.
3802//
3803// Use "Send" method on the returned Request to send the API call to the service.
3804// the "output" return value is not valid until after Send returns without error.
3805//
3806// See GetLoggerDefinition for more information on using the GetLoggerDefinition
3807// API call, and error handling.
3808//
3809// This method is useful when you want to inject custom logic or configuration
3810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3811//
3812//
3813//    // Example sending a request using the GetLoggerDefinitionRequest method.
3814//    req, resp := client.GetLoggerDefinitionRequest(params)
3815//
3816//    err := req.Send()
3817//    if err == nil { // resp is now filled
3818//        fmt.Println(resp)
3819//    }
3820//
3821// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinition
3822func (c *Greengrass) GetLoggerDefinitionRequest(input *GetLoggerDefinitionInput) (req *request.Request, output *GetLoggerDefinitionOutput) {
3823	op := &request.Operation{
3824		Name:       opGetLoggerDefinition,
3825		HTTPMethod: "GET",
3826		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}",
3827	}
3828
3829	if input == nil {
3830		input = &GetLoggerDefinitionInput{}
3831	}
3832
3833	output = &GetLoggerDefinitionOutput{}
3834	req = c.newRequest(op, input, output)
3835	return
3836}
3837
3838// GetLoggerDefinition API operation for AWS Greengrass.
3839//
3840// Retrieves information about a logger definition.
3841//
3842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3843// with awserr.Error's Code and Message methods to get detailed information about
3844// the error.
3845//
3846// See the AWS API reference guide for AWS Greengrass's
3847// API operation GetLoggerDefinition for usage and error information.
3848//
3849// Returned Error Types:
3850//   * BadRequestException
3851//   General error information.
3852//
3853// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinition
3854func (c *Greengrass) GetLoggerDefinition(input *GetLoggerDefinitionInput) (*GetLoggerDefinitionOutput, error) {
3855	req, out := c.GetLoggerDefinitionRequest(input)
3856	return out, req.Send()
3857}
3858
3859// GetLoggerDefinitionWithContext is the same as GetLoggerDefinition with the addition of
3860// the ability to pass a context and additional request options.
3861//
3862// See GetLoggerDefinition for details on how to use this API operation.
3863//
3864// The context must be non-nil and will be used for request cancellation. If
3865// the context is nil a panic will occur. In the future the SDK may create
3866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3867// for more information on using Contexts.
3868func (c *Greengrass) GetLoggerDefinitionWithContext(ctx aws.Context, input *GetLoggerDefinitionInput, opts ...request.Option) (*GetLoggerDefinitionOutput, error) {
3869	req, out := c.GetLoggerDefinitionRequest(input)
3870	req.SetContext(ctx)
3871	req.ApplyOptions(opts...)
3872	return out, req.Send()
3873}
3874
3875const opGetLoggerDefinitionVersion = "GetLoggerDefinitionVersion"
3876
3877// GetLoggerDefinitionVersionRequest generates a "aws/request.Request" representing the
3878// client's request for the GetLoggerDefinitionVersion operation. The "output" return
3879// value will be populated with the request's response once the request completes
3880// successfully.
3881//
3882// Use "Send" method on the returned Request to send the API call to the service.
3883// the "output" return value is not valid until after Send returns without error.
3884//
3885// See GetLoggerDefinitionVersion for more information on using the GetLoggerDefinitionVersion
3886// API call, and error handling.
3887//
3888// This method is useful when you want to inject custom logic or configuration
3889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3890//
3891//
3892//    // Example sending a request using the GetLoggerDefinitionVersionRequest method.
3893//    req, resp := client.GetLoggerDefinitionVersionRequest(params)
3894//
3895//    err := req.Send()
3896//    if err == nil { // resp is now filled
3897//        fmt.Println(resp)
3898//    }
3899//
3900// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinitionVersion
3901func (c *Greengrass) GetLoggerDefinitionVersionRequest(input *GetLoggerDefinitionVersionInput) (req *request.Request, output *GetLoggerDefinitionVersionOutput) {
3902	op := &request.Operation{
3903		Name:       opGetLoggerDefinitionVersion,
3904		HTTPMethod: "GET",
3905		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}",
3906	}
3907
3908	if input == nil {
3909		input = &GetLoggerDefinitionVersionInput{}
3910	}
3911
3912	output = &GetLoggerDefinitionVersionOutput{}
3913	req = c.newRequest(op, input, output)
3914	return
3915}
3916
3917// GetLoggerDefinitionVersion API operation for AWS Greengrass.
3918//
3919// Retrieves information about a logger definition version.
3920//
3921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3922// with awserr.Error's Code and Message methods to get detailed information about
3923// the error.
3924//
3925// See the AWS API reference guide for AWS Greengrass's
3926// API operation GetLoggerDefinitionVersion for usage and error information.
3927//
3928// Returned Error Types:
3929//   * BadRequestException
3930//   General error information.
3931//
3932// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinitionVersion
3933func (c *Greengrass) GetLoggerDefinitionVersion(input *GetLoggerDefinitionVersionInput) (*GetLoggerDefinitionVersionOutput, error) {
3934	req, out := c.GetLoggerDefinitionVersionRequest(input)
3935	return out, req.Send()
3936}
3937
3938// GetLoggerDefinitionVersionWithContext is the same as GetLoggerDefinitionVersion with the addition of
3939// the ability to pass a context and additional request options.
3940//
3941// See GetLoggerDefinitionVersion for details on how to use this API operation.
3942//
3943// The context must be non-nil and will be used for request cancellation. If
3944// the context is nil a panic will occur. In the future the SDK may create
3945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3946// for more information on using Contexts.
3947func (c *Greengrass) GetLoggerDefinitionVersionWithContext(ctx aws.Context, input *GetLoggerDefinitionVersionInput, opts ...request.Option) (*GetLoggerDefinitionVersionOutput, error) {
3948	req, out := c.GetLoggerDefinitionVersionRequest(input)
3949	req.SetContext(ctx)
3950	req.ApplyOptions(opts...)
3951	return out, req.Send()
3952}
3953
3954const opGetResourceDefinition = "GetResourceDefinition"
3955
3956// GetResourceDefinitionRequest generates a "aws/request.Request" representing the
3957// client's request for the GetResourceDefinition operation. The "output" return
3958// value will be populated with the request's response once the request completes
3959// successfully.
3960//
3961// Use "Send" method on the returned Request to send the API call to the service.
3962// the "output" return value is not valid until after Send returns without error.
3963//
3964// See GetResourceDefinition for more information on using the GetResourceDefinition
3965// API call, and error handling.
3966//
3967// This method is useful when you want to inject custom logic or configuration
3968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3969//
3970//
3971//    // Example sending a request using the GetResourceDefinitionRequest method.
3972//    req, resp := client.GetResourceDefinitionRequest(params)
3973//
3974//    err := req.Send()
3975//    if err == nil { // resp is now filled
3976//        fmt.Println(resp)
3977//    }
3978//
3979// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinition
3980func (c *Greengrass) GetResourceDefinitionRequest(input *GetResourceDefinitionInput) (req *request.Request, output *GetResourceDefinitionOutput) {
3981	op := &request.Operation{
3982		Name:       opGetResourceDefinition,
3983		HTTPMethod: "GET",
3984		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}",
3985	}
3986
3987	if input == nil {
3988		input = &GetResourceDefinitionInput{}
3989	}
3990
3991	output = &GetResourceDefinitionOutput{}
3992	req = c.newRequest(op, input, output)
3993	return
3994}
3995
3996// GetResourceDefinition API operation for AWS Greengrass.
3997//
3998// Retrieves information about a resource definition, including its creation
3999// time and latest version.
4000//
4001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4002// with awserr.Error's Code and Message methods to get detailed information about
4003// the error.
4004//
4005// See the AWS API reference guide for AWS Greengrass's
4006// API operation GetResourceDefinition for usage and error information.
4007//
4008// Returned Error Types:
4009//   * BadRequestException
4010//   General error information.
4011//
4012// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinition
4013func (c *Greengrass) GetResourceDefinition(input *GetResourceDefinitionInput) (*GetResourceDefinitionOutput, error) {
4014	req, out := c.GetResourceDefinitionRequest(input)
4015	return out, req.Send()
4016}
4017
4018// GetResourceDefinitionWithContext is the same as GetResourceDefinition with the addition of
4019// the ability to pass a context and additional request options.
4020//
4021// See GetResourceDefinition for details on how to use this API operation.
4022//
4023// The context must be non-nil and will be used for request cancellation. If
4024// the context is nil a panic will occur. In the future the SDK may create
4025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4026// for more information on using Contexts.
4027func (c *Greengrass) GetResourceDefinitionWithContext(ctx aws.Context, input *GetResourceDefinitionInput, opts ...request.Option) (*GetResourceDefinitionOutput, error) {
4028	req, out := c.GetResourceDefinitionRequest(input)
4029	req.SetContext(ctx)
4030	req.ApplyOptions(opts...)
4031	return out, req.Send()
4032}
4033
4034const opGetResourceDefinitionVersion = "GetResourceDefinitionVersion"
4035
4036// GetResourceDefinitionVersionRequest generates a "aws/request.Request" representing the
4037// client's request for the GetResourceDefinitionVersion operation. The "output" return
4038// value will be populated with the request's response once the request completes
4039// successfully.
4040//
4041// Use "Send" method on the returned Request to send the API call to the service.
4042// the "output" return value is not valid until after Send returns without error.
4043//
4044// See GetResourceDefinitionVersion for more information on using the GetResourceDefinitionVersion
4045// API call, and error handling.
4046//
4047// This method is useful when you want to inject custom logic or configuration
4048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4049//
4050//
4051//    // Example sending a request using the GetResourceDefinitionVersionRequest method.
4052//    req, resp := client.GetResourceDefinitionVersionRequest(params)
4053//
4054//    err := req.Send()
4055//    if err == nil { // resp is now filled
4056//        fmt.Println(resp)
4057//    }
4058//
4059// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinitionVersion
4060func (c *Greengrass) GetResourceDefinitionVersionRequest(input *GetResourceDefinitionVersionInput) (req *request.Request, output *GetResourceDefinitionVersionOutput) {
4061	op := &request.Operation{
4062		Name:       opGetResourceDefinitionVersion,
4063		HTTPMethod: "GET",
4064		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}",
4065	}
4066
4067	if input == nil {
4068		input = &GetResourceDefinitionVersionInput{}
4069	}
4070
4071	output = &GetResourceDefinitionVersionOutput{}
4072	req = c.newRequest(op, input, output)
4073	return
4074}
4075
4076// GetResourceDefinitionVersion API operation for AWS Greengrass.
4077//
4078// Retrieves information about a resource definition version, including which
4079// resources are included in the version.
4080//
4081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4082// with awserr.Error's Code and Message methods to get detailed information about
4083// the error.
4084//
4085// See the AWS API reference guide for AWS Greengrass's
4086// API operation GetResourceDefinitionVersion for usage and error information.
4087//
4088// Returned Error Types:
4089//   * BadRequestException
4090//   General error information.
4091//
4092// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinitionVersion
4093func (c *Greengrass) GetResourceDefinitionVersion(input *GetResourceDefinitionVersionInput) (*GetResourceDefinitionVersionOutput, error) {
4094	req, out := c.GetResourceDefinitionVersionRequest(input)
4095	return out, req.Send()
4096}
4097
4098// GetResourceDefinitionVersionWithContext is the same as GetResourceDefinitionVersion with the addition of
4099// the ability to pass a context and additional request options.
4100//
4101// See GetResourceDefinitionVersion for details on how to use this API operation.
4102//
4103// The context must be non-nil and will be used for request cancellation. If
4104// the context is nil a panic will occur. In the future the SDK may create
4105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4106// for more information on using Contexts.
4107func (c *Greengrass) GetResourceDefinitionVersionWithContext(ctx aws.Context, input *GetResourceDefinitionVersionInput, opts ...request.Option) (*GetResourceDefinitionVersionOutput, error) {
4108	req, out := c.GetResourceDefinitionVersionRequest(input)
4109	req.SetContext(ctx)
4110	req.ApplyOptions(opts...)
4111	return out, req.Send()
4112}
4113
4114const opGetServiceRoleForAccount = "GetServiceRoleForAccount"
4115
4116// GetServiceRoleForAccountRequest generates a "aws/request.Request" representing the
4117// client's request for the GetServiceRoleForAccount operation. The "output" return
4118// value will be populated with the request's response once the request completes
4119// successfully.
4120//
4121// Use "Send" method on the returned Request to send the API call to the service.
4122// the "output" return value is not valid until after Send returns without error.
4123//
4124// See GetServiceRoleForAccount for more information on using the GetServiceRoleForAccount
4125// API call, and error handling.
4126//
4127// This method is useful when you want to inject custom logic or configuration
4128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4129//
4130//
4131//    // Example sending a request using the GetServiceRoleForAccountRequest method.
4132//    req, resp := client.GetServiceRoleForAccountRequest(params)
4133//
4134//    err := req.Send()
4135//    if err == nil { // resp is now filled
4136//        fmt.Println(resp)
4137//    }
4138//
4139// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetServiceRoleForAccount
4140func (c *Greengrass) GetServiceRoleForAccountRequest(input *GetServiceRoleForAccountInput) (req *request.Request, output *GetServiceRoleForAccountOutput) {
4141	op := &request.Operation{
4142		Name:       opGetServiceRoleForAccount,
4143		HTTPMethod: "GET",
4144		HTTPPath:   "/greengrass/servicerole",
4145	}
4146
4147	if input == nil {
4148		input = &GetServiceRoleForAccountInput{}
4149	}
4150
4151	output = &GetServiceRoleForAccountOutput{}
4152	req = c.newRequest(op, input, output)
4153	return
4154}
4155
4156// GetServiceRoleForAccount API operation for AWS Greengrass.
4157//
4158// Retrieves the service role that is attached to your account.
4159//
4160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4161// with awserr.Error's Code and Message methods to get detailed information about
4162// the error.
4163//
4164// See the AWS API reference guide for AWS Greengrass's
4165// API operation GetServiceRoleForAccount for usage and error information.
4166//
4167// Returned Error Types:
4168//   * InternalServerErrorException
4169//   General error information.
4170//
4171// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetServiceRoleForAccount
4172func (c *Greengrass) GetServiceRoleForAccount(input *GetServiceRoleForAccountInput) (*GetServiceRoleForAccountOutput, error) {
4173	req, out := c.GetServiceRoleForAccountRequest(input)
4174	return out, req.Send()
4175}
4176
4177// GetServiceRoleForAccountWithContext is the same as GetServiceRoleForAccount with the addition of
4178// the ability to pass a context and additional request options.
4179//
4180// See GetServiceRoleForAccount for details on how to use this API operation.
4181//
4182// The context must be non-nil and will be used for request cancellation. If
4183// the context is nil a panic will occur. In the future the SDK may create
4184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4185// for more information on using Contexts.
4186func (c *Greengrass) GetServiceRoleForAccountWithContext(ctx aws.Context, input *GetServiceRoleForAccountInput, opts ...request.Option) (*GetServiceRoleForAccountOutput, error) {
4187	req, out := c.GetServiceRoleForAccountRequest(input)
4188	req.SetContext(ctx)
4189	req.ApplyOptions(opts...)
4190	return out, req.Send()
4191}
4192
4193const opGetSubscriptionDefinition = "GetSubscriptionDefinition"
4194
4195// GetSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
4196// client's request for the GetSubscriptionDefinition operation. The "output" return
4197// value will be populated with the request's response once the request completes
4198// successfully.
4199//
4200// Use "Send" method on the returned Request to send the API call to the service.
4201// the "output" return value is not valid until after Send returns without error.
4202//
4203// See GetSubscriptionDefinition for more information on using the GetSubscriptionDefinition
4204// API call, and error handling.
4205//
4206// This method is useful when you want to inject custom logic or configuration
4207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4208//
4209//
4210//    // Example sending a request using the GetSubscriptionDefinitionRequest method.
4211//    req, resp := client.GetSubscriptionDefinitionRequest(params)
4212//
4213//    err := req.Send()
4214//    if err == nil { // resp is now filled
4215//        fmt.Println(resp)
4216//    }
4217//
4218// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinition
4219func (c *Greengrass) GetSubscriptionDefinitionRequest(input *GetSubscriptionDefinitionInput) (req *request.Request, output *GetSubscriptionDefinitionOutput) {
4220	op := &request.Operation{
4221		Name:       opGetSubscriptionDefinition,
4222		HTTPMethod: "GET",
4223		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
4224	}
4225
4226	if input == nil {
4227		input = &GetSubscriptionDefinitionInput{}
4228	}
4229
4230	output = &GetSubscriptionDefinitionOutput{}
4231	req = c.newRequest(op, input, output)
4232	return
4233}
4234
4235// GetSubscriptionDefinition API operation for AWS Greengrass.
4236//
4237// Retrieves information about a subscription definition.
4238//
4239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4240// with awserr.Error's Code and Message methods to get detailed information about
4241// the error.
4242//
4243// See the AWS API reference guide for AWS Greengrass's
4244// API operation GetSubscriptionDefinition for usage and error information.
4245//
4246// Returned Error Types:
4247//   * BadRequestException
4248//   General error information.
4249//
4250// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinition
4251func (c *Greengrass) GetSubscriptionDefinition(input *GetSubscriptionDefinitionInput) (*GetSubscriptionDefinitionOutput, error) {
4252	req, out := c.GetSubscriptionDefinitionRequest(input)
4253	return out, req.Send()
4254}
4255
4256// GetSubscriptionDefinitionWithContext is the same as GetSubscriptionDefinition with the addition of
4257// the ability to pass a context and additional request options.
4258//
4259// See GetSubscriptionDefinition for details on how to use this API operation.
4260//
4261// The context must be non-nil and will be used for request cancellation. If
4262// the context is nil a panic will occur. In the future the SDK may create
4263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4264// for more information on using Contexts.
4265func (c *Greengrass) GetSubscriptionDefinitionWithContext(ctx aws.Context, input *GetSubscriptionDefinitionInput, opts ...request.Option) (*GetSubscriptionDefinitionOutput, error) {
4266	req, out := c.GetSubscriptionDefinitionRequest(input)
4267	req.SetContext(ctx)
4268	req.ApplyOptions(opts...)
4269	return out, req.Send()
4270}
4271
4272const opGetSubscriptionDefinitionVersion = "GetSubscriptionDefinitionVersion"
4273
4274// GetSubscriptionDefinitionVersionRequest generates a "aws/request.Request" representing the
4275// client's request for the GetSubscriptionDefinitionVersion operation. The "output" return
4276// value will be populated with the request's response once the request completes
4277// successfully.
4278//
4279// Use "Send" method on the returned Request to send the API call to the service.
4280// the "output" return value is not valid until after Send returns without error.
4281//
4282// See GetSubscriptionDefinitionVersion for more information on using the GetSubscriptionDefinitionVersion
4283// API call, and error handling.
4284//
4285// This method is useful when you want to inject custom logic or configuration
4286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4287//
4288//
4289//    // Example sending a request using the GetSubscriptionDefinitionVersionRequest method.
4290//    req, resp := client.GetSubscriptionDefinitionVersionRequest(params)
4291//
4292//    err := req.Send()
4293//    if err == nil { // resp is now filled
4294//        fmt.Println(resp)
4295//    }
4296//
4297// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinitionVersion
4298func (c *Greengrass) GetSubscriptionDefinitionVersionRequest(input *GetSubscriptionDefinitionVersionInput) (req *request.Request, output *GetSubscriptionDefinitionVersionOutput) {
4299	op := &request.Operation{
4300		Name:       opGetSubscriptionDefinitionVersion,
4301		HTTPMethod: "GET",
4302		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}",
4303	}
4304
4305	if input == nil {
4306		input = &GetSubscriptionDefinitionVersionInput{}
4307	}
4308
4309	output = &GetSubscriptionDefinitionVersionOutput{}
4310	req = c.newRequest(op, input, output)
4311	return
4312}
4313
4314// GetSubscriptionDefinitionVersion API operation for AWS Greengrass.
4315//
4316// Retrieves information about a subscription definition version.
4317//
4318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4319// with awserr.Error's Code and Message methods to get detailed information about
4320// the error.
4321//
4322// See the AWS API reference guide for AWS Greengrass's
4323// API operation GetSubscriptionDefinitionVersion for usage and error information.
4324//
4325// Returned Error Types:
4326//   * BadRequestException
4327//   General error information.
4328//
4329// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinitionVersion
4330func (c *Greengrass) GetSubscriptionDefinitionVersion(input *GetSubscriptionDefinitionVersionInput) (*GetSubscriptionDefinitionVersionOutput, error) {
4331	req, out := c.GetSubscriptionDefinitionVersionRequest(input)
4332	return out, req.Send()
4333}
4334
4335// GetSubscriptionDefinitionVersionWithContext is the same as GetSubscriptionDefinitionVersion with the addition of
4336// the ability to pass a context and additional request options.
4337//
4338// See GetSubscriptionDefinitionVersion for details on how to use this API operation.
4339//
4340// The context must be non-nil and will be used for request cancellation. If
4341// the context is nil a panic will occur. In the future the SDK may create
4342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4343// for more information on using Contexts.
4344func (c *Greengrass) GetSubscriptionDefinitionVersionWithContext(ctx aws.Context, input *GetSubscriptionDefinitionVersionInput, opts ...request.Option) (*GetSubscriptionDefinitionVersionOutput, error) {
4345	req, out := c.GetSubscriptionDefinitionVersionRequest(input)
4346	req.SetContext(ctx)
4347	req.ApplyOptions(opts...)
4348	return out, req.Send()
4349}
4350
4351const opGetThingRuntimeConfiguration = "GetThingRuntimeConfiguration"
4352
4353// GetThingRuntimeConfigurationRequest generates a "aws/request.Request" representing the
4354// client's request for the GetThingRuntimeConfiguration operation. The "output" return
4355// value will be populated with the request's response once the request completes
4356// successfully.
4357//
4358// Use "Send" method on the returned Request to send the API call to the service.
4359// the "output" return value is not valid until after Send returns without error.
4360//
4361// See GetThingRuntimeConfiguration for more information on using the GetThingRuntimeConfiguration
4362// API call, and error handling.
4363//
4364// This method is useful when you want to inject custom logic or configuration
4365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4366//
4367//
4368//    // Example sending a request using the GetThingRuntimeConfigurationRequest method.
4369//    req, resp := client.GetThingRuntimeConfigurationRequest(params)
4370//
4371//    err := req.Send()
4372//    if err == nil { // resp is now filled
4373//        fmt.Println(resp)
4374//    }
4375//
4376// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetThingRuntimeConfiguration
4377func (c *Greengrass) GetThingRuntimeConfigurationRequest(input *GetThingRuntimeConfigurationInput) (req *request.Request, output *GetThingRuntimeConfigurationOutput) {
4378	op := &request.Operation{
4379		Name:       opGetThingRuntimeConfiguration,
4380		HTTPMethod: "GET",
4381		HTTPPath:   "/greengrass/things/{ThingName}/runtimeconfig",
4382	}
4383
4384	if input == nil {
4385		input = &GetThingRuntimeConfigurationInput{}
4386	}
4387
4388	output = &GetThingRuntimeConfigurationOutput{}
4389	req = c.newRequest(op, input, output)
4390	return
4391}
4392
4393// GetThingRuntimeConfiguration API operation for AWS Greengrass.
4394//
4395// Get the runtime configuration of a thing.
4396//
4397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4398// with awserr.Error's Code and Message methods to get detailed information about
4399// the error.
4400//
4401// See the AWS API reference guide for AWS Greengrass's
4402// API operation GetThingRuntimeConfiguration for usage and error information.
4403//
4404// Returned Error Types:
4405//   * BadRequestException
4406//   General error information.
4407//
4408//   * InternalServerErrorException
4409//   General error information.
4410//
4411// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetThingRuntimeConfiguration
4412func (c *Greengrass) GetThingRuntimeConfiguration(input *GetThingRuntimeConfigurationInput) (*GetThingRuntimeConfigurationOutput, error) {
4413	req, out := c.GetThingRuntimeConfigurationRequest(input)
4414	return out, req.Send()
4415}
4416
4417// GetThingRuntimeConfigurationWithContext is the same as GetThingRuntimeConfiguration with the addition of
4418// the ability to pass a context and additional request options.
4419//
4420// See GetThingRuntimeConfiguration for details on how to use this API operation.
4421//
4422// The context must be non-nil and will be used for request cancellation. If
4423// the context is nil a panic will occur. In the future the SDK may create
4424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4425// for more information on using Contexts.
4426func (c *Greengrass) GetThingRuntimeConfigurationWithContext(ctx aws.Context, input *GetThingRuntimeConfigurationInput, opts ...request.Option) (*GetThingRuntimeConfigurationOutput, error) {
4427	req, out := c.GetThingRuntimeConfigurationRequest(input)
4428	req.SetContext(ctx)
4429	req.ApplyOptions(opts...)
4430	return out, req.Send()
4431}
4432
4433const opListBulkDeploymentDetailedReports = "ListBulkDeploymentDetailedReports"
4434
4435// ListBulkDeploymentDetailedReportsRequest generates a "aws/request.Request" representing the
4436// client's request for the ListBulkDeploymentDetailedReports operation. The "output" return
4437// value will be populated with the request's response once the request completes
4438// successfully.
4439//
4440// Use "Send" method on the returned Request to send the API call to the service.
4441// the "output" return value is not valid until after Send returns without error.
4442//
4443// See ListBulkDeploymentDetailedReports for more information on using the ListBulkDeploymentDetailedReports
4444// API call, and error handling.
4445//
4446// This method is useful when you want to inject custom logic or configuration
4447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4448//
4449//
4450//    // Example sending a request using the ListBulkDeploymentDetailedReportsRequest method.
4451//    req, resp := client.ListBulkDeploymentDetailedReportsRequest(params)
4452//
4453//    err := req.Send()
4454//    if err == nil { // resp is now filled
4455//        fmt.Println(resp)
4456//    }
4457//
4458// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeploymentDetailedReports
4459func (c *Greengrass) ListBulkDeploymentDetailedReportsRequest(input *ListBulkDeploymentDetailedReportsInput) (req *request.Request, output *ListBulkDeploymentDetailedReportsOutput) {
4460	op := &request.Operation{
4461		Name:       opListBulkDeploymentDetailedReports,
4462		HTTPMethod: "GET",
4463		HTTPPath:   "/greengrass/bulk/deployments/{BulkDeploymentId}/detailed-reports",
4464	}
4465
4466	if input == nil {
4467		input = &ListBulkDeploymentDetailedReportsInput{}
4468	}
4469
4470	output = &ListBulkDeploymentDetailedReportsOutput{}
4471	req = c.newRequest(op, input, output)
4472	return
4473}
4474
4475// ListBulkDeploymentDetailedReports API operation for AWS Greengrass.
4476//
4477// Gets a paginated list of the deployments that have been started in a bulk
4478// deployment operation, and their current deployment status.
4479//
4480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4481// with awserr.Error's Code and Message methods to get detailed information about
4482// the error.
4483//
4484// See the AWS API reference guide for AWS Greengrass's
4485// API operation ListBulkDeploymentDetailedReports for usage and error information.
4486//
4487// Returned Error Types:
4488//   * BadRequestException
4489//   General error information.
4490//
4491// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeploymentDetailedReports
4492func (c *Greengrass) ListBulkDeploymentDetailedReports(input *ListBulkDeploymentDetailedReportsInput) (*ListBulkDeploymentDetailedReportsOutput, error) {
4493	req, out := c.ListBulkDeploymentDetailedReportsRequest(input)
4494	return out, req.Send()
4495}
4496
4497// ListBulkDeploymentDetailedReportsWithContext is the same as ListBulkDeploymentDetailedReports with the addition of
4498// the ability to pass a context and additional request options.
4499//
4500// See ListBulkDeploymentDetailedReports for details on how to use this API operation.
4501//
4502// The context must be non-nil and will be used for request cancellation. If
4503// the context is nil a panic will occur. In the future the SDK may create
4504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4505// for more information on using Contexts.
4506func (c *Greengrass) ListBulkDeploymentDetailedReportsWithContext(ctx aws.Context, input *ListBulkDeploymentDetailedReportsInput, opts ...request.Option) (*ListBulkDeploymentDetailedReportsOutput, error) {
4507	req, out := c.ListBulkDeploymentDetailedReportsRequest(input)
4508	req.SetContext(ctx)
4509	req.ApplyOptions(opts...)
4510	return out, req.Send()
4511}
4512
4513const opListBulkDeployments = "ListBulkDeployments"
4514
4515// ListBulkDeploymentsRequest generates a "aws/request.Request" representing the
4516// client's request for the ListBulkDeployments operation. The "output" return
4517// value will be populated with the request's response once the request completes
4518// successfully.
4519//
4520// Use "Send" method on the returned Request to send the API call to the service.
4521// the "output" return value is not valid until after Send returns without error.
4522//
4523// See ListBulkDeployments for more information on using the ListBulkDeployments
4524// API call, and error handling.
4525//
4526// This method is useful when you want to inject custom logic or configuration
4527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4528//
4529//
4530//    // Example sending a request using the ListBulkDeploymentsRequest method.
4531//    req, resp := client.ListBulkDeploymentsRequest(params)
4532//
4533//    err := req.Send()
4534//    if err == nil { // resp is now filled
4535//        fmt.Println(resp)
4536//    }
4537//
4538// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeployments
4539func (c *Greengrass) ListBulkDeploymentsRequest(input *ListBulkDeploymentsInput) (req *request.Request, output *ListBulkDeploymentsOutput) {
4540	op := &request.Operation{
4541		Name:       opListBulkDeployments,
4542		HTTPMethod: "GET",
4543		HTTPPath:   "/greengrass/bulk/deployments",
4544	}
4545
4546	if input == nil {
4547		input = &ListBulkDeploymentsInput{}
4548	}
4549
4550	output = &ListBulkDeploymentsOutput{}
4551	req = c.newRequest(op, input, output)
4552	return
4553}
4554
4555// ListBulkDeployments API operation for AWS Greengrass.
4556//
4557// Returns a list of bulk deployments.
4558//
4559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4560// with awserr.Error's Code and Message methods to get detailed information about
4561// the error.
4562//
4563// See the AWS API reference guide for AWS Greengrass's
4564// API operation ListBulkDeployments for usage and error information.
4565//
4566// Returned Error Types:
4567//   * BadRequestException
4568//   General error information.
4569//
4570// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeployments
4571func (c *Greengrass) ListBulkDeployments(input *ListBulkDeploymentsInput) (*ListBulkDeploymentsOutput, error) {
4572	req, out := c.ListBulkDeploymentsRequest(input)
4573	return out, req.Send()
4574}
4575
4576// ListBulkDeploymentsWithContext is the same as ListBulkDeployments with the addition of
4577// the ability to pass a context and additional request options.
4578//
4579// See ListBulkDeployments for details on how to use this API operation.
4580//
4581// The context must be non-nil and will be used for request cancellation. If
4582// the context is nil a panic will occur. In the future the SDK may create
4583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4584// for more information on using Contexts.
4585func (c *Greengrass) ListBulkDeploymentsWithContext(ctx aws.Context, input *ListBulkDeploymentsInput, opts ...request.Option) (*ListBulkDeploymentsOutput, error) {
4586	req, out := c.ListBulkDeploymentsRequest(input)
4587	req.SetContext(ctx)
4588	req.ApplyOptions(opts...)
4589	return out, req.Send()
4590}
4591
4592const opListConnectorDefinitionVersions = "ListConnectorDefinitionVersions"
4593
4594// ListConnectorDefinitionVersionsRequest generates a "aws/request.Request" representing the
4595// client's request for the ListConnectorDefinitionVersions operation. The "output" return
4596// value will be populated with the request's response once the request completes
4597// successfully.
4598//
4599// Use "Send" method on the returned Request to send the API call to the service.
4600// the "output" return value is not valid until after Send returns without error.
4601//
4602// See ListConnectorDefinitionVersions for more information on using the ListConnectorDefinitionVersions
4603// API call, and error handling.
4604//
4605// This method is useful when you want to inject custom logic or configuration
4606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4607//
4608//
4609//    // Example sending a request using the ListConnectorDefinitionVersionsRequest method.
4610//    req, resp := client.ListConnectorDefinitionVersionsRequest(params)
4611//
4612//    err := req.Send()
4613//    if err == nil { // resp is now filled
4614//        fmt.Println(resp)
4615//    }
4616//
4617// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitionVersions
4618func (c *Greengrass) ListConnectorDefinitionVersionsRequest(input *ListConnectorDefinitionVersionsInput) (req *request.Request, output *ListConnectorDefinitionVersionsOutput) {
4619	op := &request.Operation{
4620		Name:       opListConnectorDefinitionVersions,
4621		HTTPMethod: "GET",
4622		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions",
4623	}
4624
4625	if input == nil {
4626		input = &ListConnectorDefinitionVersionsInput{}
4627	}
4628
4629	output = &ListConnectorDefinitionVersionsOutput{}
4630	req = c.newRequest(op, input, output)
4631	return
4632}
4633
4634// ListConnectorDefinitionVersions API operation for AWS Greengrass.
4635//
4636// Lists the versions of a connector definition, which are containers for connectors.
4637// Connectors run on the Greengrass core and contain built-in integration with
4638// local infrastructure, device protocols, AWS, and other cloud services.
4639//
4640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4641// with awserr.Error's Code and Message methods to get detailed information about
4642// the error.
4643//
4644// See the AWS API reference guide for AWS Greengrass's
4645// API operation ListConnectorDefinitionVersions for usage and error information.
4646//
4647// Returned Error Types:
4648//   * BadRequestException
4649//   General error information.
4650//
4651// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitionVersions
4652func (c *Greengrass) ListConnectorDefinitionVersions(input *ListConnectorDefinitionVersionsInput) (*ListConnectorDefinitionVersionsOutput, error) {
4653	req, out := c.ListConnectorDefinitionVersionsRequest(input)
4654	return out, req.Send()
4655}
4656
4657// ListConnectorDefinitionVersionsWithContext is the same as ListConnectorDefinitionVersions with the addition of
4658// the ability to pass a context and additional request options.
4659//
4660// See ListConnectorDefinitionVersions for details on how to use this API operation.
4661//
4662// The context must be non-nil and will be used for request cancellation. If
4663// the context is nil a panic will occur. In the future the SDK may create
4664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4665// for more information on using Contexts.
4666func (c *Greengrass) ListConnectorDefinitionVersionsWithContext(ctx aws.Context, input *ListConnectorDefinitionVersionsInput, opts ...request.Option) (*ListConnectorDefinitionVersionsOutput, error) {
4667	req, out := c.ListConnectorDefinitionVersionsRequest(input)
4668	req.SetContext(ctx)
4669	req.ApplyOptions(opts...)
4670	return out, req.Send()
4671}
4672
4673const opListConnectorDefinitions = "ListConnectorDefinitions"
4674
4675// ListConnectorDefinitionsRequest generates a "aws/request.Request" representing the
4676// client's request for the ListConnectorDefinitions operation. The "output" return
4677// value will be populated with the request's response once the request completes
4678// successfully.
4679//
4680// Use "Send" method on the returned Request to send the API call to the service.
4681// the "output" return value is not valid until after Send returns without error.
4682//
4683// See ListConnectorDefinitions for more information on using the ListConnectorDefinitions
4684// API call, and error handling.
4685//
4686// This method is useful when you want to inject custom logic or configuration
4687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4688//
4689//
4690//    // Example sending a request using the ListConnectorDefinitionsRequest method.
4691//    req, resp := client.ListConnectorDefinitionsRequest(params)
4692//
4693//    err := req.Send()
4694//    if err == nil { // resp is now filled
4695//        fmt.Println(resp)
4696//    }
4697//
4698// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitions
4699func (c *Greengrass) ListConnectorDefinitionsRequest(input *ListConnectorDefinitionsInput) (req *request.Request, output *ListConnectorDefinitionsOutput) {
4700	op := &request.Operation{
4701		Name:       opListConnectorDefinitions,
4702		HTTPMethod: "GET",
4703		HTTPPath:   "/greengrass/definition/connectors",
4704	}
4705
4706	if input == nil {
4707		input = &ListConnectorDefinitionsInput{}
4708	}
4709
4710	output = &ListConnectorDefinitionsOutput{}
4711	req = c.newRequest(op, input, output)
4712	return
4713}
4714
4715// ListConnectorDefinitions API operation for AWS Greengrass.
4716//
4717// Retrieves a list of connector definitions.
4718//
4719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4720// with awserr.Error's Code and Message methods to get detailed information about
4721// the error.
4722//
4723// See the AWS API reference guide for AWS Greengrass's
4724// API operation ListConnectorDefinitions for usage and error information.
4725// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitions
4726func (c *Greengrass) ListConnectorDefinitions(input *ListConnectorDefinitionsInput) (*ListConnectorDefinitionsOutput, error) {
4727	req, out := c.ListConnectorDefinitionsRequest(input)
4728	return out, req.Send()
4729}
4730
4731// ListConnectorDefinitionsWithContext is the same as ListConnectorDefinitions with the addition of
4732// the ability to pass a context and additional request options.
4733//
4734// See ListConnectorDefinitions for details on how to use this API operation.
4735//
4736// The context must be non-nil and will be used for request cancellation. If
4737// the context is nil a panic will occur. In the future the SDK may create
4738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4739// for more information on using Contexts.
4740func (c *Greengrass) ListConnectorDefinitionsWithContext(ctx aws.Context, input *ListConnectorDefinitionsInput, opts ...request.Option) (*ListConnectorDefinitionsOutput, error) {
4741	req, out := c.ListConnectorDefinitionsRequest(input)
4742	req.SetContext(ctx)
4743	req.ApplyOptions(opts...)
4744	return out, req.Send()
4745}
4746
4747const opListCoreDefinitionVersions = "ListCoreDefinitionVersions"
4748
4749// ListCoreDefinitionVersionsRequest generates a "aws/request.Request" representing the
4750// client's request for the ListCoreDefinitionVersions operation. The "output" return
4751// value will be populated with the request's response once the request completes
4752// successfully.
4753//
4754// Use "Send" method on the returned Request to send the API call to the service.
4755// the "output" return value is not valid until after Send returns without error.
4756//
4757// See ListCoreDefinitionVersions for more information on using the ListCoreDefinitionVersions
4758// API call, and error handling.
4759//
4760// This method is useful when you want to inject custom logic or configuration
4761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4762//
4763//
4764//    // Example sending a request using the ListCoreDefinitionVersionsRequest method.
4765//    req, resp := client.ListCoreDefinitionVersionsRequest(params)
4766//
4767//    err := req.Send()
4768//    if err == nil { // resp is now filled
4769//        fmt.Println(resp)
4770//    }
4771//
4772// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitionVersions
4773func (c *Greengrass) ListCoreDefinitionVersionsRequest(input *ListCoreDefinitionVersionsInput) (req *request.Request, output *ListCoreDefinitionVersionsOutput) {
4774	op := &request.Operation{
4775		Name:       opListCoreDefinitionVersions,
4776		HTTPMethod: "GET",
4777		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}/versions",
4778	}
4779
4780	if input == nil {
4781		input = &ListCoreDefinitionVersionsInput{}
4782	}
4783
4784	output = &ListCoreDefinitionVersionsOutput{}
4785	req = c.newRequest(op, input, output)
4786	return
4787}
4788
4789// ListCoreDefinitionVersions API operation for AWS Greengrass.
4790//
4791// Lists the versions of a core definition.
4792//
4793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4794// with awserr.Error's Code and Message methods to get detailed information about
4795// the error.
4796//
4797// See the AWS API reference guide for AWS Greengrass's
4798// API operation ListCoreDefinitionVersions for usage and error information.
4799//
4800// Returned Error Types:
4801//   * BadRequestException
4802//   General error information.
4803//
4804// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitionVersions
4805func (c *Greengrass) ListCoreDefinitionVersions(input *ListCoreDefinitionVersionsInput) (*ListCoreDefinitionVersionsOutput, error) {
4806	req, out := c.ListCoreDefinitionVersionsRequest(input)
4807	return out, req.Send()
4808}
4809
4810// ListCoreDefinitionVersionsWithContext is the same as ListCoreDefinitionVersions with the addition of
4811// the ability to pass a context and additional request options.
4812//
4813// See ListCoreDefinitionVersions for details on how to use this API operation.
4814//
4815// The context must be non-nil and will be used for request cancellation. If
4816// the context is nil a panic will occur. In the future the SDK may create
4817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4818// for more information on using Contexts.
4819func (c *Greengrass) ListCoreDefinitionVersionsWithContext(ctx aws.Context, input *ListCoreDefinitionVersionsInput, opts ...request.Option) (*ListCoreDefinitionVersionsOutput, error) {
4820	req, out := c.ListCoreDefinitionVersionsRequest(input)
4821	req.SetContext(ctx)
4822	req.ApplyOptions(opts...)
4823	return out, req.Send()
4824}
4825
4826const opListCoreDefinitions = "ListCoreDefinitions"
4827
4828// ListCoreDefinitionsRequest generates a "aws/request.Request" representing the
4829// client's request for the ListCoreDefinitions operation. The "output" return
4830// value will be populated with the request's response once the request completes
4831// successfully.
4832//
4833// Use "Send" method on the returned Request to send the API call to the service.
4834// the "output" return value is not valid until after Send returns without error.
4835//
4836// See ListCoreDefinitions for more information on using the ListCoreDefinitions
4837// API call, and error handling.
4838//
4839// This method is useful when you want to inject custom logic or configuration
4840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4841//
4842//
4843//    // Example sending a request using the ListCoreDefinitionsRequest method.
4844//    req, resp := client.ListCoreDefinitionsRequest(params)
4845//
4846//    err := req.Send()
4847//    if err == nil { // resp is now filled
4848//        fmt.Println(resp)
4849//    }
4850//
4851// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitions
4852func (c *Greengrass) ListCoreDefinitionsRequest(input *ListCoreDefinitionsInput) (req *request.Request, output *ListCoreDefinitionsOutput) {
4853	op := &request.Operation{
4854		Name:       opListCoreDefinitions,
4855		HTTPMethod: "GET",
4856		HTTPPath:   "/greengrass/definition/cores",
4857	}
4858
4859	if input == nil {
4860		input = &ListCoreDefinitionsInput{}
4861	}
4862
4863	output = &ListCoreDefinitionsOutput{}
4864	req = c.newRequest(op, input, output)
4865	return
4866}
4867
4868// ListCoreDefinitions API operation for AWS Greengrass.
4869//
4870// Retrieves a list of core definitions.
4871//
4872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4873// with awserr.Error's Code and Message methods to get detailed information about
4874// the error.
4875//
4876// See the AWS API reference guide for AWS Greengrass's
4877// API operation ListCoreDefinitions for usage and error information.
4878// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitions
4879func (c *Greengrass) ListCoreDefinitions(input *ListCoreDefinitionsInput) (*ListCoreDefinitionsOutput, error) {
4880	req, out := c.ListCoreDefinitionsRequest(input)
4881	return out, req.Send()
4882}
4883
4884// ListCoreDefinitionsWithContext is the same as ListCoreDefinitions with the addition of
4885// the ability to pass a context and additional request options.
4886//
4887// See ListCoreDefinitions for details on how to use this API operation.
4888//
4889// The context must be non-nil and will be used for request cancellation. If
4890// the context is nil a panic will occur. In the future the SDK may create
4891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4892// for more information on using Contexts.
4893func (c *Greengrass) ListCoreDefinitionsWithContext(ctx aws.Context, input *ListCoreDefinitionsInput, opts ...request.Option) (*ListCoreDefinitionsOutput, error) {
4894	req, out := c.ListCoreDefinitionsRequest(input)
4895	req.SetContext(ctx)
4896	req.ApplyOptions(opts...)
4897	return out, req.Send()
4898}
4899
4900const opListDeployments = "ListDeployments"
4901
4902// ListDeploymentsRequest generates a "aws/request.Request" representing the
4903// client's request for the ListDeployments operation. The "output" return
4904// value will be populated with the request's response once the request completes
4905// successfully.
4906//
4907// Use "Send" method on the returned Request to send the API call to the service.
4908// the "output" return value is not valid until after Send returns without error.
4909//
4910// See ListDeployments for more information on using the ListDeployments
4911// API call, and error handling.
4912//
4913// This method is useful when you want to inject custom logic or configuration
4914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4915//
4916//
4917//    // Example sending a request using the ListDeploymentsRequest method.
4918//    req, resp := client.ListDeploymentsRequest(params)
4919//
4920//    err := req.Send()
4921//    if err == nil { // resp is now filled
4922//        fmt.Println(resp)
4923//    }
4924//
4925// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeployments
4926func (c *Greengrass) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) {
4927	op := &request.Operation{
4928		Name:       opListDeployments,
4929		HTTPMethod: "GET",
4930		HTTPPath:   "/greengrass/groups/{GroupId}/deployments",
4931	}
4932
4933	if input == nil {
4934		input = &ListDeploymentsInput{}
4935	}
4936
4937	output = &ListDeploymentsOutput{}
4938	req = c.newRequest(op, input, output)
4939	return
4940}
4941
4942// ListDeployments API operation for AWS Greengrass.
4943//
4944// Returns a history of deployments for the group.
4945//
4946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4947// with awserr.Error's Code and Message methods to get detailed information about
4948// the error.
4949//
4950// See the AWS API reference guide for AWS Greengrass's
4951// API operation ListDeployments for usage and error information.
4952//
4953// Returned Error Types:
4954//   * BadRequestException
4955//   General error information.
4956//
4957// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeployments
4958func (c *Greengrass) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) {
4959	req, out := c.ListDeploymentsRequest(input)
4960	return out, req.Send()
4961}
4962
4963// ListDeploymentsWithContext is the same as ListDeployments with the addition of
4964// the ability to pass a context and additional request options.
4965//
4966// See ListDeployments for details on how to use this API operation.
4967//
4968// The context must be non-nil and will be used for request cancellation. If
4969// the context is nil a panic will occur. In the future the SDK may create
4970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4971// for more information on using Contexts.
4972func (c *Greengrass) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) {
4973	req, out := c.ListDeploymentsRequest(input)
4974	req.SetContext(ctx)
4975	req.ApplyOptions(opts...)
4976	return out, req.Send()
4977}
4978
4979const opListDeviceDefinitionVersions = "ListDeviceDefinitionVersions"
4980
4981// ListDeviceDefinitionVersionsRequest generates a "aws/request.Request" representing the
4982// client's request for the ListDeviceDefinitionVersions operation. The "output" return
4983// value will be populated with the request's response once the request completes
4984// successfully.
4985//
4986// Use "Send" method on the returned Request to send the API call to the service.
4987// the "output" return value is not valid until after Send returns without error.
4988//
4989// See ListDeviceDefinitionVersions for more information on using the ListDeviceDefinitionVersions
4990// API call, and error handling.
4991//
4992// This method is useful when you want to inject custom logic or configuration
4993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4994//
4995//
4996//    // Example sending a request using the ListDeviceDefinitionVersionsRequest method.
4997//    req, resp := client.ListDeviceDefinitionVersionsRequest(params)
4998//
4999//    err := req.Send()
5000//    if err == nil { // resp is now filled
5001//        fmt.Println(resp)
5002//    }
5003//
5004// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitionVersions
5005func (c *Greengrass) ListDeviceDefinitionVersionsRequest(input *ListDeviceDefinitionVersionsInput) (req *request.Request, output *ListDeviceDefinitionVersionsOutput) {
5006	op := &request.Operation{
5007		Name:       opListDeviceDefinitionVersions,
5008		HTTPMethod: "GET",
5009		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}/versions",
5010	}
5011
5012	if input == nil {
5013		input = &ListDeviceDefinitionVersionsInput{}
5014	}
5015
5016	output = &ListDeviceDefinitionVersionsOutput{}
5017	req = c.newRequest(op, input, output)
5018	return
5019}
5020
5021// ListDeviceDefinitionVersions API operation for AWS Greengrass.
5022//
5023// Lists the versions of a device definition.
5024//
5025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5026// with awserr.Error's Code and Message methods to get detailed information about
5027// the error.
5028//
5029// See the AWS API reference guide for AWS Greengrass's
5030// API operation ListDeviceDefinitionVersions for usage and error information.
5031//
5032// Returned Error Types:
5033//   * BadRequestException
5034//   General error information.
5035//
5036// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitionVersions
5037func (c *Greengrass) ListDeviceDefinitionVersions(input *ListDeviceDefinitionVersionsInput) (*ListDeviceDefinitionVersionsOutput, error) {
5038	req, out := c.ListDeviceDefinitionVersionsRequest(input)
5039	return out, req.Send()
5040}
5041
5042// ListDeviceDefinitionVersionsWithContext is the same as ListDeviceDefinitionVersions with the addition of
5043// the ability to pass a context and additional request options.
5044//
5045// See ListDeviceDefinitionVersions for details on how to use this API operation.
5046//
5047// The context must be non-nil and will be used for request cancellation. If
5048// the context is nil a panic will occur. In the future the SDK may create
5049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5050// for more information on using Contexts.
5051func (c *Greengrass) ListDeviceDefinitionVersionsWithContext(ctx aws.Context, input *ListDeviceDefinitionVersionsInput, opts ...request.Option) (*ListDeviceDefinitionVersionsOutput, error) {
5052	req, out := c.ListDeviceDefinitionVersionsRequest(input)
5053	req.SetContext(ctx)
5054	req.ApplyOptions(opts...)
5055	return out, req.Send()
5056}
5057
5058const opListDeviceDefinitions = "ListDeviceDefinitions"
5059
5060// ListDeviceDefinitionsRequest generates a "aws/request.Request" representing the
5061// client's request for the ListDeviceDefinitions operation. The "output" return
5062// value will be populated with the request's response once the request completes
5063// successfully.
5064//
5065// Use "Send" method on the returned Request to send the API call to the service.
5066// the "output" return value is not valid until after Send returns without error.
5067//
5068// See ListDeviceDefinitions for more information on using the ListDeviceDefinitions
5069// API call, and error handling.
5070//
5071// This method is useful when you want to inject custom logic or configuration
5072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5073//
5074//
5075//    // Example sending a request using the ListDeviceDefinitionsRequest method.
5076//    req, resp := client.ListDeviceDefinitionsRequest(params)
5077//
5078//    err := req.Send()
5079//    if err == nil { // resp is now filled
5080//        fmt.Println(resp)
5081//    }
5082//
5083// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitions
5084func (c *Greengrass) ListDeviceDefinitionsRequest(input *ListDeviceDefinitionsInput) (req *request.Request, output *ListDeviceDefinitionsOutput) {
5085	op := &request.Operation{
5086		Name:       opListDeviceDefinitions,
5087		HTTPMethod: "GET",
5088		HTTPPath:   "/greengrass/definition/devices",
5089	}
5090
5091	if input == nil {
5092		input = &ListDeviceDefinitionsInput{}
5093	}
5094
5095	output = &ListDeviceDefinitionsOutput{}
5096	req = c.newRequest(op, input, output)
5097	return
5098}
5099
5100// ListDeviceDefinitions API operation for AWS Greengrass.
5101//
5102// Retrieves a list of device definitions.
5103//
5104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5105// with awserr.Error's Code and Message methods to get detailed information about
5106// the error.
5107//
5108// See the AWS API reference guide for AWS Greengrass's
5109// API operation ListDeviceDefinitions for usage and error information.
5110// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitions
5111func (c *Greengrass) ListDeviceDefinitions(input *ListDeviceDefinitionsInput) (*ListDeviceDefinitionsOutput, error) {
5112	req, out := c.ListDeviceDefinitionsRequest(input)
5113	return out, req.Send()
5114}
5115
5116// ListDeviceDefinitionsWithContext is the same as ListDeviceDefinitions with the addition of
5117// the ability to pass a context and additional request options.
5118//
5119// See ListDeviceDefinitions for details on how to use this API operation.
5120//
5121// The context must be non-nil and will be used for request cancellation. If
5122// the context is nil a panic will occur. In the future the SDK may create
5123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5124// for more information on using Contexts.
5125func (c *Greengrass) ListDeviceDefinitionsWithContext(ctx aws.Context, input *ListDeviceDefinitionsInput, opts ...request.Option) (*ListDeviceDefinitionsOutput, error) {
5126	req, out := c.ListDeviceDefinitionsRequest(input)
5127	req.SetContext(ctx)
5128	req.ApplyOptions(opts...)
5129	return out, req.Send()
5130}
5131
5132const opListFunctionDefinitionVersions = "ListFunctionDefinitionVersions"
5133
5134// ListFunctionDefinitionVersionsRequest generates a "aws/request.Request" representing the
5135// client's request for the ListFunctionDefinitionVersions operation. The "output" return
5136// value will be populated with the request's response once the request completes
5137// successfully.
5138//
5139// Use "Send" method on the returned Request to send the API call to the service.
5140// the "output" return value is not valid until after Send returns without error.
5141//
5142// See ListFunctionDefinitionVersions for more information on using the ListFunctionDefinitionVersions
5143// API call, and error handling.
5144//
5145// This method is useful when you want to inject custom logic or configuration
5146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5147//
5148//
5149//    // Example sending a request using the ListFunctionDefinitionVersionsRequest method.
5150//    req, resp := client.ListFunctionDefinitionVersionsRequest(params)
5151//
5152//    err := req.Send()
5153//    if err == nil { // resp is now filled
5154//        fmt.Println(resp)
5155//    }
5156//
5157// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitionVersions
5158func (c *Greengrass) ListFunctionDefinitionVersionsRequest(input *ListFunctionDefinitionVersionsInput) (req *request.Request, output *ListFunctionDefinitionVersionsOutput) {
5159	op := &request.Operation{
5160		Name:       opListFunctionDefinitionVersions,
5161		HTTPMethod: "GET",
5162		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}/versions",
5163	}
5164
5165	if input == nil {
5166		input = &ListFunctionDefinitionVersionsInput{}
5167	}
5168
5169	output = &ListFunctionDefinitionVersionsOutput{}
5170	req = c.newRequest(op, input, output)
5171	return
5172}
5173
5174// ListFunctionDefinitionVersions API operation for AWS Greengrass.
5175//
5176// Lists the versions of a Lambda function definition.
5177//
5178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5179// with awserr.Error's Code and Message methods to get detailed information about
5180// the error.
5181//
5182// See the AWS API reference guide for AWS Greengrass's
5183// API operation ListFunctionDefinitionVersions for usage and error information.
5184//
5185// Returned Error Types:
5186//   * BadRequestException
5187//   General error information.
5188//
5189// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitionVersions
5190func (c *Greengrass) ListFunctionDefinitionVersions(input *ListFunctionDefinitionVersionsInput) (*ListFunctionDefinitionVersionsOutput, error) {
5191	req, out := c.ListFunctionDefinitionVersionsRequest(input)
5192	return out, req.Send()
5193}
5194
5195// ListFunctionDefinitionVersionsWithContext is the same as ListFunctionDefinitionVersions with the addition of
5196// the ability to pass a context and additional request options.
5197//
5198// See ListFunctionDefinitionVersions for details on how to use this API operation.
5199//
5200// The context must be non-nil and will be used for request cancellation. If
5201// the context is nil a panic will occur. In the future the SDK may create
5202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5203// for more information on using Contexts.
5204func (c *Greengrass) ListFunctionDefinitionVersionsWithContext(ctx aws.Context, input *ListFunctionDefinitionVersionsInput, opts ...request.Option) (*ListFunctionDefinitionVersionsOutput, error) {
5205	req, out := c.ListFunctionDefinitionVersionsRequest(input)
5206	req.SetContext(ctx)
5207	req.ApplyOptions(opts...)
5208	return out, req.Send()
5209}
5210
5211const opListFunctionDefinitions = "ListFunctionDefinitions"
5212
5213// ListFunctionDefinitionsRequest generates a "aws/request.Request" representing the
5214// client's request for the ListFunctionDefinitions operation. The "output" return
5215// value will be populated with the request's response once the request completes
5216// successfully.
5217//
5218// Use "Send" method on the returned Request to send the API call to the service.
5219// the "output" return value is not valid until after Send returns without error.
5220//
5221// See ListFunctionDefinitions for more information on using the ListFunctionDefinitions
5222// API call, and error handling.
5223//
5224// This method is useful when you want to inject custom logic or configuration
5225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5226//
5227//
5228//    // Example sending a request using the ListFunctionDefinitionsRequest method.
5229//    req, resp := client.ListFunctionDefinitionsRequest(params)
5230//
5231//    err := req.Send()
5232//    if err == nil { // resp is now filled
5233//        fmt.Println(resp)
5234//    }
5235//
5236// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitions
5237func (c *Greengrass) ListFunctionDefinitionsRequest(input *ListFunctionDefinitionsInput) (req *request.Request, output *ListFunctionDefinitionsOutput) {
5238	op := &request.Operation{
5239		Name:       opListFunctionDefinitions,
5240		HTTPMethod: "GET",
5241		HTTPPath:   "/greengrass/definition/functions",
5242	}
5243
5244	if input == nil {
5245		input = &ListFunctionDefinitionsInput{}
5246	}
5247
5248	output = &ListFunctionDefinitionsOutput{}
5249	req = c.newRequest(op, input, output)
5250	return
5251}
5252
5253// ListFunctionDefinitions API operation for AWS Greengrass.
5254//
5255// Retrieves a list of Lambda function definitions.
5256//
5257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5258// with awserr.Error's Code and Message methods to get detailed information about
5259// the error.
5260//
5261// See the AWS API reference guide for AWS Greengrass's
5262// API operation ListFunctionDefinitions for usage and error information.
5263// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitions
5264func (c *Greengrass) ListFunctionDefinitions(input *ListFunctionDefinitionsInput) (*ListFunctionDefinitionsOutput, error) {
5265	req, out := c.ListFunctionDefinitionsRequest(input)
5266	return out, req.Send()
5267}
5268
5269// ListFunctionDefinitionsWithContext is the same as ListFunctionDefinitions with the addition of
5270// the ability to pass a context and additional request options.
5271//
5272// See ListFunctionDefinitions for details on how to use this API operation.
5273//
5274// The context must be non-nil and will be used for request cancellation. If
5275// the context is nil a panic will occur. In the future the SDK may create
5276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5277// for more information on using Contexts.
5278func (c *Greengrass) ListFunctionDefinitionsWithContext(ctx aws.Context, input *ListFunctionDefinitionsInput, opts ...request.Option) (*ListFunctionDefinitionsOutput, error) {
5279	req, out := c.ListFunctionDefinitionsRequest(input)
5280	req.SetContext(ctx)
5281	req.ApplyOptions(opts...)
5282	return out, req.Send()
5283}
5284
5285const opListGroupCertificateAuthorities = "ListGroupCertificateAuthorities"
5286
5287// ListGroupCertificateAuthoritiesRequest generates a "aws/request.Request" representing the
5288// client's request for the ListGroupCertificateAuthorities operation. The "output" return
5289// value will be populated with the request's response once the request completes
5290// successfully.
5291//
5292// Use "Send" method on the returned Request to send the API call to the service.
5293// the "output" return value is not valid until after Send returns without error.
5294//
5295// See ListGroupCertificateAuthorities for more information on using the ListGroupCertificateAuthorities
5296// API call, and error handling.
5297//
5298// This method is useful when you want to inject custom logic or configuration
5299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5300//
5301//
5302//    // Example sending a request using the ListGroupCertificateAuthoritiesRequest method.
5303//    req, resp := client.ListGroupCertificateAuthoritiesRequest(params)
5304//
5305//    err := req.Send()
5306//    if err == nil { // resp is now filled
5307//        fmt.Println(resp)
5308//    }
5309//
5310// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupCertificateAuthorities
5311func (c *Greengrass) ListGroupCertificateAuthoritiesRequest(input *ListGroupCertificateAuthoritiesInput) (req *request.Request, output *ListGroupCertificateAuthoritiesOutput) {
5312	op := &request.Operation{
5313		Name:       opListGroupCertificateAuthorities,
5314		HTTPMethod: "GET",
5315		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities",
5316	}
5317
5318	if input == nil {
5319		input = &ListGroupCertificateAuthoritiesInput{}
5320	}
5321
5322	output = &ListGroupCertificateAuthoritiesOutput{}
5323	req = c.newRequest(op, input, output)
5324	return
5325}
5326
5327// ListGroupCertificateAuthorities API operation for AWS Greengrass.
5328//
5329// Retrieves the current CAs for a group.
5330//
5331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5332// with awserr.Error's Code and Message methods to get detailed information about
5333// the error.
5334//
5335// See the AWS API reference guide for AWS Greengrass's
5336// API operation ListGroupCertificateAuthorities for usage and error information.
5337//
5338// Returned Error Types:
5339//   * BadRequestException
5340//   General error information.
5341//
5342//   * InternalServerErrorException
5343//   General error information.
5344//
5345// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupCertificateAuthorities
5346func (c *Greengrass) ListGroupCertificateAuthorities(input *ListGroupCertificateAuthoritiesInput) (*ListGroupCertificateAuthoritiesOutput, error) {
5347	req, out := c.ListGroupCertificateAuthoritiesRequest(input)
5348	return out, req.Send()
5349}
5350
5351// ListGroupCertificateAuthoritiesWithContext is the same as ListGroupCertificateAuthorities with the addition of
5352// the ability to pass a context and additional request options.
5353//
5354// See ListGroupCertificateAuthorities for details on how to use this API operation.
5355//
5356// The context must be non-nil and will be used for request cancellation. If
5357// the context is nil a panic will occur. In the future the SDK may create
5358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5359// for more information on using Contexts.
5360func (c *Greengrass) ListGroupCertificateAuthoritiesWithContext(ctx aws.Context, input *ListGroupCertificateAuthoritiesInput, opts ...request.Option) (*ListGroupCertificateAuthoritiesOutput, error) {
5361	req, out := c.ListGroupCertificateAuthoritiesRequest(input)
5362	req.SetContext(ctx)
5363	req.ApplyOptions(opts...)
5364	return out, req.Send()
5365}
5366
5367const opListGroupVersions = "ListGroupVersions"
5368
5369// ListGroupVersionsRequest generates a "aws/request.Request" representing the
5370// client's request for the ListGroupVersions operation. The "output" return
5371// value will be populated with the request's response once the request completes
5372// successfully.
5373//
5374// Use "Send" method on the returned Request to send the API call to the service.
5375// the "output" return value is not valid until after Send returns without error.
5376//
5377// See ListGroupVersions for more information on using the ListGroupVersions
5378// API call, and error handling.
5379//
5380// This method is useful when you want to inject custom logic or configuration
5381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5382//
5383//
5384//    // Example sending a request using the ListGroupVersionsRequest method.
5385//    req, resp := client.ListGroupVersionsRequest(params)
5386//
5387//    err := req.Send()
5388//    if err == nil { // resp is now filled
5389//        fmt.Println(resp)
5390//    }
5391//
5392// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupVersions
5393func (c *Greengrass) ListGroupVersionsRequest(input *ListGroupVersionsInput) (req *request.Request, output *ListGroupVersionsOutput) {
5394	op := &request.Operation{
5395		Name:       opListGroupVersions,
5396		HTTPMethod: "GET",
5397		HTTPPath:   "/greengrass/groups/{GroupId}/versions",
5398	}
5399
5400	if input == nil {
5401		input = &ListGroupVersionsInput{}
5402	}
5403
5404	output = &ListGroupVersionsOutput{}
5405	req = c.newRequest(op, input, output)
5406	return
5407}
5408
5409// ListGroupVersions API operation for AWS Greengrass.
5410//
5411// Lists the versions of a group.
5412//
5413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5414// with awserr.Error's Code and Message methods to get detailed information about
5415// the error.
5416//
5417// See the AWS API reference guide for AWS Greengrass's
5418// API operation ListGroupVersions for usage and error information.
5419//
5420// Returned Error Types:
5421//   * BadRequestException
5422//   General error information.
5423//
5424// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupVersions
5425func (c *Greengrass) ListGroupVersions(input *ListGroupVersionsInput) (*ListGroupVersionsOutput, error) {
5426	req, out := c.ListGroupVersionsRequest(input)
5427	return out, req.Send()
5428}
5429
5430// ListGroupVersionsWithContext is the same as ListGroupVersions with the addition of
5431// the ability to pass a context and additional request options.
5432//
5433// See ListGroupVersions for details on how to use this API operation.
5434//
5435// The context must be non-nil and will be used for request cancellation. If
5436// the context is nil a panic will occur. In the future the SDK may create
5437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5438// for more information on using Contexts.
5439func (c *Greengrass) ListGroupVersionsWithContext(ctx aws.Context, input *ListGroupVersionsInput, opts ...request.Option) (*ListGroupVersionsOutput, error) {
5440	req, out := c.ListGroupVersionsRequest(input)
5441	req.SetContext(ctx)
5442	req.ApplyOptions(opts...)
5443	return out, req.Send()
5444}
5445
5446const opListGroups = "ListGroups"
5447
5448// ListGroupsRequest generates a "aws/request.Request" representing the
5449// client's request for the ListGroups operation. The "output" return
5450// value will be populated with the request's response once the request completes
5451// successfully.
5452//
5453// Use "Send" method on the returned Request to send the API call to the service.
5454// the "output" return value is not valid until after Send returns without error.
5455//
5456// See ListGroups for more information on using the ListGroups
5457// API call, and error handling.
5458//
5459// This method is useful when you want to inject custom logic or configuration
5460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5461//
5462//
5463//    // Example sending a request using the ListGroupsRequest method.
5464//    req, resp := client.ListGroupsRequest(params)
5465//
5466//    err := req.Send()
5467//    if err == nil { // resp is now filled
5468//        fmt.Println(resp)
5469//    }
5470//
5471// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroups
5472func (c *Greengrass) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
5473	op := &request.Operation{
5474		Name:       opListGroups,
5475		HTTPMethod: "GET",
5476		HTTPPath:   "/greengrass/groups",
5477	}
5478
5479	if input == nil {
5480		input = &ListGroupsInput{}
5481	}
5482
5483	output = &ListGroupsOutput{}
5484	req = c.newRequest(op, input, output)
5485	return
5486}
5487
5488// ListGroups API operation for AWS Greengrass.
5489//
5490// Retrieves a list of groups.
5491//
5492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5493// with awserr.Error's Code and Message methods to get detailed information about
5494// the error.
5495//
5496// See the AWS API reference guide for AWS Greengrass's
5497// API operation ListGroups for usage and error information.
5498// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroups
5499func (c *Greengrass) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
5500	req, out := c.ListGroupsRequest(input)
5501	return out, req.Send()
5502}
5503
5504// ListGroupsWithContext is the same as ListGroups with the addition of
5505// the ability to pass a context and additional request options.
5506//
5507// See ListGroups for details on how to use this API operation.
5508//
5509// The context must be non-nil and will be used for request cancellation. If
5510// the context is nil a panic will occur. In the future the SDK may create
5511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5512// for more information on using Contexts.
5513func (c *Greengrass) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) {
5514	req, out := c.ListGroupsRequest(input)
5515	req.SetContext(ctx)
5516	req.ApplyOptions(opts...)
5517	return out, req.Send()
5518}
5519
5520const opListLoggerDefinitionVersions = "ListLoggerDefinitionVersions"
5521
5522// ListLoggerDefinitionVersionsRequest generates a "aws/request.Request" representing the
5523// client's request for the ListLoggerDefinitionVersions operation. The "output" return
5524// value will be populated with the request's response once the request completes
5525// successfully.
5526//
5527// Use "Send" method on the returned Request to send the API call to the service.
5528// the "output" return value is not valid until after Send returns without error.
5529//
5530// See ListLoggerDefinitionVersions for more information on using the ListLoggerDefinitionVersions
5531// API call, and error handling.
5532//
5533// This method is useful when you want to inject custom logic or configuration
5534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5535//
5536//
5537//    // Example sending a request using the ListLoggerDefinitionVersionsRequest method.
5538//    req, resp := client.ListLoggerDefinitionVersionsRequest(params)
5539//
5540//    err := req.Send()
5541//    if err == nil { // resp is now filled
5542//        fmt.Println(resp)
5543//    }
5544//
5545// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitionVersions
5546func (c *Greengrass) ListLoggerDefinitionVersionsRequest(input *ListLoggerDefinitionVersionsInput) (req *request.Request, output *ListLoggerDefinitionVersionsOutput) {
5547	op := &request.Operation{
5548		Name:       opListLoggerDefinitionVersions,
5549		HTTPMethod: "GET",
5550		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}/versions",
5551	}
5552
5553	if input == nil {
5554		input = &ListLoggerDefinitionVersionsInput{}
5555	}
5556
5557	output = &ListLoggerDefinitionVersionsOutput{}
5558	req = c.newRequest(op, input, output)
5559	return
5560}
5561
5562// ListLoggerDefinitionVersions API operation for AWS Greengrass.
5563//
5564// Lists the versions of a logger definition.
5565//
5566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5567// with awserr.Error's Code and Message methods to get detailed information about
5568// the error.
5569//
5570// See the AWS API reference guide for AWS Greengrass's
5571// API operation ListLoggerDefinitionVersions for usage and error information.
5572//
5573// Returned Error Types:
5574//   * BadRequestException
5575//   General error information.
5576//
5577// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitionVersions
5578func (c *Greengrass) ListLoggerDefinitionVersions(input *ListLoggerDefinitionVersionsInput) (*ListLoggerDefinitionVersionsOutput, error) {
5579	req, out := c.ListLoggerDefinitionVersionsRequest(input)
5580	return out, req.Send()
5581}
5582
5583// ListLoggerDefinitionVersionsWithContext is the same as ListLoggerDefinitionVersions with the addition of
5584// the ability to pass a context and additional request options.
5585//
5586// See ListLoggerDefinitionVersions for details on how to use this API operation.
5587//
5588// The context must be non-nil and will be used for request cancellation. If
5589// the context is nil a panic will occur. In the future the SDK may create
5590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5591// for more information on using Contexts.
5592func (c *Greengrass) ListLoggerDefinitionVersionsWithContext(ctx aws.Context, input *ListLoggerDefinitionVersionsInput, opts ...request.Option) (*ListLoggerDefinitionVersionsOutput, error) {
5593	req, out := c.ListLoggerDefinitionVersionsRequest(input)
5594	req.SetContext(ctx)
5595	req.ApplyOptions(opts...)
5596	return out, req.Send()
5597}
5598
5599const opListLoggerDefinitions = "ListLoggerDefinitions"
5600
5601// ListLoggerDefinitionsRequest generates a "aws/request.Request" representing the
5602// client's request for the ListLoggerDefinitions operation. The "output" return
5603// value will be populated with the request's response once the request completes
5604// successfully.
5605//
5606// Use "Send" method on the returned Request to send the API call to the service.
5607// the "output" return value is not valid until after Send returns without error.
5608//
5609// See ListLoggerDefinitions for more information on using the ListLoggerDefinitions
5610// API call, and error handling.
5611//
5612// This method is useful when you want to inject custom logic or configuration
5613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5614//
5615//
5616//    // Example sending a request using the ListLoggerDefinitionsRequest method.
5617//    req, resp := client.ListLoggerDefinitionsRequest(params)
5618//
5619//    err := req.Send()
5620//    if err == nil { // resp is now filled
5621//        fmt.Println(resp)
5622//    }
5623//
5624// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitions
5625func (c *Greengrass) ListLoggerDefinitionsRequest(input *ListLoggerDefinitionsInput) (req *request.Request, output *ListLoggerDefinitionsOutput) {
5626	op := &request.Operation{
5627		Name:       opListLoggerDefinitions,
5628		HTTPMethod: "GET",
5629		HTTPPath:   "/greengrass/definition/loggers",
5630	}
5631
5632	if input == nil {
5633		input = &ListLoggerDefinitionsInput{}
5634	}
5635
5636	output = &ListLoggerDefinitionsOutput{}
5637	req = c.newRequest(op, input, output)
5638	return
5639}
5640
5641// ListLoggerDefinitions API operation for AWS Greengrass.
5642//
5643// Retrieves a list of logger definitions.
5644//
5645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5646// with awserr.Error's Code and Message methods to get detailed information about
5647// the error.
5648//
5649// See the AWS API reference guide for AWS Greengrass's
5650// API operation ListLoggerDefinitions for usage and error information.
5651// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitions
5652func (c *Greengrass) ListLoggerDefinitions(input *ListLoggerDefinitionsInput) (*ListLoggerDefinitionsOutput, error) {
5653	req, out := c.ListLoggerDefinitionsRequest(input)
5654	return out, req.Send()
5655}
5656
5657// ListLoggerDefinitionsWithContext is the same as ListLoggerDefinitions with the addition of
5658// the ability to pass a context and additional request options.
5659//
5660// See ListLoggerDefinitions for details on how to use this API operation.
5661//
5662// The context must be non-nil and will be used for request cancellation. If
5663// the context is nil a panic will occur. In the future the SDK may create
5664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5665// for more information on using Contexts.
5666func (c *Greengrass) ListLoggerDefinitionsWithContext(ctx aws.Context, input *ListLoggerDefinitionsInput, opts ...request.Option) (*ListLoggerDefinitionsOutput, error) {
5667	req, out := c.ListLoggerDefinitionsRequest(input)
5668	req.SetContext(ctx)
5669	req.ApplyOptions(opts...)
5670	return out, req.Send()
5671}
5672
5673const opListResourceDefinitionVersions = "ListResourceDefinitionVersions"
5674
5675// ListResourceDefinitionVersionsRequest generates a "aws/request.Request" representing the
5676// client's request for the ListResourceDefinitionVersions operation. The "output" return
5677// value will be populated with the request's response once the request completes
5678// successfully.
5679//
5680// Use "Send" method on the returned Request to send the API call to the service.
5681// the "output" return value is not valid until after Send returns without error.
5682//
5683// See ListResourceDefinitionVersions for more information on using the ListResourceDefinitionVersions
5684// API call, and error handling.
5685//
5686// This method is useful when you want to inject custom logic or configuration
5687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5688//
5689//
5690//    // Example sending a request using the ListResourceDefinitionVersionsRequest method.
5691//    req, resp := client.ListResourceDefinitionVersionsRequest(params)
5692//
5693//    err := req.Send()
5694//    if err == nil { // resp is now filled
5695//        fmt.Println(resp)
5696//    }
5697//
5698// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitionVersions
5699func (c *Greengrass) ListResourceDefinitionVersionsRequest(input *ListResourceDefinitionVersionsInput) (req *request.Request, output *ListResourceDefinitionVersionsOutput) {
5700	op := &request.Operation{
5701		Name:       opListResourceDefinitionVersions,
5702		HTTPMethod: "GET",
5703		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}/versions",
5704	}
5705
5706	if input == nil {
5707		input = &ListResourceDefinitionVersionsInput{}
5708	}
5709
5710	output = &ListResourceDefinitionVersionsOutput{}
5711	req = c.newRequest(op, input, output)
5712	return
5713}
5714
5715// ListResourceDefinitionVersions API operation for AWS Greengrass.
5716//
5717// Lists the versions of a resource definition.
5718//
5719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5720// with awserr.Error's Code and Message methods to get detailed information about
5721// the error.
5722//
5723// See the AWS API reference guide for AWS Greengrass's
5724// API operation ListResourceDefinitionVersions for usage and error information.
5725//
5726// Returned Error Types:
5727//   * BadRequestException
5728//   General error information.
5729//
5730// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitionVersions
5731func (c *Greengrass) ListResourceDefinitionVersions(input *ListResourceDefinitionVersionsInput) (*ListResourceDefinitionVersionsOutput, error) {
5732	req, out := c.ListResourceDefinitionVersionsRequest(input)
5733	return out, req.Send()
5734}
5735
5736// ListResourceDefinitionVersionsWithContext is the same as ListResourceDefinitionVersions with the addition of
5737// the ability to pass a context and additional request options.
5738//
5739// See ListResourceDefinitionVersions for details on how to use this API operation.
5740//
5741// The context must be non-nil and will be used for request cancellation. If
5742// the context is nil a panic will occur. In the future the SDK may create
5743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5744// for more information on using Contexts.
5745func (c *Greengrass) ListResourceDefinitionVersionsWithContext(ctx aws.Context, input *ListResourceDefinitionVersionsInput, opts ...request.Option) (*ListResourceDefinitionVersionsOutput, error) {
5746	req, out := c.ListResourceDefinitionVersionsRequest(input)
5747	req.SetContext(ctx)
5748	req.ApplyOptions(opts...)
5749	return out, req.Send()
5750}
5751
5752const opListResourceDefinitions = "ListResourceDefinitions"
5753
5754// ListResourceDefinitionsRequest generates a "aws/request.Request" representing the
5755// client's request for the ListResourceDefinitions operation. The "output" return
5756// value will be populated with the request's response once the request completes
5757// successfully.
5758//
5759// Use "Send" method on the returned Request to send the API call to the service.
5760// the "output" return value is not valid until after Send returns without error.
5761//
5762// See ListResourceDefinitions for more information on using the ListResourceDefinitions
5763// API call, and error handling.
5764//
5765// This method is useful when you want to inject custom logic or configuration
5766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5767//
5768//
5769//    // Example sending a request using the ListResourceDefinitionsRequest method.
5770//    req, resp := client.ListResourceDefinitionsRequest(params)
5771//
5772//    err := req.Send()
5773//    if err == nil { // resp is now filled
5774//        fmt.Println(resp)
5775//    }
5776//
5777// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitions
5778func (c *Greengrass) ListResourceDefinitionsRequest(input *ListResourceDefinitionsInput) (req *request.Request, output *ListResourceDefinitionsOutput) {
5779	op := &request.Operation{
5780		Name:       opListResourceDefinitions,
5781		HTTPMethod: "GET",
5782		HTTPPath:   "/greengrass/definition/resources",
5783	}
5784
5785	if input == nil {
5786		input = &ListResourceDefinitionsInput{}
5787	}
5788
5789	output = &ListResourceDefinitionsOutput{}
5790	req = c.newRequest(op, input, output)
5791	return
5792}
5793
5794// ListResourceDefinitions API operation for AWS Greengrass.
5795//
5796// Retrieves a list of resource definitions.
5797//
5798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5799// with awserr.Error's Code and Message methods to get detailed information about
5800// the error.
5801//
5802// See the AWS API reference guide for AWS Greengrass's
5803// API operation ListResourceDefinitions for usage and error information.
5804// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitions
5805func (c *Greengrass) ListResourceDefinitions(input *ListResourceDefinitionsInput) (*ListResourceDefinitionsOutput, error) {
5806	req, out := c.ListResourceDefinitionsRequest(input)
5807	return out, req.Send()
5808}
5809
5810// ListResourceDefinitionsWithContext is the same as ListResourceDefinitions with the addition of
5811// the ability to pass a context and additional request options.
5812//
5813// See ListResourceDefinitions for details on how to use this API operation.
5814//
5815// The context must be non-nil and will be used for request cancellation. If
5816// the context is nil a panic will occur. In the future the SDK may create
5817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5818// for more information on using Contexts.
5819func (c *Greengrass) ListResourceDefinitionsWithContext(ctx aws.Context, input *ListResourceDefinitionsInput, opts ...request.Option) (*ListResourceDefinitionsOutput, error) {
5820	req, out := c.ListResourceDefinitionsRequest(input)
5821	req.SetContext(ctx)
5822	req.ApplyOptions(opts...)
5823	return out, req.Send()
5824}
5825
5826const opListSubscriptionDefinitionVersions = "ListSubscriptionDefinitionVersions"
5827
5828// ListSubscriptionDefinitionVersionsRequest generates a "aws/request.Request" representing the
5829// client's request for the ListSubscriptionDefinitionVersions operation. The "output" return
5830// value will be populated with the request's response once the request completes
5831// successfully.
5832//
5833// Use "Send" method on the returned Request to send the API call to the service.
5834// the "output" return value is not valid until after Send returns without error.
5835//
5836// See ListSubscriptionDefinitionVersions for more information on using the ListSubscriptionDefinitionVersions
5837// API call, and error handling.
5838//
5839// This method is useful when you want to inject custom logic or configuration
5840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5841//
5842//
5843//    // Example sending a request using the ListSubscriptionDefinitionVersionsRequest method.
5844//    req, resp := client.ListSubscriptionDefinitionVersionsRequest(params)
5845//
5846//    err := req.Send()
5847//    if err == nil { // resp is now filled
5848//        fmt.Println(resp)
5849//    }
5850//
5851// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitionVersions
5852func (c *Greengrass) ListSubscriptionDefinitionVersionsRequest(input *ListSubscriptionDefinitionVersionsInput) (req *request.Request, output *ListSubscriptionDefinitionVersionsOutput) {
5853	op := &request.Operation{
5854		Name:       opListSubscriptionDefinitionVersions,
5855		HTTPMethod: "GET",
5856		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions",
5857	}
5858
5859	if input == nil {
5860		input = &ListSubscriptionDefinitionVersionsInput{}
5861	}
5862
5863	output = &ListSubscriptionDefinitionVersionsOutput{}
5864	req = c.newRequest(op, input, output)
5865	return
5866}
5867
5868// ListSubscriptionDefinitionVersions API operation for AWS Greengrass.
5869//
5870// Lists the versions of a subscription definition.
5871//
5872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5873// with awserr.Error's Code and Message methods to get detailed information about
5874// the error.
5875//
5876// See the AWS API reference guide for AWS Greengrass's
5877// API operation ListSubscriptionDefinitionVersions for usage and error information.
5878//
5879// Returned Error Types:
5880//   * BadRequestException
5881//   General error information.
5882//
5883// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitionVersions
5884func (c *Greengrass) ListSubscriptionDefinitionVersions(input *ListSubscriptionDefinitionVersionsInput) (*ListSubscriptionDefinitionVersionsOutput, error) {
5885	req, out := c.ListSubscriptionDefinitionVersionsRequest(input)
5886	return out, req.Send()
5887}
5888
5889// ListSubscriptionDefinitionVersionsWithContext is the same as ListSubscriptionDefinitionVersions with the addition of
5890// the ability to pass a context and additional request options.
5891//
5892// See ListSubscriptionDefinitionVersions for details on how to use this API operation.
5893//
5894// The context must be non-nil and will be used for request cancellation. If
5895// the context is nil a panic will occur. In the future the SDK may create
5896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5897// for more information on using Contexts.
5898func (c *Greengrass) ListSubscriptionDefinitionVersionsWithContext(ctx aws.Context, input *ListSubscriptionDefinitionVersionsInput, opts ...request.Option) (*ListSubscriptionDefinitionVersionsOutput, error) {
5899	req, out := c.ListSubscriptionDefinitionVersionsRequest(input)
5900	req.SetContext(ctx)
5901	req.ApplyOptions(opts...)
5902	return out, req.Send()
5903}
5904
5905const opListSubscriptionDefinitions = "ListSubscriptionDefinitions"
5906
5907// ListSubscriptionDefinitionsRequest generates a "aws/request.Request" representing the
5908// client's request for the ListSubscriptionDefinitions operation. The "output" return
5909// value will be populated with the request's response once the request completes
5910// successfully.
5911//
5912// Use "Send" method on the returned Request to send the API call to the service.
5913// the "output" return value is not valid until after Send returns without error.
5914//
5915// See ListSubscriptionDefinitions for more information on using the ListSubscriptionDefinitions
5916// API call, and error handling.
5917//
5918// This method is useful when you want to inject custom logic or configuration
5919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5920//
5921//
5922//    // Example sending a request using the ListSubscriptionDefinitionsRequest method.
5923//    req, resp := client.ListSubscriptionDefinitionsRequest(params)
5924//
5925//    err := req.Send()
5926//    if err == nil { // resp is now filled
5927//        fmt.Println(resp)
5928//    }
5929//
5930// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitions
5931func (c *Greengrass) ListSubscriptionDefinitionsRequest(input *ListSubscriptionDefinitionsInput) (req *request.Request, output *ListSubscriptionDefinitionsOutput) {
5932	op := &request.Operation{
5933		Name:       opListSubscriptionDefinitions,
5934		HTTPMethod: "GET",
5935		HTTPPath:   "/greengrass/definition/subscriptions",
5936	}
5937
5938	if input == nil {
5939		input = &ListSubscriptionDefinitionsInput{}
5940	}
5941
5942	output = &ListSubscriptionDefinitionsOutput{}
5943	req = c.newRequest(op, input, output)
5944	return
5945}
5946
5947// ListSubscriptionDefinitions API operation for AWS Greengrass.
5948//
5949// Retrieves a list of subscription definitions.
5950//
5951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5952// with awserr.Error's Code and Message methods to get detailed information about
5953// the error.
5954//
5955// See the AWS API reference guide for AWS Greengrass's
5956// API operation ListSubscriptionDefinitions for usage and error information.
5957// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitions
5958func (c *Greengrass) ListSubscriptionDefinitions(input *ListSubscriptionDefinitionsInput) (*ListSubscriptionDefinitionsOutput, error) {
5959	req, out := c.ListSubscriptionDefinitionsRequest(input)
5960	return out, req.Send()
5961}
5962
5963// ListSubscriptionDefinitionsWithContext is the same as ListSubscriptionDefinitions with the addition of
5964// the ability to pass a context and additional request options.
5965//
5966// See ListSubscriptionDefinitions for details on how to use this API operation.
5967//
5968// The context must be non-nil and will be used for request cancellation. If
5969// the context is nil a panic will occur. In the future the SDK may create
5970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5971// for more information on using Contexts.
5972func (c *Greengrass) ListSubscriptionDefinitionsWithContext(ctx aws.Context, input *ListSubscriptionDefinitionsInput, opts ...request.Option) (*ListSubscriptionDefinitionsOutput, error) {
5973	req, out := c.ListSubscriptionDefinitionsRequest(input)
5974	req.SetContext(ctx)
5975	req.ApplyOptions(opts...)
5976	return out, req.Send()
5977}
5978
5979const opListTagsForResource = "ListTagsForResource"
5980
5981// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5982// client's request for the ListTagsForResource operation. The "output" return
5983// value will be populated with the request's response once the request completes
5984// successfully.
5985//
5986// Use "Send" method on the returned Request to send the API call to the service.
5987// the "output" return value is not valid until after Send returns without error.
5988//
5989// See ListTagsForResource for more information on using the ListTagsForResource
5990// API call, and error handling.
5991//
5992// This method is useful when you want to inject custom logic or configuration
5993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5994//
5995//
5996//    // Example sending a request using the ListTagsForResourceRequest method.
5997//    req, resp := client.ListTagsForResourceRequest(params)
5998//
5999//    err := req.Send()
6000//    if err == nil { // resp is now filled
6001//        fmt.Println(resp)
6002//    }
6003//
6004// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListTagsForResource
6005func (c *Greengrass) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
6006	op := &request.Operation{
6007		Name:       opListTagsForResource,
6008		HTTPMethod: "GET",
6009		HTTPPath:   "/tags/{resource-arn}",
6010	}
6011
6012	if input == nil {
6013		input = &ListTagsForResourceInput{}
6014	}
6015
6016	output = &ListTagsForResourceOutput{}
6017	req = c.newRequest(op, input, output)
6018	return
6019}
6020
6021// ListTagsForResource API operation for AWS Greengrass.
6022//
6023// Retrieves a list of resource tags for a resource arn.
6024//
6025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6026// with awserr.Error's Code and Message methods to get detailed information about
6027// the error.
6028//
6029// See the AWS API reference guide for AWS Greengrass's
6030// API operation ListTagsForResource for usage and error information.
6031//
6032// Returned Error Types:
6033//   * BadRequestException
6034//   General error information.
6035//
6036// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListTagsForResource
6037func (c *Greengrass) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
6038	req, out := c.ListTagsForResourceRequest(input)
6039	return out, req.Send()
6040}
6041
6042// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
6043// the ability to pass a context and additional request options.
6044//
6045// See ListTagsForResource for details on how to use this API operation.
6046//
6047// The context must be non-nil and will be used for request cancellation. If
6048// the context is nil a panic will occur. In the future the SDK may create
6049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6050// for more information on using Contexts.
6051func (c *Greengrass) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
6052	req, out := c.ListTagsForResourceRequest(input)
6053	req.SetContext(ctx)
6054	req.ApplyOptions(opts...)
6055	return out, req.Send()
6056}
6057
6058const opResetDeployments = "ResetDeployments"
6059
6060// ResetDeploymentsRequest generates a "aws/request.Request" representing the
6061// client's request for the ResetDeployments operation. The "output" return
6062// value will be populated with the request's response once the request completes
6063// successfully.
6064//
6065// Use "Send" method on the returned Request to send the API call to the service.
6066// the "output" return value is not valid until after Send returns without error.
6067//
6068// See ResetDeployments for more information on using the ResetDeployments
6069// API call, and error handling.
6070//
6071// This method is useful when you want to inject custom logic or configuration
6072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6073//
6074//
6075//    // Example sending a request using the ResetDeploymentsRequest method.
6076//    req, resp := client.ResetDeploymentsRequest(params)
6077//
6078//    err := req.Send()
6079//    if err == nil { // resp is now filled
6080//        fmt.Println(resp)
6081//    }
6082//
6083// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeployments
6084func (c *Greengrass) ResetDeploymentsRequest(input *ResetDeploymentsInput) (req *request.Request, output *ResetDeploymentsOutput) {
6085	op := &request.Operation{
6086		Name:       opResetDeployments,
6087		HTTPMethod: "POST",
6088		HTTPPath:   "/greengrass/groups/{GroupId}/deployments/$reset",
6089	}
6090
6091	if input == nil {
6092		input = &ResetDeploymentsInput{}
6093	}
6094
6095	output = &ResetDeploymentsOutput{}
6096	req = c.newRequest(op, input, output)
6097	return
6098}
6099
6100// ResetDeployments API operation for AWS Greengrass.
6101//
6102// Resets a group's deployments.
6103//
6104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6105// with awserr.Error's Code and Message methods to get detailed information about
6106// the error.
6107//
6108// See the AWS API reference guide for AWS Greengrass's
6109// API operation ResetDeployments for usage and error information.
6110//
6111// Returned Error Types:
6112//   * BadRequestException
6113//   General error information.
6114//
6115// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeployments
6116func (c *Greengrass) ResetDeployments(input *ResetDeploymentsInput) (*ResetDeploymentsOutput, error) {
6117	req, out := c.ResetDeploymentsRequest(input)
6118	return out, req.Send()
6119}
6120
6121// ResetDeploymentsWithContext is the same as ResetDeployments with the addition of
6122// the ability to pass a context and additional request options.
6123//
6124// See ResetDeployments for details on how to use this API operation.
6125//
6126// The context must be non-nil and will be used for request cancellation. If
6127// the context is nil a panic will occur. In the future the SDK may create
6128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6129// for more information on using Contexts.
6130func (c *Greengrass) ResetDeploymentsWithContext(ctx aws.Context, input *ResetDeploymentsInput, opts ...request.Option) (*ResetDeploymentsOutput, error) {
6131	req, out := c.ResetDeploymentsRequest(input)
6132	req.SetContext(ctx)
6133	req.ApplyOptions(opts...)
6134	return out, req.Send()
6135}
6136
6137const opStartBulkDeployment = "StartBulkDeployment"
6138
6139// StartBulkDeploymentRequest generates a "aws/request.Request" representing the
6140// client's request for the StartBulkDeployment operation. The "output" return
6141// value will be populated with the request's response once the request completes
6142// successfully.
6143//
6144// Use "Send" method on the returned Request to send the API call to the service.
6145// the "output" return value is not valid until after Send returns without error.
6146//
6147// See StartBulkDeployment for more information on using the StartBulkDeployment
6148// API call, and error handling.
6149//
6150// This method is useful when you want to inject custom logic or configuration
6151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6152//
6153//
6154//    // Example sending a request using the StartBulkDeploymentRequest method.
6155//    req, resp := client.StartBulkDeploymentRequest(params)
6156//
6157//    err := req.Send()
6158//    if err == nil { // resp is now filled
6159//        fmt.Println(resp)
6160//    }
6161//
6162// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StartBulkDeployment
6163func (c *Greengrass) StartBulkDeploymentRequest(input *StartBulkDeploymentInput) (req *request.Request, output *StartBulkDeploymentOutput) {
6164	op := &request.Operation{
6165		Name:       opStartBulkDeployment,
6166		HTTPMethod: "POST",
6167		HTTPPath:   "/greengrass/bulk/deployments",
6168	}
6169
6170	if input == nil {
6171		input = &StartBulkDeploymentInput{}
6172	}
6173
6174	output = &StartBulkDeploymentOutput{}
6175	req = c.newRequest(op, input, output)
6176	return
6177}
6178
6179// StartBulkDeployment API operation for AWS Greengrass.
6180//
6181// Deploys multiple groups in one operation. This action starts the bulk deployment
6182// of a specified set of group versions. Each group version deployment will
6183// be triggered with an adaptive rate that has a fixed upper limit. We recommend
6184// that you include an ''X-Amzn-Client-Token'' token in every ''StartBulkDeployment''
6185// request. These requests are idempotent with respect to the token and the
6186// request parameters.
6187//
6188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6189// with awserr.Error's Code and Message methods to get detailed information about
6190// the error.
6191//
6192// See the AWS API reference guide for AWS Greengrass's
6193// API operation StartBulkDeployment for usage and error information.
6194//
6195// Returned Error Types:
6196//   * BadRequestException
6197//   General error information.
6198//
6199// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StartBulkDeployment
6200func (c *Greengrass) StartBulkDeployment(input *StartBulkDeploymentInput) (*StartBulkDeploymentOutput, error) {
6201	req, out := c.StartBulkDeploymentRequest(input)
6202	return out, req.Send()
6203}
6204
6205// StartBulkDeploymentWithContext is the same as StartBulkDeployment with the addition of
6206// the ability to pass a context and additional request options.
6207//
6208// See StartBulkDeployment for details on how to use this API operation.
6209//
6210// The context must be non-nil and will be used for request cancellation. If
6211// the context is nil a panic will occur. In the future the SDK may create
6212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6213// for more information on using Contexts.
6214func (c *Greengrass) StartBulkDeploymentWithContext(ctx aws.Context, input *StartBulkDeploymentInput, opts ...request.Option) (*StartBulkDeploymentOutput, error) {
6215	req, out := c.StartBulkDeploymentRequest(input)
6216	req.SetContext(ctx)
6217	req.ApplyOptions(opts...)
6218	return out, req.Send()
6219}
6220
6221const opStopBulkDeployment = "StopBulkDeployment"
6222
6223// StopBulkDeploymentRequest generates a "aws/request.Request" representing the
6224// client's request for the StopBulkDeployment operation. The "output" return
6225// value will be populated with the request's response once the request completes
6226// successfully.
6227//
6228// Use "Send" method on the returned Request to send the API call to the service.
6229// the "output" return value is not valid until after Send returns without error.
6230//
6231// See StopBulkDeployment for more information on using the StopBulkDeployment
6232// API call, and error handling.
6233//
6234// This method is useful when you want to inject custom logic or configuration
6235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6236//
6237//
6238//    // Example sending a request using the StopBulkDeploymentRequest method.
6239//    req, resp := client.StopBulkDeploymentRequest(params)
6240//
6241//    err := req.Send()
6242//    if err == nil { // resp is now filled
6243//        fmt.Println(resp)
6244//    }
6245//
6246// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StopBulkDeployment
6247func (c *Greengrass) StopBulkDeploymentRequest(input *StopBulkDeploymentInput) (req *request.Request, output *StopBulkDeploymentOutput) {
6248	op := &request.Operation{
6249		Name:       opStopBulkDeployment,
6250		HTTPMethod: "PUT",
6251		HTTPPath:   "/greengrass/bulk/deployments/{BulkDeploymentId}/$stop",
6252	}
6253
6254	if input == nil {
6255		input = &StopBulkDeploymentInput{}
6256	}
6257
6258	output = &StopBulkDeploymentOutput{}
6259	req = c.newRequest(op, input, output)
6260	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6261	return
6262}
6263
6264// StopBulkDeployment API operation for AWS Greengrass.
6265//
6266// Stops the execution of a bulk deployment. This action returns a status of
6267// ''Stopping'' until the deployment is stopped. You cannot start a new bulk
6268// deployment while a previous deployment is in the ''Stopping'' state. This
6269// action doesn't rollback completed deployments or cancel pending deployments.
6270//
6271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6272// with awserr.Error's Code and Message methods to get detailed information about
6273// the error.
6274//
6275// See the AWS API reference guide for AWS Greengrass's
6276// API operation StopBulkDeployment for usage and error information.
6277//
6278// Returned Error Types:
6279//   * BadRequestException
6280//   General error information.
6281//
6282// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StopBulkDeployment
6283func (c *Greengrass) StopBulkDeployment(input *StopBulkDeploymentInput) (*StopBulkDeploymentOutput, error) {
6284	req, out := c.StopBulkDeploymentRequest(input)
6285	return out, req.Send()
6286}
6287
6288// StopBulkDeploymentWithContext is the same as StopBulkDeployment with the addition of
6289// the ability to pass a context and additional request options.
6290//
6291// See StopBulkDeployment for details on how to use this API operation.
6292//
6293// The context must be non-nil and will be used for request cancellation. If
6294// the context is nil a panic will occur. In the future the SDK may create
6295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6296// for more information on using Contexts.
6297func (c *Greengrass) StopBulkDeploymentWithContext(ctx aws.Context, input *StopBulkDeploymentInput, opts ...request.Option) (*StopBulkDeploymentOutput, error) {
6298	req, out := c.StopBulkDeploymentRequest(input)
6299	req.SetContext(ctx)
6300	req.ApplyOptions(opts...)
6301	return out, req.Send()
6302}
6303
6304const opTagResource = "TagResource"
6305
6306// TagResourceRequest generates a "aws/request.Request" representing the
6307// client's request for the TagResource operation. The "output" return
6308// value will be populated with the request's response once the request completes
6309// successfully.
6310//
6311// Use "Send" method on the returned Request to send the API call to the service.
6312// the "output" return value is not valid until after Send returns without error.
6313//
6314// See TagResource for more information on using the TagResource
6315// API call, and error handling.
6316//
6317// This method is useful when you want to inject custom logic or configuration
6318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6319//
6320//
6321//    // Example sending a request using the TagResourceRequest method.
6322//    req, resp := client.TagResourceRequest(params)
6323//
6324//    err := req.Send()
6325//    if err == nil { // resp is now filled
6326//        fmt.Println(resp)
6327//    }
6328//
6329// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/TagResource
6330func (c *Greengrass) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
6331	op := &request.Operation{
6332		Name:       opTagResource,
6333		HTTPMethod: "POST",
6334		HTTPPath:   "/tags/{resource-arn}",
6335	}
6336
6337	if input == nil {
6338		input = &TagResourceInput{}
6339	}
6340
6341	output = &TagResourceOutput{}
6342	req = c.newRequest(op, input, output)
6343	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6344	return
6345}
6346
6347// TagResource API operation for AWS Greengrass.
6348//
6349// Adds tags to a Greengrass resource. Valid resources are 'Group', 'ConnectorDefinition',
6350// 'CoreDefinition', 'DeviceDefinition', 'FunctionDefinition', 'LoggerDefinition',
6351// 'SubscriptionDefinition', 'ResourceDefinition', and 'BulkDeployment'.
6352//
6353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6354// with awserr.Error's Code and Message methods to get detailed information about
6355// the error.
6356//
6357// See the AWS API reference guide for AWS Greengrass's
6358// API operation TagResource for usage and error information.
6359//
6360// Returned Error Types:
6361//   * BadRequestException
6362//   General error information.
6363//
6364// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/TagResource
6365func (c *Greengrass) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
6366	req, out := c.TagResourceRequest(input)
6367	return out, req.Send()
6368}
6369
6370// TagResourceWithContext is the same as TagResource with the addition of
6371// the ability to pass a context and additional request options.
6372//
6373// See TagResource for details on how to use this API operation.
6374//
6375// The context must be non-nil and will be used for request cancellation. If
6376// the context is nil a panic will occur. In the future the SDK may create
6377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6378// for more information on using Contexts.
6379func (c *Greengrass) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
6380	req, out := c.TagResourceRequest(input)
6381	req.SetContext(ctx)
6382	req.ApplyOptions(opts...)
6383	return out, req.Send()
6384}
6385
6386const opUntagResource = "UntagResource"
6387
6388// UntagResourceRequest generates a "aws/request.Request" representing the
6389// client's request for the UntagResource operation. The "output" return
6390// value will be populated with the request's response once the request completes
6391// successfully.
6392//
6393// Use "Send" method on the returned Request to send the API call to the service.
6394// the "output" return value is not valid until after Send returns without error.
6395//
6396// See UntagResource for more information on using the UntagResource
6397// API call, and error handling.
6398//
6399// This method is useful when you want to inject custom logic or configuration
6400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6401//
6402//
6403//    // Example sending a request using the UntagResourceRequest method.
6404//    req, resp := client.UntagResourceRequest(params)
6405//
6406//    err := req.Send()
6407//    if err == nil { // resp is now filled
6408//        fmt.Println(resp)
6409//    }
6410//
6411// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UntagResource
6412func (c *Greengrass) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
6413	op := &request.Operation{
6414		Name:       opUntagResource,
6415		HTTPMethod: "DELETE",
6416		HTTPPath:   "/tags/{resource-arn}",
6417	}
6418
6419	if input == nil {
6420		input = &UntagResourceInput{}
6421	}
6422
6423	output = &UntagResourceOutput{}
6424	req = c.newRequest(op, input, output)
6425	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6426	return
6427}
6428
6429// UntagResource API operation for AWS Greengrass.
6430//
6431// Remove resource tags from a Greengrass Resource.
6432//
6433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6434// with awserr.Error's Code and Message methods to get detailed information about
6435// the error.
6436//
6437// See the AWS API reference guide for AWS Greengrass's
6438// API operation UntagResource for usage and error information.
6439//
6440// Returned Error Types:
6441//   * BadRequestException
6442//   General error information.
6443//
6444// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UntagResource
6445func (c *Greengrass) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
6446	req, out := c.UntagResourceRequest(input)
6447	return out, req.Send()
6448}
6449
6450// UntagResourceWithContext is the same as UntagResource with the addition of
6451// the ability to pass a context and additional request options.
6452//
6453// See UntagResource for details on how to use this API operation.
6454//
6455// The context must be non-nil and will be used for request cancellation. If
6456// the context is nil a panic will occur. In the future the SDK may create
6457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6458// for more information on using Contexts.
6459func (c *Greengrass) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
6460	req, out := c.UntagResourceRequest(input)
6461	req.SetContext(ctx)
6462	req.ApplyOptions(opts...)
6463	return out, req.Send()
6464}
6465
6466const opUpdateConnectivityInfo = "UpdateConnectivityInfo"
6467
6468// UpdateConnectivityInfoRequest generates a "aws/request.Request" representing the
6469// client's request for the UpdateConnectivityInfo operation. The "output" return
6470// value will be populated with the request's response once the request completes
6471// successfully.
6472//
6473// Use "Send" method on the returned Request to send the API call to the service.
6474// the "output" return value is not valid until after Send returns without error.
6475//
6476// See UpdateConnectivityInfo for more information on using the UpdateConnectivityInfo
6477// API call, and error handling.
6478//
6479// This method is useful when you want to inject custom logic or configuration
6480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6481//
6482//
6483//    // Example sending a request using the UpdateConnectivityInfoRequest method.
6484//    req, resp := client.UpdateConnectivityInfoRequest(params)
6485//
6486//    err := req.Send()
6487//    if err == nil { // resp is now filled
6488//        fmt.Println(resp)
6489//    }
6490//
6491// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectivityInfo
6492func (c *Greengrass) UpdateConnectivityInfoRequest(input *UpdateConnectivityInfoInput) (req *request.Request, output *UpdateConnectivityInfoOutput) {
6493	op := &request.Operation{
6494		Name:       opUpdateConnectivityInfo,
6495		HTTPMethod: "PUT",
6496		HTTPPath:   "/greengrass/things/{ThingName}/connectivityInfo",
6497	}
6498
6499	if input == nil {
6500		input = &UpdateConnectivityInfoInput{}
6501	}
6502
6503	output = &UpdateConnectivityInfoOutput{}
6504	req = c.newRequest(op, input, output)
6505	return
6506}
6507
6508// UpdateConnectivityInfo API operation for AWS Greengrass.
6509//
6510// Updates the connectivity information for the core. Any devices that belong
6511// to the group which has this core will receive this information in order to
6512// find the location of the core and connect to it.
6513//
6514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6515// with awserr.Error's Code and Message methods to get detailed information about
6516// the error.
6517//
6518// See the AWS API reference guide for AWS Greengrass's
6519// API operation UpdateConnectivityInfo for usage and error information.
6520//
6521// Returned Error Types:
6522//   * BadRequestException
6523//   General error information.
6524//
6525//   * InternalServerErrorException
6526//   General error information.
6527//
6528// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectivityInfo
6529func (c *Greengrass) UpdateConnectivityInfo(input *UpdateConnectivityInfoInput) (*UpdateConnectivityInfoOutput, error) {
6530	req, out := c.UpdateConnectivityInfoRequest(input)
6531	return out, req.Send()
6532}
6533
6534// UpdateConnectivityInfoWithContext is the same as UpdateConnectivityInfo with the addition of
6535// the ability to pass a context and additional request options.
6536//
6537// See UpdateConnectivityInfo for details on how to use this API operation.
6538//
6539// The context must be non-nil and will be used for request cancellation. If
6540// the context is nil a panic will occur. In the future the SDK may create
6541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6542// for more information on using Contexts.
6543func (c *Greengrass) UpdateConnectivityInfoWithContext(ctx aws.Context, input *UpdateConnectivityInfoInput, opts ...request.Option) (*UpdateConnectivityInfoOutput, error) {
6544	req, out := c.UpdateConnectivityInfoRequest(input)
6545	req.SetContext(ctx)
6546	req.ApplyOptions(opts...)
6547	return out, req.Send()
6548}
6549
6550const opUpdateConnectorDefinition = "UpdateConnectorDefinition"
6551
6552// UpdateConnectorDefinitionRequest generates a "aws/request.Request" representing the
6553// client's request for the UpdateConnectorDefinition operation. The "output" return
6554// value will be populated with the request's response once the request completes
6555// successfully.
6556//
6557// Use "Send" method on the returned Request to send the API call to the service.
6558// the "output" return value is not valid until after Send returns without error.
6559//
6560// See UpdateConnectorDefinition for more information on using the UpdateConnectorDefinition
6561// API call, and error handling.
6562//
6563// This method is useful when you want to inject custom logic or configuration
6564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6565//
6566//
6567//    // Example sending a request using the UpdateConnectorDefinitionRequest method.
6568//    req, resp := client.UpdateConnectorDefinitionRequest(params)
6569//
6570//    err := req.Send()
6571//    if err == nil { // resp is now filled
6572//        fmt.Println(resp)
6573//    }
6574//
6575// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectorDefinition
6576func (c *Greengrass) UpdateConnectorDefinitionRequest(input *UpdateConnectorDefinitionInput) (req *request.Request, output *UpdateConnectorDefinitionOutput) {
6577	op := &request.Operation{
6578		Name:       opUpdateConnectorDefinition,
6579		HTTPMethod: "PUT",
6580		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}",
6581	}
6582
6583	if input == nil {
6584		input = &UpdateConnectorDefinitionInput{}
6585	}
6586
6587	output = &UpdateConnectorDefinitionOutput{}
6588	req = c.newRequest(op, input, output)
6589	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6590	return
6591}
6592
6593// UpdateConnectorDefinition API operation for AWS Greengrass.
6594//
6595// Updates a connector definition.
6596//
6597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6598// with awserr.Error's Code and Message methods to get detailed information about
6599// the error.
6600//
6601// See the AWS API reference guide for AWS Greengrass's
6602// API operation UpdateConnectorDefinition for usage and error information.
6603//
6604// Returned Error Types:
6605//   * BadRequestException
6606//   General error information.
6607//
6608// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectorDefinition
6609func (c *Greengrass) UpdateConnectorDefinition(input *UpdateConnectorDefinitionInput) (*UpdateConnectorDefinitionOutput, error) {
6610	req, out := c.UpdateConnectorDefinitionRequest(input)
6611	return out, req.Send()
6612}
6613
6614// UpdateConnectorDefinitionWithContext is the same as UpdateConnectorDefinition with the addition of
6615// the ability to pass a context and additional request options.
6616//
6617// See UpdateConnectorDefinition for details on how to use this API operation.
6618//
6619// The context must be non-nil and will be used for request cancellation. If
6620// the context is nil a panic will occur. In the future the SDK may create
6621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6622// for more information on using Contexts.
6623func (c *Greengrass) UpdateConnectorDefinitionWithContext(ctx aws.Context, input *UpdateConnectorDefinitionInput, opts ...request.Option) (*UpdateConnectorDefinitionOutput, error) {
6624	req, out := c.UpdateConnectorDefinitionRequest(input)
6625	req.SetContext(ctx)
6626	req.ApplyOptions(opts...)
6627	return out, req.Send()
6628}
6629
6630const opUpdateCoreDefinition = "UpdateCoreDefinition"
6631
6632// UpdateCoreDefinitionRequest generates a "aws/request.Request" representing the
6633// client's request for the UpdateCoreDefinition operation. The "output" return
6634// value will be populated with the request's response once the request completes
6635// successfully.
6636//
6637// Use "Send" method on the returned Request to send the API call to the service.
6638// the "output" return value is not valid until after Send returns without error.
6639//
6640// See UpdateCoreDefinition for more information on using the UpdateCoreDefinition
6641// API call, and error handling.
6642//
6643// This method is useful when you want to inject custom logic or configuration
6644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6645//
6646//
6647//    // Example sending a request using the UpdateCoreDefinitionRequest method.
6648//    req, resp := client.UpdateCoreDefinitionRequest(params)
6649//
6650//    err := req.Send()
6651//    if err == nil { // resp is now filled
6652//        fmt.Println(resp)
6653//    }
6654//
6655// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateCoreDefinition
6656func (c *Greengrass) UpdateCoreDefinitionRequest(input *UpdateCoreDefinitionInput) (req *request.Request, output *UpdateCoreDefinitionOutput) {
6657	op := &request.Operation{
6658		Name:       opUpdateCoreDefinition,
6659		HTTPMethod: "PUT",
6660		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}",
6661	}
6662
6663	if input == nil {
6664		input = &UpdateCoreDefinitionInput{}
6665	}
6666
6667	output = &UpdateCoreDefinitionOutput{}
6668	req = c.newRequest(op, input, output)
6669	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6670	return
6671}
6672
6673// UpdateCoreDefinition API operation for AWS Greengrass.
6674//
6675// Updates a core definition.
6676//
6677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6678// with awserr.Error's Code and Message methods to get detailed information about
6679// the error.
6680//
6681// See the AWS API reference guide for AWS Greengrass's
6682// API operation UpdateCoreDefinition for usage and error information.
6683//
6684// Returned Error Types:
6685//   * BadRequestException
6686//   General error information.
6687//
6688// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateCoreDefinition
6689func (c *Greengrass) UpdateCoreDefinition(input *UpdateCoreDefinitionInput) (*UpdateCoreDefinitionOutput, error) {
6690	req, out := c.UpdateCoreDefinitionRequest(input)
6691	return out, req.Send()
6692}
6693
6694// UpdateCoreDefinitionWithContext is the same as UpdateCoreDefinition with the addition of
6695// the ability to pass a context and additional request options.
6696//
6697// See UpdateCoreDefinition for details on how to use this API operation.
6698//
6699// The context must be non-nil and will be used for request cancellation. If
6700// the context is nil a panic will occur. In the future the SDK may create
6701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6702// for more information on using Contexts.
6703func (c *Greengrass) UpdateCoreDefinitionWithContext(ctx aws.Context, input *UpdateCoreDefinitionInput, opts ...request.Option) (*UpdateCoreDefinitionOutput, error) {
6704	req, out := c.UpdateCoreDefinitionRequest(input)
6705	req.SetContext(ctx)
6706	req.ApplyOptions(opts...)
6707	return out, req.Send()
6708}
6709
6710const opUpdateDeviceDefinition = "UpdateDeviceDefinition"
6711
6712// UpdateDeviceDefinitionRequest generates a "aws/request.Request" representing the
6713// client's request for the UpdateDeviceDefinition operation. The "output" return
6714// value will be populated with the request's response once the request completes
6715// successfully.
6716//
6717// Use "Send" method on the returned Request to send the API call to the service.
6718// the "output" return value is not valid until after Send returns without error.
6719//
6720// See UpdateDeviceDefinition for more information on using the UpdateDeviceDefinition
6721// API call, and error handling.
6722//
6723// This method is useful when you want to inject custom logic or configuration
6724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6725//
6726//
6727//    // Example sending a request using the UpdateDeviceDefinitionRequest method.
6728//    req, resp := client.UpdateDeviceDefinitionRequest(params)
6729//
6730//    err := req.Send()
6731//    if err == nil { // resp is now filled
6732//        fmt.Println(resp)
6733//    }
6734//
6735// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateDeviceDefinition
6736func (c *Greengrass) UpdateDeviceDefinitionRequest(input *UpdateDeviceDefinitionInput) (req *request.Request, output *UpdateDeviceDefinitionOutput) {
6737	op := &request.Operation{
6738		Name:       opUpdateDeviceDefinition,
6739		HTTPMethod: "PUT",
6740		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}",
6741	}
6742
6743	if input == nil {
6744		input = &UpdateDeviceDefinitionInput{}
6745	}
6746
6747	output = &UpdateDeviceDefinitionOutput{}
6748	req = c.newRequest(op, input, output)
6749	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6750	return
6751}
6752
6753// UpdateDeviceDefinition API operation for AWS Greengrass.
6754//
6755// Updates a device definition.
6756//
6757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6758// with awserr.Error's Code and Message methods to get detailed information about
6759// the error.
6760//
6761// See the AWS API reference guide for AWS Greengrass's
6762// API operation UpdateDeviceDefinition for usage and error information.
6763//
6764// Returned Error Types:
6765//   * BadRequestException
6766//   General error information.
6767//
6768// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateDeviceDefinition
6769func (c *Greengrass) UpdateDeviceDefinition(input *UpdateDeviceDefinitionInput) (*UpdateDeviceDefinitionOutput, error) {
6770	req, out := c.UpdateDeviceDefinitionRequest(input)
6771	return out, req.Send()
6772}
6773
6774// UpdateDeviceDefinitionWithContext is the same as UpdateDeviceDefinition with the addition of
6775// the ability to pass a context and additional request options.
6776//
6777// See UpdateDeviceDefinition for details on how to use this API operation.
6778//
6779// The context must be non-nil and will be used for request cancellation. If
6780// the context is nil a panic will occur. In the future the SDK may create
6781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6782// for more information on using Contexts.
6783func (c *Greengrass) UpdateDeviceDefinitionWithContext(ctx aws.Context, input *UpdateDeviceDefinitionInput, opts ...request.Option) (*UpdateDeviceDefinitionOutput, error) {
6784	req, out := c.UpdateDeviceDefinitionRequest(input)
6785	req.SetContext(ctx)
6786	req.ApplyOptions(opts...)
6787	return out, req.Send()
6788}
6789
6790const opUpdateFunctionDefinition = "UpdateFunctionDefinition"
6791
6792// UpdateFunctionDefinitionRequest generates a "aws/request.Request" representing the
6793// client's request for the UpdateFunctionDefinition operation. The "output" return
6794// value will be populated with the request's response once the request completes
6795// successfully.
6796//
6797// Use "Send" method on the returned Request to send the API call to the service.
6798// the "output" return value is not valid until after Send returns without error.
6799//
6800// See UpdateFunctionDefinition for more information on using the UpdateFunctionDefinition
6801// API call, and error handling.
6802//
6803// This method is useful when you want to inject custom logic or configuration
6804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6805//
6806//
6807//    // Example sending a request using the UpdateFunctionDefinitionRequest method.
6808//    req, resp := client.UpdateFunctionDefinitionRequest(params)
6809//
6810//    err := req.Send()
6811//    if err == nil { // resp is now filled
6812//        fmt.Println(resp)
6813//    }
6814//
6815// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateFunctionDefinition
6816func (c *Greengrass) UpdateFunctionDefinitionRequest(input *UpdateFunctionDefinitionInput) (req *request.Request, output *UpdateFunctionDefinitionOutput) {
6817	op := &request.Operation{
6818		Name:       opUpdateFunctionDefinition,
6819		HTTPMethod: "PUT",
6820		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}",
6821	}
6822
6823	if input == nil {
6824		input = &UpdateFunctionDefinitionInput{}
6825	}
6826
6827	output = &UpdateFunctionDefinitionOutput{}
6828	req = c.newRequest(op, input, output)
6829	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6830	return
6831}
6832
6833// UpdateFunctionDefinition API operation for AWS Greengrass.
6834//
6835// Updates a Lambda function definition.
6836//
6837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6838// with awserr.Error's Code and Message methods to get detailed information about
6839// the error.
6840//
6841// See the AWS API reference guide for AWS Greengrass's
6842// API operation UpdateFunctionDefinition for usage and error information.
6843//
6844// Returned Error Types:
6845//   * BadRequestException
6846//   General error information.
6847//
6848// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateFunctionDefinition
6849func (c *Greengrass) UpdateFunctionDefinition(input *UpdateFunctionDefinitionInput) (*UpdateFunctionDefinitionOutput, error) {
6850	req, out := c.UpdateFunctionDefinitionRequest(input)
6851	return out, req.Send()
6852}
6853
6854// UpdateFunctionDefinitionWithContext is the same as UpdateFunctionDefinition with the addition of
6855// the ability to pass a context and additional request options.
6856//
6857// See UpdateFunctionDefinition for details on how to use this API operation.
6858//
6859// The context must be non-nil and will be used for request cancellation. If
6860// the context is nil a panic will occur. In the future the SDK may create
6861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6862// for more information on using Contexts.
6863func (c *Greengrass) UpdateFunctionDefinitionWithContext(ctx aws.Context, input *UpdateFunctionDefinitionInput, opts ...request.Option) (*UpdateFunctionDefinitionOutput, error) {
6864	req, out := c.UpdateFunctionDefinitionRequest(input)
6865	req.SetContext(ctx)
6866	req.ApplyOptions(opts...)
6867	return out, req.Send()
6868}
6869
6870const opUpdateGroup = "UpdateGroup"
6871
6872// UpdateGroupRequest generates a "aws/request.Request" representing the
6873// client's request for the UpdateGroup operation. The "output" return
6874// value will be populated with the request's response once the request completes
6875// successfully.
6876//
6877// Use "Send" method on the returned Request to send the API call to the service.
6878// the "output" return value is not valid until after Send returns without error.
6879//
6880// See UpdateGroup for more information on using the UpdateGroup
6881// API call, and error handling.
6882//
6883// This method is useful when you want to inject custom logic or configuration
6884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6885//
6886//
6887//    // Example sending a request using the UpdateGroupRequest method.
6888//    req, resp := client.UpdateGroupRequest(params)
6889//
6890//    err := req.Send()
6891//    if err == nil { // resp is now filled
6892//        fmt.Println(resp)
6893//    }
6894//
6895// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroup
6896func (c *Greengrass) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
6897	op := &request.Operation{
6898		Name:       opUpdateGroup,
6899		HTTPMethod: "PUT",
6900		HTTPPath:   "/greengrass/groups/{GroupId}",
6901	}
6902
6903	if input == nil {
6904		input = &UpdateGroupInput{}
6905	}
6906
6907	output = &UpdateGroupOutput{}
6908	req = c.newRequest(op, input, output)
6909	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6910	return
6911}
6912
6913// UpdateGroup API operation for AWS Greengrass.
6914//
6915// Updates a group.
6916//
6917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6918// with awserr.Error's Code and Message methods to get detailed information about
6919// the error.
6920//
6921// See the AWS API reference guide for AWS Greengrass's
6922// API operation UpdateGroup for usage and error information.
6923//
6924// Returned Error Types:
6925//   * BadRequestException
6926//   General error information.
6927//
6928// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroup
6929func (c *Greengrass) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
6930	req, out := c.UpdateGroupRequest(input)
6931	return out, req.Send()
6932}
6933
6934// UpdateGroupWithContext is the same as UpdateGroup with the addition of
6935// the ability to pass a context and additional request options.
6936//
6937// See UpdateGroup for details on how to use this API operation.
6938//
6939// The context must be non-nil and will be used for request cancellation. If
6940// the context is nil a panic will occur. In the future the SDK may create
6941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6942// for more information on using Contexts.
6943func (c *Greengrass) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) {
6944	req, out := c.UpdateGroupRequest(input)
6945	req.SetContext(ctx)
6946	req.ApplyOptions(opts...)
6947	return out, req.Send()
6948}
6949
6950const opUpdateGroupCertificateConfiguration = "UpdateGroupCertificateConfiguration"
6951
6952// UpdateGroupCertificateConfigurationRequest generates a "aws/request.Request" representing the
6953// client's request for the UpdateGroupCertificateConfiguration operation. The "output" return
6954// value will be populated with the request's response once the request completes
6955// successfully.
6956//
6957// Use "Send" method on the returned Request to send the API call to the service.
6958// the "output" return value is not valid until after Send returns without error.
6959//
6960// See UpdateGroupCertificateConfiguration for more information on using the UpdateGroupCertificateConfiguration
6961// API call, and error handling.
6962//
6963// This method is useful when you want to inject custom logic or configuration
6964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6965//
6966//
6967//    // Example sending a request using the UpdateGroupCertificateConfigurationRequest method.
6968//    req, resp := client.UpdateGroupCertificateConfigurationRequest(params)
6969//
6970//    err := req.Send()
6971//    if err == nil { // resp is now filled
6972//        fmt.Println(resp)
6973//    }
6974//
6975// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroupCertificateConfiguration
6976func (c *Greengrass) UpdateGroupCertificateConfigurationRequest(input *UpdateGroupCertificateConfigurationInput) (req *request.Request, output *UpdateGroupCertificateConfigurationOutput) {
6977	op := &request.Operation{
6978		Name:       opUpdateGroupCertificateConfiguration,
6979		HTTPMethod: "PUT",
6980		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry",
6981	}
6982
6983	if input == nil {
6984		input = &UpdateGroupCertificateConfigurationInput{}
6985	}
6986
6987	output = &UpdateGroupCertificateConfigurationOutput{}
6988	req = c.newRequest(op, input, output)
6989	return
6990}
6991
6992// UpdateGroupCertificateConfiguration API operation for AWS Greengrass.
6993//
6994// Updates the Certificate expiry time for a group.
6995//
6996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6997// with awserr.Error's Code and Message methods to get detailed information about
6998// the error.
6999//
7000// See the AWS API reference guide for AWS Greengrass's
7001// API operation UpdateGroupCertificateConfiguration for usage and error information.
7002//
7003// Returned Error Types:
7004//   * BadRequestException
7005//   General error information.
7006//
7007//   * InternalServerErrorException
7008//   General error information.
7009//
7010// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroupCertificateConfiguration
7011func (c *Greengrass) UpdateGroupCertificateConfiguration(input *UpdateGroupCertificateConfigurationInput) (*UpdateGroupCertificateConfigurationOutput, error) {
7012	req, out := c.UpdateGroupCertificateConfigurationRequest(input)
7013	return out, req.Send()
7014}
7015
7016// UpdateGroupCertificateConfigurationWithContext is the same as UpdateGroupCertificateConfiguration with the addition of
7017// the ability to pass a context and additional request options.
7018//
7019// See UpdateGroupCertificateConfiguration for details on how to use this API operation.
7020//
7021// The context must be non-nil and will be used for request cancellation. If
7022// the context is nil a panic will occur. In the future the SDK may create
7023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7024// for more information on using Contexts.
7025func (c *Greengrass) UpdateGroupCertificateConfigurationWithContext(ctx aws.Context, input *UpdateGroupCertificateConfigurationInput, opts ...request.Option) (*UpdateGroupCertificateConfigurationOutput, error) {
7026	req, out := c.UpdateGroupCertificateConfigurationRequest(input)
7027	req.SetContext(ctx)
7028	req.ApplyOptions(opts...)
7029	return out, req.Send()
7030}
7031
7032const opUpdateLoggerDefinition = "UpdateLoggerDefinition"
7033
7034// UpdateLoggerDefinitionRequest generates a "aws/request.Request" representing the
7035// client's request for the UpdateLoggerDefinition operation. The "output" return
7036// value will be populated with the request's response once the request completes
7037// successfully.
7038//
7039// Use "Send" method on the returned Request to send the API call to the service.
7040// the "output" return value is not valid until after Send returns without error.
7041//
7042// See UpdateLoggerDefinition for more information on using the UpdateLoggerDefinition
7043// API call, and error handling.
7044//
7045// This method is useful when you want to inject custom logic or configuration
7046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7047//
7048//
7049//    // Example sending a request using the UpdateLoggerDefinitionRequest method.
7050//    req, resp := client.UpdateLoggerDefinitionRequest(params)
7051//
7052//    err := req.Send()
7053//    if err == nil { // resp is now filled
7054//        fmt.Println(resp)
7055//    }
7056//
7057// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateLoggerDefinition
7058func (c *Greengrass) UpdateLoggerDefinitionRequest(input *UpdateLoggerDefinitionInput) (req *request.Request, output *UpdateLoggerDefinitionOutput) {
7059	op := &request.Operation{
7060		Name:       opUpdateLoggerDefinition,
7061		HTTPMethod: "PUT",
7062		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}",
7063	}
7064
7065	if input == nil {
7066		input = &UpdateLoggerDefinitionInput{}
7067	}
7068
7069	output = &UpdateLoggerDefinitionOutput{}
7070	req = c.newRequest(op, input, output)
7071	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7072	return
7073}
7074
7075// UpdateLoggerDefinition API operation for AWS Greengrass.
7076//
7077// Updates a logger definition.
7078//
7079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7080// with awserr.Error's Code and Message methods to get detailed information about
7081// the error.
7082//
7083// See the AWS API reference guide for AWS Greengrass's
7084// API operation UpdateLoggerDefinition for usage and error information.
7085//
7086// Returned Error Types:
7087//   * BadRequestException
7088//   General error information.
7089//
7090// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateLoggerDefinition
7091func (c *Greengrass) UpdateLoggerDefinition(input *UpdateLoggerDefinitionInput) (*UpdateLoggerDefinitionOutput, error) {
7092	req, out := c.UpdateLoggerDefinitionRequest(input)
7093	return out, req.Send()
7094}
7095
7096// UpdateLoggerDefinitionWithContext is the same as UpdateLoggerDefinition with the addition of
7097// the ability to pass a context and additional request options.
7098//
7099// See UpdateLoggerDefinition for details on how to use this API operation.
7100//
7101// The context must be non-nil and will be used for request cancellation. If
7102// the context is nil a panic will occur. In the future the SDK may create
7103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7104// for more information on using Contexts.
7105func (c *Greengrass) UpdateLoggerDefinitionWithContext(ctx aws.Context, input *UpdateLoggerDefinitionInput, opts ...request.Option) (*UpdateLoggerDefinitionOutput, error) {
7106	req, out := c.UpdateLoggerDefinitionRequest(input)
7107	req.SetContext(ctx)
7108	req.ApplyOptions(opts...)
7109	return out, req.Send()
7110}
7111
7112const opUpdateResourceDefinition = "UpdateResourceDefinition"
7113
7114// UpdateResourceDefinitionRequest generates a "aws/request.Request" representing the
7115// client's request for the UpdateResourceDefinition operation. The "output" return
7116// value will be populated with the request's response once the request completes
7117// successfully.
7118//
7119// Use "Send" method on the returned Request to send the API call to the service.
7120// the "output" return value is not valid until after Send returns without error.
7121//
7122// See UpdateResourceDefinition for more information on using the UpdateResourceDefinition
7123// API call, and error handling.
7124//
7125// This method is useful when you want to inject custom logic or configuration
7126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7127//
7128//
7129//    // Example sending a request using the UpdateResourceDefinitionRequest method.
7130//    req, resp := client.UpdateResourceDefinitionRequest(params)
7131//
7132//    err := req.Send()
7133//    if err == nil { // resp is now filled
7134//        fmt.Println(resp)
7135//    }
7136//
7137// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateResourceDefinition
7138func (c *Greengrass) UpdateResourceDefinitionRequest(input *UpdateResourceDefinitionInput) (req *request.Request, output *UpdateResourceDefinitionOutput) {
7139	op := &request.Operation{
7140		Name:       opUpdateResourceDefinition,
7141		HTTPMethod: "PUT",
7142		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}",
7143	}
7144
7145	if input == nil {
7146		input = &UpdateResourceDefinitionInput{}
7147	}
7148
7149	output = &UpdateResourceDefinitionOutput{}
7150	req = c.newRequest(op, input, output)
7151	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7152	return
7153}
7154
7155// UpdateResourceDefinition API operation for AWS Greengrass.
7156//
7157// Updates a resource definition.
7158//
7159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7160// with awserr.Error's Code and Message methods to get detailed information about
7161// the error.
7162//
7163// See the AWS API reference guide for AWS Greengrass's
7164// API operation UpdateResourceDefinition for usage and error information.
7165//
7166// Returned Error Types:
7167//   * BadRequestException
7168//   General error information.
7169//
7170// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateResourceDefinition
7171func (c *Greengrass) UpdateResourceDefinition(input *UpdateResourceDefinitionInput) (*UpdateResourceDefinitionOutput, error) {
7172	req, out := c.UpdateResourceDefinitionRequest(input)
7173	return out, req.Send()
7174}
7175
7176// UpdateResourceDefinitionWithContext is the same as UpdateResourceDefinition with the addition of
7177// the ability to pass a context and additional request options.
7178//
7179// See UpdateResourceDefinition for details on how to use this API operation.
7180//
7181// The context must be non-nil and will be used for request cancellation. If
7182// the context is nil a panic will occur. In the future the SDK may create
7183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7184// for more information on using Contexts.
7185func (c *Greengrass) UpdateResourceDefinitionWithContext(ctx aws.Context, input *UpdateResourceDefinitionInput, opts ...request.Option) (*UpdateResourceDefinitionOutput, error) {
7186	req, out := c.UpdateResourceDefinitionRequest(input)
7187	req.SetContext(ctx)
7188	req.ApplyOptions(opts...)
7189	return out, req.Send()
7190}
7191
7192const opUpdateSubscriptionDefinition = "UpdateSubscriptionDefinition"
7193
7194// UpdateSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
7195// client's request for the UpdateSubscriptionDefinition operation. The "output" return
7196// value will be populated with the request's response once the request completes
7197// successfully.
7198//
7199// Use "Send" method on the returned Request to send the API call to the service.
7200// the "output" return value is not valid until after Send returns without error.
7201//
7202// See UpdateSubscriptionDefinition for more information on using the UpdateSubscriptionDefinition
7203// API call, and error handling.
7204//
7205// This method is useful when you want to inject custom logic or configuration
7206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7207//
7208//
7209//    // Example sending a request using the UpdateSubscriptionDefinitionRequest method.
7210//    req, resp := client.UpdateSubscriptionDefinitionRequest(params)
7211//
7212//    err := req.Send()
7213//    if err == nil { // resp is now filled
7214//        fmt.Println(resp)
7215//    }
7216//
7217// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateSubscriptionDefinition
7218func (c *Greengrass) UpdateSubscriptionDefinitionRequest(input *UpdateSubscriptionDefinitionInput) (req *request.Request, output *UpdateSubscriptionDefinitionOutput) {
7219	op := &request.Operation{
7220		Name:       opUpdateSubscriptionDefinition,
7221		HTTPMethod: "PUT",
7222		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
7223	}
7224
7225	if input == nil {
7226		input = &UpdateSubscriptionDefinitionInput{}
7227	}
7228
7229	output = &UpdateSubscriptionDefinitionOutput{}
7230	req = c.newRequest(op, input, output)
7231	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7232	return
7233}
7234
7235// UpdateSubscriptionDefinition API operation for AWS Greengrass.
7236//
7237// Updates a subscription definition.
7238//
7239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7240// with awserr.Error's Code and Message methods to get detailed information about
7241// the error.
7242//
7243// See the AWS API reference guide for AWS Greengrass's
7244// API operation UpdateSubscriptionDefinition for usage and error information.
7245//
7246// Returned Error Types:
7247//   * BadRequestException
7248//   General error information.
7249//
7250// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateSubscriptionDefinition
7251func (c *Greengrass) UpdateSubscriptionDefinition(input *UpdateSubscriptionDefinitionInput) (*UpdateSubscriptionDefinitionOutput, error) {
7252	req, out := c.UpdateSubscriptionDefinitionRequest(input)
7253	return out, req.Send()
7254}
7255
7256// UpdateSubscriptionDefinitionWithContext is the same as UpdateSubscriptionDefinition with the addition of
7257// the ability to pass a context and additional request options.
7258//
7259// See UpdateSubscriptionDefinition for details on how to use this API operation.
7260//
7261// The context must be non-nil and will be used for request cancellation. If
7262// the context is nil a panic will occur. In the future the SDK may create
7263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7264// for more information on using Contexts.
7265func (c *Greengrass) UpdateSubscriptionDefinitionWithContext(ctx aws.Context, input *UpdateSubscriptionDefinitionInput, opts ...request.Option) (*UpdateSubscriptionDefinitionOutput, error) {
7266	req, out := c.UpdateSubscriptionDefinitionRequest(input)
7267	req.SetContext(ctx)
7268	req.ApplyOptions(opts...)
7269	return out, req.Send()
7270}
7271
7272const opUpdateThingRuntimeConfiguration = "UpdateThingRuntimeConfiguration"
7273
7274// UpdateThingRuntimeConfigurationRequest generates a "aws/request.Request" representing the
7275// client's request for the UpdateThingRuntimeConfiguration operation. The "output" return
7276// value will be populated with the request's response once the request completes
7277// successfully.
7278//
7279// Use "Send" method on the returned Request to send the API call to the service.
7280// the "output" return value is not valid until after Send returns without error.
7281//
7282// See UpdateThingRuntimeConfiguration for more information on using the UpdateThingRuntimeConfiguration
7283// API call, and error handling.
7284//
7285// This method is useful when you want to inject custom logic or configuration
7286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7287//
7288//
7289//    // Example sending a request using the UpdateThingRuntimeConfigurationRequest method.
7290//    req, resp := client.UpdateThingRuntimeConfigurationRequest(params)
7291//
7292//    err := req.Send()
7293//    if err == nil { // resp is now filled
7294//        fmt.Println(resp)
7295//    }
7296//
7297// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateThingRuntimeConfiguration
7298func (c *Greengrass) UpdateThingRuntimeConfigurationRequest(input *UpdateThingRuntimeConfigurationInput) (req *request.Request, output *UpdateThingRuntimeConfigurationOutput) {
7299	op := &request.Operation{
7300		Name:       opUpdateThingRuntimeConfiguration,
7301		HTTPMethod: "PUT",
7302		HTTPPath:   "/greengrass/things/{ThingName}/runtimeconfig",
7303	}
7304
7305	if input == nil {
7306		input = &UpdateThingRuntimeConfigurationInput{}
7307	}
7308
7309	output = &UpdateThingRuntimeConfigurationOutput{}
7310	req = c.newRequest(op, input, output)
7311	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7312	return
7313}
7314
7315// UpdateThingRuntimeConfiguration API operation for AWS Greengrass.
7316//
7317// Updates the runtime configuration of a thing.
7318//
7319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7320// with awserr.Error's Code and Message methods to get detailed information about
7321// the error.
7322//
7323// See the AWS API reference guide for AWS Greengrass's
7324// API operation UpdateThingRuntimeConfiguration for usage and error information.
7325//
7326// Returned Error Types:
7327//   * BadRequestException
7328//   General error information.
7329//
7330//   * InternalServerErrorException
7331//   General error information.
7332//
7333// See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateThingRuntimeConfiguration
7334func (c *Greengrass) UpdateThingRuntimeConfiguration(input *UpdateThingRuntimeConfigurationInput) (*UpdateThingRuntimeConfigurationOutput, error) {
7335	req, out := c.UpdateThingRuntimeConfigurationRequest(input)
7336	return out, req.Send()
7337}
7338
7339// UpdateThingRuntimeConfigurationWithContext is the same as UpdateThingRuntimeConfiguration with the addition of
7340// the ability to pass a context and additional request options.
7341//
7342// See UpdateThingRuntimeConfiguration for details on how to use this API operation.
7343//
7344// The context must be non-nil and will be used for request cancellation. If
7345// the context is nil a panic will occur. In the future the SDK may create
7346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7347// for more information on using Contexts.
7348func (c *Greengrass) UpdateThingRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateThingRuntimeConfigurationInput, opts ...request.Option) (*UpdateThingRuntimeConfigurationOutput, error) {
7349	req, out := c.UpdateThingRuntimeConfigurationRequest(input)
7350	req.SetContext(ctx)
7351	req.ApplyOptions(opts...)
7352	return out, req.Send()
7353}
7354
7355type AssociateRoleToGroupInput struct {
7356	_ struct{} `type:"structure"`
7357
7358	// GroupId is a required field
7359	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
7360
7361	// The ARN of the role you wish to associate with this group. The existence
7362	// of the role is not validated.
7363	//
7364	// RoleArn is a required field
7365	RoleArn *string `type:"string" required:"true"`
7366}
7367
7368// String returns the string representation
7369func (s AssociateRoleToGroupInput) String() string {
7370	return awsutil.Prettify(s)
7371}
7372
7373// GoString returns the string representation
7374func (s AssociateRoleToGroupInput) GoString() string {
7375	return s.String()
7376}
7377
7378// Validate inspects the fields of the type to determine if they are valid.
7379func (s *AssociateRoleToGroupInput) Validate() error {
7380	invalidParams := request.ErrInvalidParams{Context: "AssociateRoleToGroupInput"}
7381	if s.GroupId == nil {
7382		invalidParams.Add(request.NewErrParamRequired("GroupId"))
7383	}
7384	if s.GroupId != nil && len(*s.GroupId) < 1 {
7385		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
7386	}
7387	if s.RoleArn == nil {
7388		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7389	}
7390
7391	if invalidParams.Len() > 0 {
7392		return invalidParams
7393	}
7394	return nil
7395}
7396
7397// SetGroupId sets the GroupId field's value.
7398func (s *AssociateRoleToGroupInput) SetGroupId(v string) *AssociateRoleToGroupInput {
7399	s.GroupId = &v
7400	return s
7401}
7402
7403// SetRoleArn sets the RoleArn field's value.
7404func (s *AssociateRoleToGroupInput) SetRoleArn(v string) *AssociateRoleToGroupInput {
7405	s.RoleArn = &v
7406	return s
7407}
7408
7409type AssociateRoleToGroupOutput struct {
7410	_ struct{} `type:"structure"`
7411
7412	// The time, in milliseconds since the epoch, when the role ARN was associated
7413	// with the group.
7414	AssociatedAt *string `type:"string"`
7415}
7416
7417// String returns the string representation
7418func (s AssociateRoleToGroupOutput) String() string {
7419	return awsutil.Prettify(s)
7420}
7421
7422// GoString returns the string representation
7423func (s AssociateRoleToGroupOutput) GoString() string {
7424	return s.String()
7425}
7426
7427// SetAssociatedAt sets the AssociatedAt field's value.
7428func (s *AssociateRoleToGroupOutput) SetAssociatedAt(v string) *AssociateRoleToGroupOutput {
7429	s.AssociatedAt = &v
7430	return s
7431}
7432
7433type AssociateServiceRoleToAccountInput struct {
7434	_ struct{} `type:"structure"`
7435
7436	// The ARN of the service role you wish to associate with your account.
7437	//
7438	// RoleArn is a required field
7439	RoleArn *string `type:"string" required:"true"`
7440}
7441
7442// String returns the string representation
7443func (s AssociateServiceRoleToAccountInput) String() string {
7444	return awsutil.Prettify(s)
7445}
7446
7447// GoString returns the string representation
7448func (s AssociateServiceRoleToAccountInput) GoString() string {
7449	return s.String()
7450}
7451
7452// Validate inspects the fields of the type to determine if they are valid.
7453func (s *AssociateServiceRoleToAccountInput) Validate() error {
7454	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceRoleToAccountInput"}
7455	if s.RoleArn == nil {
7456		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7457	}
7458
7459	if invalidParams.Len() > 0 {
7460		return invalidParams
7461	}
7462	return nil
7463}
7464
7465// SetRoleArn sets the RoleArn field's value.
7466func (s *AssociateServiceRoleToAccountInput) SetRoleArn(v string) *AssociateServiceRoleToAccountInput {
7467	s.RoleArn = &v
7468	return s
7469}
7470
7471type AssociateServiceRoleToAccountOutput struct {
7472	_ struct{} `type:"structure"`
7473
7474	// The time when the service role was associated with the account.
7475	AssociatedAt *string `type:"string"`
7476}
7477
7478// String returns the string representation
7479func (s AssociateServiceRoleToAccountOutput) String() string {
7480	return awsutil.Prettify(s)
7481}
7482
7483// GoString returns the string representation
7484func (s AssociateServiceRoleToAccountOutput) GoString() string {
7485	return s.String()
7486}
7487
7488// SetAssociatedAt sets the AssociatedAt field's value.
7489func (s *AssociateServiceRoleToAccountOutput) SetAssociatedAt(v string) *AssociateServiceRoleToAccountOutput {
7490	s.AssociatedAt = &v
7491	return s
7492}
7493
7494// General error information.
7495type BadRequestException struct {
7496	_            struct{}                  `type:"structure"`
7497	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7498
7499	// A list of error details.
7500	ErrorDetails []*ErrorDetail `type:"list"`
7501
7502	Message_ *string `locationName:"Message" type:"string"`
7503}
7504
7505// String returns the string representation
7506func (s BadRequestException) String() string {
7507	return awsutil.Prettify(s)
7508}
7509
7510// GoString returns the string representation
7511func (s BadRequestException) GoString() string {
7512	return s.String()
7513}
7514
7515func newErrorBadRequestException(v protocol.ResponseMetadata) error {
7516	return &BadRequestException{
7517		RespMetadata: v,
7518	}
7519}
7520
7521// Code returns the exception type name.
7522func (s *BadRequestException) Code() string {
7523	return "BadRequestException"
7524}
7525
7526// Message returns the exception's message.
7527func (s *BadRequestException) Message() string {
7528	if s.Message_ != nil {
7529		return *s.Message_
7530	}
7531	return ""
7532}
7533
7534// OrigErr always returns nil, satisfies awserr.Error interface.
7535func (s *BadRequestException) OrigErr() error {
7536	return nil
7537}
7538
7539func (s *BadRequestException) Error() string {
7540	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7541}
7542
7543// Status code returns the HTTP status code for the request's response error.
7544func (s *BadRequestException) StatusCode() int {
7545	return s.RespMetadata.StatusCode
7546}
7547
7548// RequestID returns the service's response RequestID for request.
7549func (s *BadRequestException) RequestID() string {
7550	return s.RespMetadata.RequestID
7551}
7552
7553// Information about a bulk deployment. You cannot start a new bulk deployment
7554// while another one is still running or in a non-terminal state.
7555type BulkDeployment struct {
7556	_ struct{} `type:"structure"`
7557
7558	// The ARN of the bulk deployment.
7559	BulkDeploymentArn *string `type:"string"`
7560
7561	// The ID of the bulk deployment.
7562	BulkDeploymentId *string `type:"string"`
7563
7564	// The time, in ISO format, when the deployment was created.
7565	CreatedAt *string `type:"string"`
7566}
7567
7568// String returns the string representation
7569func (s BulkDeployment) String() string {
7570	return awsutil.Prettify(s)
7571}
7572
7573// GoString returns the string representation
7574func (s BulkDeployment) GoString() string {
7575	return s.String()
7576}
7577
7578// SetBulkDeploymentArn sets the BulkDeploymentArn field's value.
7579func (s *BulkDeployment) SetBulkDeploymentArn(v string) *BulkDeployment {
7580	s.BulkDeploymentArn = &v
7581	return s
7582}
7583
7584// SetBulkDeploymentId sets the BulkDeploymentId field's value.
7585func (s *BulkDeployment) SetBulkDeploymentId(v string) *BulkDeployment {
7586	s.BulkDeploymentId = &v
7587	return s
7588}
7589
7590// SetCreatedAt sets the CreatedAt field's value.
7591func (s *BulkDeployment) SetCreatedAt(v string) *BulkDeployment {
7592	s.CreatedAt = &v
7593	return s
7594}
7595
7596// Relevant metrics on input records processed during bulk deployment.
7597type BulkDeploymentMetrics struct {
7598	_ struct{} `type:"structure"`
7599
7600	// The total number of records that returned a non-retryable error. For example,
7601	// this can occur if a group record from the input file uses an invalid format
7602	// or specifies a nonexistent group version, or if the execution role doesn't
7603	// grant permission to deploy a group or group version.
7604	InvalidInputRecords *int64 `type:"integer"`
7605
7606	// The total number of group records from the input file that have been processed
7607	// so far, or attempted.
7608	RecordsProcessed *int64 `type:"integer"`
7609
7610	// The total number of deployment attempts that returned a retryable error.
7611	// For example, a retry is triggered if the attempt to deploy a group returns
7612	// a throttling error. ''StartBulkDeployment'' retries a group deployment up
7613	// to five times.
7614	RetryAttempts *int64 `type:"integer"`
7615}
7616
7617// String returns the string representation
7618func (s BulkDeploymentMetrics) String() string {
7619	return awsutil.Prettify(s)
7620}
7621
7622// GoString returns the string representation
7623func (s BulkDeploymentMetrics) GoString() string {
7624	return s.String()
7625}
7626
7627// SetInvalidInputRecords sets the InvalidInputRecords field's value.
7628func (s *BulkDeploymentMetrics) SetInvalidInputRecords(v int64) *BulkDeploymentMetrics {
7629	s.InvalidInputRecords = &v
7630	return s
7631}
7632
7633// SetRecordsProcessed sets the RecordsProcessed field's value.
7634func (s *BulkDeploymentMetrics) SetRecordsProcessed(v int64) *BulkDeploymentMetrics {
7635	s.RecordsProcessed = &v
7636	return s
7637}
7638
7639// SetRetryAttempts sets the RetryAttempts field's value.
7640func (s *BulkDeploymentMetrics) SetRetryAttempts(v int64) *BulkDeploymentMetrics {
7641	s.RetryAttempts = &v
7642	return s
7643}
7644
7645// Information about an individual group deployment in a bulk deployment operation.
7646type BulkDeploymentResult struct {
7647	_ struct{} `type:"structure"`
7648
7649	// The time, in ISO format, when the deployment was created.
7650	CreatedAt *string `type:"string"`
7651
7652	// The ARN of the group deployment.
7653	DeploymentArn *string `type:"string"`
7654
7655	// The ID of the group deployment.
7656	DeploymentId *string `type:"string"`
7657
7658	// The current status of the group deployment: ''InProgress'', ''Building'',
7659	// ''Success'', or ''Failure''.
7660	DeploymentStatus *string `type:"string"`
7661
7662	// The type of the deployment.
7663	DeploymentType *string `type:"string" enum:"DeploymentType"`
7664
7665	// Details about the error.
7666	ErrorDetails []*ErrorDetail `type:"list"`
7667
7668	// The error message for a failed deployment
7669	ErrorMessage *string `type:"string"`
7670
7671	// The ARN of the Greengrass group.
7672	GroupArn *string `type:"string"`
7673}
7674
7675// String returns the string representation
7676func (s BulkDeploymentResult) String() string {
7677	return awsutil.Prettify(s)
7678}
7679
7680// GoString returns the string representation
7681func (s BulkDeploymentResult) GoString() string {
7682	return s.String()
7683}
7684
7685// SetCreatedAt sets the CreatedAt field's value.
7686func (s *BulkDeploymentResult) SetCreatedAt(v string) *BulkDeploymentResult {
7687	s.CreatedAt = &v
7688	return s
7689}
7690
7691// SetDeploymentArn sets the DeploymentArn field's value.
7692func (s *BulkDeploymentResult) SetDeploymentArn(v string) *BulkDeploymentResult {
7693	s.DeploymentArn = &v
7694	return s
7695}
7696
7697// SetDeploymentId sets the DeploymentId field's value.
7698func (s *BulkDeploymentResult) SetDeploymentId(v string) *BulkDeploymentResult {
7699	s.DeploymentId = &v
7700	return s
7701}
7702
7703// SetDeploymentStatus sets the DeploymentStatus field's value.
7704func (s *BulkDeploymentResult) SetDeploymentStatus(v string) *BulkDeploymentResult {
7705	s.DeploymentStatus = &v
7706	return s
7707}
7708
7709// SetDeploymentType sets the DeploymentType field's value.
7710func (s *BulkDeploymentResult) SetDeploymentType(v string) *BulkDeploymentResult {
7711	s.DeploymentType = &v
7712	return s
7713}
7714
7715// SetErrorDetails sets the ErrorDetails field's value.
7716func (s *BulkDeploymentResult) SetErrorDetails(v []*ErrorDetail) *BulkDeploymentResult {
7717	s.ErrorDetails = v
7718	return s
7719}
7720
7721// SetErrorMessage sets the ErrorMessage field's value.
7722func (s *BulkDeploymentResult) SetErrorMessage(v string) *BulkDeploymentResult {
7723	s.ErrorMessage = &v
7724	return s
7725}
7726
7727// SetGroupArn sets the GroupArn field's value.
7728func (s *BulkDeploymentResult) SetGroupArn(v string) *BulkDeploymentResult {
7729	s.GroupArn = &v
7730	return s
7731}
7732
7733// Information about a Greengrass core's connectivity.
7734type ConnectivityInfo struct {
7735	_ struct{} `type:"structure"`
7736
7737	// The endpoint for the Greengrass core. Can be an IP address or DNS.
7738	HostAddress *string `type:"string"`
7739
7740	// The ID of the connectivity information.
7741	Id *string `type:"string"`
7742
7743	// Metadata for this endpoint.
7744	Metadata *string `type:"string"`
7745
7746	// The port of the Greengrass core. Usually 8883.
7747	PortNumber *int64 `type:"integer"`
7748}
7749
7750// String returns the string representation
7751func (s ConnectivityInfo) String() string {
7752	return awsutil.Prettify(s)
7753}
7754
7755// GoString returns the string representation
7756func (s ConnectivityInfo) GoString() string {
7757	return s.String()
7758}
7759
7760// SetHostAddress sets the HostAddress field's value.
7761func (s *ConnectivityInfo) SetHostAddress(v string) *ConnectivityInfo {
7762	s.HostAddress = &v
7763	return s
7764}
7765
7766// SetId sets the Id field's value.
7767func (s *ConnectivityInfo) SetId(v string) *ConnectivityInfo {
7768	s.Id = &v
7769	return s
7770}
7771
7772// SetMetadata sets the Metadata field's value.
7773func (s *ConnectivityInfo) SetMetadata(v string) *ConnectivityInfo {
7774	s.Metadata = &v
7775	return s
7776}
7777
7778// SetPortNumber sets the PortNumber field's value.
7779func (s *ConnectivityInfo) SetPortNumber(v int64) *ConnectivityInfo {
7780	s.PortNumber = &v
7781	return s
7782}
7783
7784// Information about a connector. Connectors run on the Greengrass core and
7785// contain built-in integration with local infrastructure, device protocols,
7786// AWS, and other cloud services.
7787type Connector struct {
7788	_ struct{} `type:"structure"`
7789
7790	// The ARN of the connector.
7791	//
7792	// ConnectorArn is a required field
7793	ConnectorArn *string `type:"string" required:"true"`
7794
7795	// A descriptive or arbitrary ID for the connector. This value must be unique
7796	// within the connector definition version. Max length is 128 characters with
7797	// pattern [a-zA-Z0-9:_-]+.
7798	//
7799	// Id is a required field
7800	Id *string `type:"string" required:"true"`
7801
7802	// The parameters or configuration that the connector uses.
7803	Parameters map[string]*string `type:"map"`
7804}
7805
7806// String returns the string representation
7807func (s Connector) String() string {
7808	return awsutil.Prettify(s)
7809}
7810
7811// GoString returns the string representation
7812func (s Connector) GoString() string {
7813	return s.String()
7814}
7815
7816// Validate inspects the fields of the type to determine if they are valid.
7817func (s *Connector) Validate() error {
7818	invalidParams := request.ErrInvalidParams{Context: "Connector"}
7819	if s.ConnectorArn == nil {
7820		invalidParams.Add(request.NewErrParamRequired("ConnectorArn"))
7821	}
7822	if s.Id == nil {
7823		invalidParams.Add(request.NewErrParamRequired("Id"))
7824	}
7825
7826	if invalidParams.Len() > 0 {
7827		return invalidParams
7828	}
7829	return nil
7830}
7831
7832// SetConnectorArn sets the ConnectorArn field's value.
7833func (s *Connector) SetConnectorArn(v string) *Connector {
7834	s.ConnectorArn = &v
7835	return s
7836}
7837
7838// SetId sets the Id field's value.
7839func (s *Connector) SetId(v string) *Connector {
7840	s.Id = &v
7841	return s
7842}
7843
7844// SetParameters sets the Parameters field's value.
7845func (s *Connector) SetParameters(v map[string]*string) *Connector {
7846	s.Parameters = v
7847	return s
7848}
7849
7850// Information about the connector definition version, which is a container
7851// for connectors.
7852type ConnectorDefinitionVersion struct {
7853	_ struct{} `type:"structure"`
7854
7855	// A list of references to connectors in this version, with their corresponding
7856	// configuration settings.
7857	Connectors []*Connector `type:"list"`
7858}
7859
7860// String returns the string representation
7861func (s ConnectorDefinitionVersion) String() string {
7862	return awsutil.Prettify(s)
7863}
7864
7865// GoString returns the string representation
7866func (s ConnectorDefinitionVersion) GoString() string {
7867	return s.String()
7868}
7869
7870// Validate inspects the fields of the type to determine if they are valid.
7871func (s *ConnectorDefinitionVersion) Validate() error {
7872	invalidParams := request.ErrInvalidParams{Context: "ConnectorDefinitionVersion"}
7873	if s.Connectors != nil {
7874		for i, v := range s.Connectors {
7875			if v == nil {
7876				continue
7877			}
7878			if err := v.Validate(); err != nil {
7879				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Connectors", i), err.(request.ErrInvalidParams))
7880			}
7881		}
7882	}
7883
7884	if invalidParams.Len() > 0 {
7885		return invalidParams
7886	}
7887	return nil
7888}
7889
7890// SetConnectors sets the Connectors field's value.
7891func (s *ConnectorDefinitionVersion) SetConnectors(v []*Connector) *ConnectorDefinitionVersion {
7892	s.Connectors = v
7893	return s
7894}
7895
7896// Information about a core.
7897type Core struct {
7898	_ struct{} `type:"structure"`
7899
7900	// The ARN of the certificate associated with the core.
7901	//
7902	// CertificateArn is a required field
7903	CertificateArn *string `type:"string" required:"true"`
7904
7905	// A descriptive or arbitrary ID for the core. This value must be unique within
7906	// the core definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''.
7907	//
7908	// Id is a required field
7909	Id *string `type:"string" required:"true"`
7910
7911	// If true, the core's local shadow is automatically synced with the cloud.
7912	SyncShadow *bool `type:"boolean"`
7913
7914	// The ARN of the thing which is the core.
7915	//
7916	// ThingArn is a required field
7917	ThingArn *string `type:"string" required:"true"`
7918}
7919
7920// String returns the string representation
7921func (s Core) String() string {
7922	return awsutil.Prettify(s)
7923}
7924
7925// GoString returns the string representation
7926func (s Core) GoString() string {
7927	return s.String()
7928}
7929
7930// Validate inspects the fields of the type to determine if they are valid.
7931func (s *Core) Validate() error {
7932	invalidParams := request.ErrInvalidParams{Context: "Core"}
7933	if s.CertificateArn == nil {
7934		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
7935	}
7936	if s.Id == nil {
7937		invalidParams.Add(request.NewErrParamRequired("Id"))
7938	}
7939	if s.ThingArn == nil {
7940		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
7941	}
7942
7943	if invalidParams.Len() > 0 {
7944		return invalidParams
7945	}
7946	return nil
7947}
7948
7949// SetCertificateArn sets the CertificateArn field's value.
7950func (s *Core) SetCertificateArn(v string) *Core {
7951	s.CertificateArn = &v
7952	return s
7953}
7954
7955// SetId sets the Id field's value.
7956func (s *Core) SetId(v string) *Core {
7957	s.Id = &v
7958	return s
7959}
7960
7961// SetSyncShadow sets the SyncShadow field's value.
7962func (s *Core) SetSyncShadow(v bool) *Core {
7963	s.SyncShadow = &v
7964	return s
7965}
7966
7967// SetThingArn sets the ThingArn field's value.
7968func (s *Core) SetThingArn(v string) *Core {
7969	s.ThingArn = &v
7970	return s
7971}
7972
7973// Information about a core definition version.
7974type CoreDefinitionVersion struct {
7975	_ struct{} `type:"structure"`
7976
7977	// A list of cores in the core definition version.
7978	Cores []*Core `type:"list"`
7979}
7980
7981// String returns the string representation
7982func (s CoreDefinitionVersion) String() string {
7983	return awsutil.Prettify(s)
7984}
7985
7986// GoString returns the string representation
7987func (s CoreDefinitionVersion) GoString() string {
7988	return s.String()
7989}
7990
7991// Validate inspects the fields of the type to determine if they are valid.
7992func (s *CoreDefinitionVersion) Validate() error {
7993	invalidParams := request.ErrInvalidParams{Context: "CoreDefinitionVersion"}
7994	if s.Cores != nil {
7995		for i, v := range s.Cores {
7996			if v == nil {
7997				continue
7998			}
7999			if err := v.Validate(); err != nil {
8000				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Cores", i), err.(request.ErrInvalidParams))
8001			}
8002		}
8003	}
8004
8005	if invalidParams.Len() > 0 {
8006		return invalidParams
8007	}
8008	return nil
8009}
8010
8011// SetCores sets the Cores field's value.
8012func (s *CoreDefinitionVersion) SetCores(v []*Core) *CoreDefinitionVersion {
8013	s.Cores = v
8014	return s
8015}
8016
8017type CreateConnectorDefinitionInput struct {
8018	_ struct{} `type:"structure"`
8019
8020	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8021
8022	// Information about the connector definition version, which is a container
8023	// for connectors.
8024	InitialVersion *ConnectorDefinitionVersion `type:"structure"`
8025
8026	Name *string `type:"string"`
8027
8028	// The key-value pair for the resource tag.
8029	Tags map[string]*string `locationName:"tags" type:"map"`
8030}
8031
8032// String returns the string representation
8033func (s CreateConnectorDefinitionInput) String() string {
8034	return awsutil.Prettify(s)
8035}
8036
8037// GoString returns the string representation
8038func (s CreateConnectorDefinitionInput) GoString() string {
8039	return s.String()
8040}
8041
8042// Validate inspects the fields of the type to determine if they are valid.
8043func (s *CreateConnectorDefinitionInput) Validate() error {
8044	invalidParams := request.ErrInvalidParams{Context: "CreateConnectorDefinitionInput"}
8045	if s.InitialVersion != nil {
8046		if err := s.InitialVersion.Validate(); err != nil {
8047			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
8048		}
8049	}
8050
8051	if invalidParams.Len() > 0 {
8052		return invalidParams
8053	}
8054	return nil
8055}
8056
8057// SetAmznClientToken sets the AmznClientToken field's value.
8058func (s *CreateConnectorDefinitionInput) SetAmznClientToken(v string) *CreateConnectorDefinitionInput {
8059	s.AmznClientToken = &v
8060	return s
8061}
8062
8063// SetInitialVersion sets the InitialVersion field's value.
8064func (s *CreateConnectorDefinitionInput) SetInitialVersion(v *ConnectorDefinitionVersion) *CreateConnectorDefinitionInput {
8065	s.InitialVersion = v
8066	return s
8067}
8068
8069// SetName sets the Name field's value.
8070func (s *CreateConnectorDefinitionInput) SetName(v string) *CreateConnectorDefinitionInput {
8071	s.Name = &v
8072	return s
8073}
8074
8075// SetTags sets the Tags field's value.
8076func (s *CreateConnectorDefinitionInput) SetTags(v map[string]*string) *CreateConnectorDefinitionInput {
8077	s.Tags = v
8078	return s
8079}
8080
8081type CreateConnectorDefinitionOutput struct {
8082	_ struct{} `type:"structure"`
8083
8084	Arn *string `type:"string"`
8085
8086	CreationTimestamp *string `type:"string"`
8087
8088	Id *string `type:"string"`
8089
8090	LastUpdatedTimestamp *string `type:"string"`
8091
8092	LatestVersion *string `type:"string"`
8093
8094	LatestVersionArn *string `type:"string"`
8095
8096	Name *string `type:"string"`
8097}
8098
8099// String returns the string representation
8100func (s CreateConnectorDefinitionOutput) String() string {
8101	return awsutil.Prettify(s)
8102}
8103
8104// GoString returns the string representation
8105func (s CreateConnectorDefinitionOutput) GoString() string {
8106	return s.String()
8107}
8108
8109// SetArn sets the Arn field's value.
8110func (s *CreateConnectorDefinitionOutput) SetArn(v string) *CreateConnectorDefinitionOutput {
8111	s.Arn = &v
8112	return s
8113}
8114
8115// SetCreationTimestamp sets the CreationTimestamp field's value.
8116func (s *CreateConnectorDefinitionOutput) SetCreationTimestamp(v string) *CreateConnectorDefinitionOutput {
8117	s.CreationTimestamp = &v
8118	return s
8119}
8120
8121// SetId sets the Id field's value.
8122func (s *CreateConnectorDefinitionOutput) SetId(v string) *CreateConnectorDefinitionOutput {
8123	s.Id = &v
8124	return s
8125}
8126
8127// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
8128func (s *CreateConnectorDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateConnectorDefinitionOutput {
8129	s.LastUpdatedTimestamp = &v
8130	return s
8131}
8132
8133// SetLatestVersion sets the LatestVersion field's value.
8134func (s *CreateConnectorDefinitionOutput) SetLatestVersion(v string) *CreateConnectorDefinitionOutput {
8135	s.LatestVersion = &v
8136	return s
8137}
8138
8139// SetLatestVersionArn sets the LatestVersionArn field's value.
8140func (s *CreateConnectorDefinitionOutput) SetLatestVersionArn(v string) *CreateConnectorDefinitionOutput {
8141	s.LatestVersionArn = &v
8142	return s
8143}
8144
8145// SetName sets the Name field's value.
8146func (s *CreateConnectorDefinitionOutput) SetName(v string) *CreateConnectorDefinitionOutput {
8147	s.Name = &v
8148	return s
8149}
8150
8151type CreateConnectorDefinitionVersionInput struct {
8152	_ struct{} `type:"structure"`
8153
8154	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8155
8156	// ConnectorDefinitionId is a required field
8157	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
8158
8159	Connectors []*Connector `type:"list"`
8160}
8161
8162// String returns the string representation
8163func (s CreateConnectorDefinitionVersionInput) String() string {
8164	return awsutil.Prettify(s)
8165}
8166
8167// GoString returns the string representation
8168func (s CreateConnectorDefinitionVersionInput) GoString() string {
8169	return s.String()
8170}
8171
8172// Validate inspects the fields of the type to determine if they are valid.
8173func (s *CreateConnectorDefinitionVersionInput) Validate() error {
8174	invalidParams := request.ErrInvalidParams{Context: "CreateConnectorDefinitionVersionInput"}
8175	if s.ConnectorDefinitionId == nil {
8176		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
8177	}
8178	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
8179		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
8180	}
8181	if s.Connectors != nil {
8182		for i, v := range s.Connectors {
8183			if v == nil {
8184				continue
8185			}
8186			if err := v.Validate(); err != nil {
8187				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Connectors", i), err.(request.ErrInvalidParams))
8188			}
8189		}
8190	}
8191
8192	if invalidParams.Len() > 0 {
8193		return invalidParams
8194	}
8195	return nil
8196}
8197
8198// SetAmznClientToken sets the AmznClientToken field's value.
8199func (s *CreateConnectorDefinitionVersionInput) SetAmznClientToken(v string) *CreateConnectorDefinitionVersionInput {
8200	s.AmznClientToken = &v
8201	return s
8202}
8203
8204// SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
8205func (s *CreateConnectorDefinitionVersionInput) SetConnectorDefinitionId(v string) *CreateConnectorDefinitionVersionInput {
8206	s.ConnectorDefinitionId = &v
8207	return s
8208}
8209
8210// SetConnectors sets the Connectors field's value.
8211func (s *CreateConnectorDefinitionVersionInput) SetConnectors(v []*Connector) *CreateConnectorDefinitionVersionInput {
8212	s.Connectors = v
8213	return s
8214}
8215
8216type CreateConnectorDefinitionVersionOutput struct {
8217	_ struct{} `type:"structure"`
8218
8219	Arn *string `type:"string"`
8220
8221	CreationTimestamp *string `type:"string"`
8222
8223	Id *string `type:"string"`
8224
8225	Version *string `type:"string"`
8226}
8227
8228// String returns the string representation
8229func (s CreateConnectorDefinitionVersionOutput) String() string {
8230	return awsutil.Prettify(s)
8231}
8232
8233// GoString returns the string representation
8234func (s CreateConnectorDefinitionVersionOutput) GoString() string {
8235	return s.String()
8236}
8237
8238// SetArn sets the Arn field's value.
8239func (s *CreateConnectorDefinitionVersionOutput) SetArn(v string) *CreateConnectorDefinitionVersionOutput {
8240	s.Arn = &v
8241	return s
8242}
8243
8244// SetCreationTimestamp sets the CreationTimestamp field's value.
8245func (s *CreateConnectorDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateConnectorDefinitionVersionOutput {
8246	s.CreationTimestamp = &v
8247	return s
8248}
8249
8250// SetId sets the Id field's value.
8251func (s *CreateConnectorDefinitionVersionOutput) SetId(v string) *CreateConnectorDefinitionVersionOutput {
8252	s.Id = &v
8253	return s
8254}
8255
8256// SetVersion sets the Version field's value.
8257func (s *CreateConnectorDefinitionVersionOutput) SetVersion(v string) *CreateConnectorDefinitionVersionOutput {
8258	s.Version = &v
8259	return s
8260}
8261
8262type CreateCoreDefinitionInput struct {
8263	_ struct{} `type:"structure"`
8264
8265	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8266
8267	// Information about a core definition version.
8268	InitialVersion *CoreDefinitionVersion `type:"structure"`
8269
8270	Name *string `type:"string"`
8271
8272	// The key-value pair for the resource tag.
8273	Tags map[string]*string `locationName:"tags" type:"map"`
8274}
8275
8276// String returns the string representation
8277func (s CreateCoreDefinitionInput) String() string {
8278	return awsutil.Prettify(s)
8279}
8280
8281// GoString returns the string representation
8282func (s CreateCoreDefinitionInput) GoString() string {
8283	return s.String()
8284}
8285
8286// Validate inspects the fields of the type to determine if they are valid.
8287func (s *CreateCoreDefinitionInput) Validate() error {
8288	invalidParams := request.ErrInvalidParams{Context: "CreateCoreDefinitionInput"}
8289	if s.InitialVersion != nil {
8290		if err := s.InitialVersion.Validate(); err != nil {
8291			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
8292		}
8293	}
8294
8295	if invalidParams.Len() > 0 {
8296		return invalidParams
8297	}
8298	return nil
8299}
8300
8301// SetAmznClientToken sets the AmznClientToken field's value.
8302func (s *CreateCoreDefinitionInput) SetAmznClientToken(v string) *CreateCoreDefinitionInput {
8303	s.AmznClientToken = &v
8304	return s
8305}
8306
8307// SetInitialVersion sets the InitialVersion field's value.
8308func (s *CreateCoreDefinitionInput) SetInitialVersion(v *CoreDefinitionVersion) *CreateCoreDefinitionInput {
8309	s.InitialVersion = v
8310	return s
8311}
8312
8313// SetName sets the Name field's value.
8314func (s *CreateCoreDefinitionInput) SetName(v string) *CreateCoreDefinitionInput {
8315	s.Name = &v
8316	return s
8317}
8318
8319// SetTags sets the Tags field's value.
8320func (s *CreateCoreDefinitionInput) SetTags(v map[string]*string) *CreateCoreDefinitionInput {
8321	s.Tags = v
8322	return s
8323}
8324
8325type CreateCoreDefinitionOutput struct {
8326	_ struct{} `type:"structure"`
8327
8328	Arn *string `type:"string"`
8329
8330	CreationTimestamp *string `type:"string"`
8331
8332	Id *string `type:"string"`
8333
8334	LastUpdatedTimestamp *string `type:"string"`
8335
8336	LatestVersion *string `type:"string"`
8337
8338	LatestVersionArn *string `type:"string"`
8339
8340	Name *string `type:"string"`
8341}
8342
8343// String returns the string representation
8344func (s CreateCoreDefinitionOutput) String() string {
8345	return awsutil.Prettify(s)
8346}
8347
8348// GoString returns the string representation
8349func (s CreateCoreDefinitionOutput) GoString() string {
8350	return s.String()
8351}
8352
8353// SetArn sets the Arn field's value.
8354func (s *CreateCoreDefinitionOutput) SetArn(v string) *CreateCoreDefinitionOutput {
8355	s.Arn = &v
8356	return s
8357}
8358
8359// SetCreationTimestamp sets the CreationTimestamp field's value.
8360func (s *CreateCoreDefinitionOutput) SetCreationTimestamp(v string) *CreateCoreDefinitionOutput {
8361	s.CreationTimestamp = &v
8362	return s
8363}
8364
8365// SetId sets the Id field's value.
8366func (s *CreateCoreDefinitionOutput) SetId(v string) *CreateCoreDefinitionOutput {
8367	s.Id = &v
8368	return s
8369}
8370
8371// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
8372func (s *CreateCoreDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateCoreDefinitionOutput {
8373	s.LastUpdatedTimestamp = &v
8374	return s
8375}
8376
8377// SetLatestVersion sets the LatestVersion field's value.
8378func (s *CreateCoreDefinitionOutput) SetLatestVersion(v string) *CreateCoreDefinitionOutput {
8379	s.LatestVersion = &v
8380	return s
8381}
8382
8383// SetLatestVersionArn sets the LatestVersionArn field's value.
8384func (s *CreateCoreDefinitionOutput) SetLatestVersionArn(v string) *CreateCoreDefinitionOutput {
8385	s.LatestVersionArn = &v
8386	return s
8387}
8388
8389// SetName sets the Name field's value.
8390func (s *CreateCoreDefinitionOutput) SetName(v string) *CreateCoreDefinitionOutput {
8391	s.Name = &v
8392	return s
8393}
8394
8395type CreateCoreDefinitionVersionInput struct {
8396	_ struct{} `type:"structure"`
8397
8398	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8399
8400	// CoreDefinitionId is a required field
8401	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
8402
8403	Cores []*Core `type:"list"`
8404}
8405
8406// String returns the string representation
8407func (s CreateCoreDefinitionVersionInput) String() string {
8408	return awsutil.Prettify(s)
8409}
8410
8411// GoString returns the string representation
8412func (s CreateCoreDefinitionVersionInput) GoString() string {
8413	return s.String()
8414}
8415
8416// Validate inspects the fields of the type to determine if they are valid.
8417func (s *CreateCoreDefinitionVersionInput) Validate() error {
8418	invalidParams := request.ErrInvalidParams{Context: "CreateCoreDefinitionVersionInput"}
8419	if s.CoreDefinitionId == nil {
8420		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
8421	}
8422	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
8423		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
8424	}
8425	if s.Cores != nil {
8426		for i, v := range s.Cores {
8427			if v == nil {
8428				continue
8429			}
8430			if err := v.Validate(); err != nil {
8431				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Cores", i), err.(request.ErrInvalidParams))
8432			}
8433		}
8434	}
8435
8436	if invalidParams.Len() > 0 {
8437		return invalidParams
8438	}
8439	return nil
8440}
8441
8442// SetAmznClientToken sets the AmznClientToken field's value.
8443func (s *CreateCoreDefinitionVersionInput) SetAmznClientToken(v string) *CreateCoreDefinitionVersionInput {
8444	s.AmznClientToken = &v
8445	return s
8446}
8447
8448// SetCoreDefinitionId sets the CoreDefinitionId field's value.
8449func (s *CreateCoreDefinitionVersionInput) SetCoreDefinitionId(v string) *CreateCoreDefinitionVersionInput {
8450	s.CoreDefinitionId = &v
8451	return s
8452}
8453
8454// SetCores sets the Cores field's value.
8455func (s *CreateCoreDefinitionVersionInput) SetCores(v []*Core) *CreateCoreDefinitionVersionInput {
8456	s.Cores = v
8457	return s
8458}
8459
8460type CreateCoreDefinitionVersionOutput struct {
8461	_ struct{} `type:"structure"`
8462
8463	Arn *string `type:"string"`
8464
8465	CreationTimestamp *string `type:"string"`
8466
8467	Id *string `type:"string"`
8468
8469	Version *string `type:"string"`
8470}
8471
8472// String returns the string representation
8473func (s CreateCoreDefinitionVersionOutput) String() string {
8474	return awsutil.Prettify(s)
8475}
8476
8477// GoString returns the string representation
8478func (s CreateCoreDefinitionVersionOutput) GoString() string {
8479	return s.String()
8480}
8481
8482// SetArn sets the Arn field's value.
8483func (s *CreateCoreDefinitionVersionOutput) SetArn(v string) *CreateCoreDefinitionVersionOutput {
8484	s.Arn = &v
8485	return s
8486}
8487
8488// SetCreationTimestamp sets the CreationTimestamp field's value.
8489func (s *CreateCoreDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateCoreDefinitionVersionOutput {
8490	s.CreationTimestamp = &v
8491	return s
8492}
8493
8494// SetId sets the Id field's value.
8495func (s *CreateCoreDefinitionVersionOutput) SetId(v string) *CreateCoreDefinitionVersionOutput {
8496	s.Id = &v
8497	return s
8498}
8499
8500// SetVersion sets the Version field's value.
8501func (s *CreateCoreDefinitionVersionOutput) SetVersion(v string) *CreateCoreDefinitionVersionOutput {
8502	s.Version = &v
8503	return s
8504}
8505
8506// Information about a deployment.
8507type CreateDeploymentInput struct {
8508	_ struct{} `type:"structure"`
8509
8510	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8511
8512	// The ID of the deployment if you wish to redeploy a previous deployment.
8513	DeploymentId *string `type:"string"`
8514
8515	// The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment''
8516	// and ''Redeployment'' are valid.
8517	//
8518	// DeploymentType is a required field
8519	DeploymentType *string `type:"string" required:"true" enum:"DeploymentType"`
8520
8521	// GroupId is a required field
8522	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
8523
8524	// The ID of the group version to be deployed.
8525	GroupVersionId *string `type:"string"`
8526}
8527
8528// String returns the string representation
8529func (s CreateDeploymentInput) String() string {
8530	return awsutil.Prettify(s)
8531}
8532
8533// GoString returns the string representation
8534func (s CreateDeploymentInput) GoString() string {
8535	return s.String()
8536}
8537
8538// Validate inspects the fields of the type to determine if they are valid.
8539func (s *CreateDeploymentInput) Validate() error {
8540	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
8541	if s.DeploymentType == nil {
8542		invalidParams.Add(request.NewErrParamRequired("DeploymentType"))
8543	}
8544	if s.GroupId == nil {
8545		invalidParams.Add(request.NewErrParamRequired("GroupId"))
8546	}
8547	if s.GroupId != nil && len(*s.GroupId) < 1 {
8548		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
8549	}
8550
8551	if invalidParams.Len() > 0 {
8552		return invalidParams
8553	}
8554	return nil
8555}
8556
8557// SetAmznClientToken sets the AmznClientToken field's value.
8558func (s *CreateDeploymentInput) SetAmznClientToken(v string) *CreateDeploymentInput {
8559	s.AmznClientToken = &v
8560	return s
8561}
8562
8563// SetDeploymentId sets the DeploymentId field's value.
8564func (s *CreateDeploymentInput) SetDeploymentId(v string) *CreateDeploymentInput {
8565	s.DeploymentId = &v
8566	return s
8567}
8568
8569// SetDeploymentType sets the DeploymentType field's value.
8570func (s *CreateDeploymentInput) SetDeploymentType(v string) *CreateDeploymentInput {
8571	s.DeploymentType = &v
8572	return s
8573}
8574
8575// SetGroupId sets the GroupId field's value.
8576func (s *CreateDeploymentInput) SetGroupId(v string) *CreateDeploymentInput {
8577	s.GroupId = &v
8578	return s
8579}
8580
8581// SetGroupVersionId sets the GroupVersionId field's value.
8582func (s *CreateDeploymentInput) SetGroupVersionId(v string) *CreateDeploymentInput {
8583	s.GroupVersionId = &v
8584	return s
8585}
8586
8587type CreateDeploymentOutput struct {
8588	_ struct{} `type:"structure"`
8589
8590	// The ARN of the deployment.
8591	DeploymentArn *string `type:"string"`
8592
8593	// The ID of the deployment.
8594	DeploymentId *string `type:"string"`
8595}
8596
8597// String returns the string representation
8598func (s CreateDeploymentOutput) String() string {
8599	return awsutil.Prettify(s)
8600}
8601
8602// GoString returns the string representation
8603func (s CreateDeploymentOutput) GoString() string {
8604	return s.String()
8605}
8606
8607// SetDeploymentArn sets the DeploymentArn field's value.
8608func (s *CreateDeploymentOutput) SetDeploymentArn(v string) *CreateDeploymentOutput {
8609	s.DeploymentArn = &v
8610	return s
8611}
8612
8613// SetDeploymentId sets the DeploymentId field's value.
8614func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
8615	s.DeploymentId = &v
8616	return s
8617}
8618
8619type CreateDeviceDefinitionInput struct {
8620	_ struct{} `type:"structure"`
8621
8622	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8623
8624	// Information about a device definition version.
8625	InitialVersion *DeviceDefinitionVersion `type:"structure"`
8626
8627	Name *string `type:"string"`
8628
8629	// The key-value pair for the resource tag.
8630	Tags map[string]*string `locationName:"tags" type:"map"`
8631}
8632
8633// String returns the string representation
8634func (s CreateDeviceDefinitionInput) String() string {
8635	return awsutil.Prettify(s)
8636}
8637
8638// GoString returns the string representation
8639func (s CreateDeviceDefinitionInput) GoString() string {
8640	return s.String()
8641}
8642
8643// Validate inspects the fields of the type to determine if they are valid.
8644func (s *CreateDeviceDefinitionInput) Validate() error {
8645	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceDefinitionInput"}
8646	if s.InitialVersion != nil {
8647		if err := s.InitialVersion.Validate(); err != nil {
8648			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
8649		}
8650	}
8651
8652	if invalidParams.Len() > 0 {
8653		return invalidParams
8654	}
8655	return nil
8656}
8657
8658// SetAmznClientToken sets the AmznClientToken field's value.
8659func (s *CreateDeviceDefinitionInput) SetAmznClientToken(v string) *CreateDeviceDefinitionInput {
8660	s.AmznClientToken = &v
8661	return s
8662}
8663
8664// SetInitialVersion sets the InitialVersion field's value.
8665func (s *CreateDeviceDefinitionInput) SetInitialVersion(v *DeviceDefinitionVersion) *CreateDeviceDefinitionInput {
8666	s.InitialVersion = v
8667	return s
8668}
8669
8670// SetName sets the Name field's value.
8671func (s *CreateDeviceDefinitionInput) SetName(v string) *CreateDeviceDefinitionInput {
8672	s.Name = &v
8673	return s
8674}
8675
8676// SetTags sets the Tags field's value.
8677func (s *CreateDeviceDefinitionInput) SetTags(v map[string]*string) *CreateDeviceDefinitionInput {
8678	s.Tags = v
8679	return s
8680}
8681
8682type CreateDeviceDefinitionOutput struct {
8683	_ struct{} `type:"structure"`
8684
8685	Arn *string `type:"string"`
8686
8687	CreationTimestamp *string `type:"string"`
8688
8689	Id *string `type:"string"`
8690
8691	LastUpdatedTimestamp *string `type:"string"`
8692
8693	LatestVersion *string `type:"string"`
8694
8695	LatestVersionArn *string `type:"string"`
8696
8697	Name *string `type:"string"`
8698}
8699
8700// String returns the string representation
8701func (s CreateDeviceDefinitionOutput) String() string {
8702	return awsutil.Prettify(s)
8703}
8704
8705// GoString returns the string representation
8706func (s CreateDeviceDefinitionOutput) GoString() string {
8707	return s.String()
8708}
8709
8710// SetArn sets the Arn field's value.
8711func (s *CreateDeviceDefinitionOutput) SetArn(v string) *CreateDeviceDefinitionOutput {
8712	s.Arn = &v
8713	return s
8714}
8715
8716// SetCreationTimestamp sets the CreationTimestamp field's value.
8717func (s *CreateDeviceDefinitionOutput) SetCreationTimestamp(v string) *CreateDeviceDefinitionOutput {
8718	s.CreationTimestamp = &v
8719	return s
8720}
8721
8722// SetId sets the Id field's value.
8723func (s *CreateDeviceDefinitionOutput) SetId(v string) *CreateDeviceDefinitionOutput {
8724	s.Id = &v
8725	return s
8726}
8727
8728// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
8729func (s *CreateDeviceDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateDeviceDefinitionOutput {
8730	s.LastUpdatedTimestamp = &v
8731	return s
8732}
8733
8734// SetLatestVersion sets the LatestVersion field's value.
8735func (s *CreateDeviceDefinitionOutput) SetLatestVersion(v string) *CreateDeviceDefinitionOutput {
8736	s.LatestVersion = &v
8737	return s
8738}
8739
8740// SetLatestVersionArn sets the LatestVersionArn field's value.
8741func (s *CreateDeviceDefinitionOutput) SetLatestVersionArn(v string) *CreateDeviceDefinitionOutput {
8742	s.LatestVersionArn = &v
8743	return s
8744}
8745
8746// SetName sets the Name field's value.
8747func (s *CreateDeviceDefinitionOutput) SetName(v string) *CreateDeviceDefinitionOutput {
8748	s.Name = &v
8749	return s
8750}
8751
8752type CreateDeviceDefinitionVersionInput struct {
8753	_ struct{} `type:"structure"`
8754
8755	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8756
8757	// DeviceDefinitionId is a required field
8758	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
8759
8760	Devices []*Device `type:"list"`
8761}
8762
8763// String returns the string representation
8764func (s CreateDeviceDefinitionVersionInput) String() string {
8765	return awsutil.Prettify(s)
8766}
8767
8768// GoString returns the string representation
8769func (s CreateDeviceDefinitionVersionInput) GoString() string {
8770	return s.String()
8771}
8772
8773// Validate inspects the fields of the type to determine if they are valid.
8774func (s *CreateDeviceDefinitionVersionInput) Validate() error {
8775	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceDefinitionVersionInput"}
8776	if s.DeviceDefinitionId == nil {
8777		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
8778	}
8779	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
8780		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
8781	}
8782	if s.Devices != nil {
8783		for i, v := range s.Devices {
8784			if v == nil {
8785				continue
8786			}
8787			if err := v.Validate(); err != nil {
8788				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
8789			}
8790		}
8791	}
8792
8793	if invalidParams.Len() > 0 {
8794		return invalidParams
8795	}
8796	return nil
8797}
8798
8799// SetAmznClientToken sets the AmznClientToken field's value.
8800func (s *CreateDeviceDefinitionVersionInput) SetAmznClientToken(v string) *CreateDeviceDefinitionVersionInput {
8801	s.AmznClientToken = &v
8802	return s
8803}
8804
8805// SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
8806func (s *CreateDeviceDefinitionVersionInput) SetDeviceDefinitionId(v string) *CreateDeviceDefinitionVersionInput {
8807	s.DeviceDefinitionId = &v
8808	return s
8809}
8810
8811// SetDevices sets the Devices field's value.
8812func (s *CreateDeviceDefinitionVersionInput) SetDevices(v []*Device) *CreateDeviceDefinitionVersionInput {
8813	s.Devices = v
8814	return s
8815}
8816
8817type CreateDeviceDefinitionVersionOutput struct {
8818	_ struct{} `type:"structure"`
8819
8820	Arn *string `type:"string"`
8821
8822	CreationTimestamp *string `type:"string"`
8823
8824	Id *string `type:"string"`
8825
8826	Version *string `type:"string"`
8827}
8828
8829// String returns the string representation
8830func (s CreateDeviceDefinitionVersionOutput) String() string {
8831	return awsutil.Prettify(s)
8832}
8833
8834// GoString returns the string representation
8835func (s CreateDeviceDefinitionVersionOutput) GoString() string {
8836	return s.String()
8837}
8838
8839// SetArn sets the Arn field's value.
8840func (s *CreateDeviceDefinitionVersionOutput) SetArn(v string) *CreateDeviceDefinitionVersionOutput {
8841	s.Arn = &v
8842	return s
8843}
8844
8845// SetCreationTimestamp sets the CreationTimestamp field's value.
8846func (s *CreateDeviceDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateDeviceDefinitionVersionOutput {
8847	s.CreationTimestamp = &v
8848	return s
8849}
8850
8851// SetId sets the Id field's value.
8852func (s *CreateDeviceDefinitionVersionOutput) SetId(v string) *CreateDeviceDefinitionVersionOutput {
8853	s.Id = &v
8854	return s
8855}
8856
8857// SetVersion sets the Version field's value.
8858func (s *CreateDeviceDefinitionVersionOutput) SetVersion(v string) *CreateDeviceDefinitionVersionOutput {
8859	s.Version = &v
8860	return s
8861}
8862
8863type CreateFunctionDefinitionInput struct {
8864	_ struct{} `type:"structure"`
8865
8866	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
8867
8868	// Information about a function definition version.
8869	InitialVersion *FunctionDefinitionVersion `type:"structure"`
8870
8871	Name *string `type:"string"`
8872
8873	// The key-value pair for the resource tag.
8874	Tags map[string]*string `locationName:"tags" type:"map"`
8875}
8876
8877// String returns the string representation
8878func (s CreateFunctionDefinitionInput) String() string {
8879	return awsutil.Prettify(s)
8880}
8881
8882// GoString returns the string representation
8883func (s CreateFunctionDefinitionInput) GoString() string {
8884	return s.String()
8885}
8886
8887// Validate inspects the fields of the type to determine if they are valid.
8888func (s *CreateFunctionDefinitionInput) Validate() error {
8889	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionDefinitionInput"}
8890	if s.InitialVersion != nil {
8891		if err := s.InitialVersion.Validate(); err != nil {
8892			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
8893		}
8894	}
8895
8896	if invalidParams.Len() > 0 {
8897		return invalidParams
8898	}
8899	return nil
8900}
8901
8902// SetAmznClientToken sets the AmznClientToken field's value.
8903func (s *CreateFunctionDefinitionInput) SetAmznClientToken(v string) *CreateFunctionDefinitionInput {
8904	s.AmznClientToken = &v
8905	return s
8906}
8907
8908// SetInitialVersion sets the InitialVersion field's value.
8909func (s *CreateFunctionDefinitionInput) SetInitialVersion(v *FunctionDefinitionVersion) *CreateFunctionDefinitionInput {
8910	s.InitialVersion = v
8911	return s
8912}
8913
8914// SetName sets the Name field's value.
8915func (s *CreateFunctionDefinitionInput) SetName(v string) *CreateFunctionDefinitionInput {
8916	s.Name = &v
8917	return s
8918}
8919
8920// SetTags sets the Tags field's value.
8921func (s *CreateFunctionDefinitionInput) SetTags(v map[string]*string) *CreateFunctionDefinitionInput {
8922	s.Tags = v
8923	return s
8924}
8925
8926type CreateFunctionDefinitionOutput struct {
8927	_ struct{} `type:"structure"`
8928
8929	Arn *string `type:"string"`
8930
8931	CreationTimestamp *string `type:"string"`
8932
8933	Id *string `type:"string"`
8934
8935	LastUpdatedTimestamp *string `type:"string"`
8936
8937	LatestVersion *string `type:"string"`
8938
8939	LatestVersionArn *string `type:"string"`
8940
8941	Name *string `type:"string"`
8942}
8943
8944// String returns the string representation
8945func (s CreateFunctionDefinitionOutput) String() string {
8946	return awsutil.Prettify(s)
8947}
8948
8949// GoString returns the string representation
8950func (s CreateFunctionDefinitionOutput) GoString() string {
8951	return s.String()
8952}
8953
8954// SetArn sets the Arn field's value.
8955func (s *CreateFunctionDefinitionOutput) SetArn(v string) *CreateFunctionDefinitionOutput {
8956	s.Arn = &v
8957	return s
8958}
8959
8960// SetCreationTimestamp sets the CreationTimestamp field's value.
8961func (s *CreateFunctionDefinitionOutput) SetCreationTimestamp(v string) *CreateFunctionDefinitionOutput {
8962	s.CreationTimestamp = &v
8963	return s
8964}
8965
8966// SetId sets the Id field's value.
8967func (s *CreateFunctionDefinitionOutput) SetId(v string) *CreateFunctionDefinitionOutput {
8968	s.Id = &v
8969	return s
8970}
8971
8972// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
8973func (s *CreateFunctionDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateFunctionDefinitionOutput {
8974	s.LastUpdatedTimestamp = &v
8975	return s
8976}
8977
8978// SetLatestVersion sets the LatestVersion field's value.
8979func (s *CreateFunctionDefinitionOutput) SetLatestVersion(v string) *CreateFunctionDefinitionOutput {
8980	s.LatestVersion = &v
8981	return s
8982}
8983
8984// SetLatestVersionArn sets the LatestVersionArn field's value.
8985func (s *CreateFunctionDefinitionOutput) SetLatestVersionArn(v string) *CreateFunctionDefinitionOutput {
8986	s.LatestVersionArn = &v
8987	return s
8988}
8989
8990// SetName sets the Name field's value.
8991func (s *CreateFunctionDefinitionOutput) SetName(v string) *CreateFunctionDefinitionOutput {
8992	s.Name = &v
8993	return s
8994}
8995
8996type CreateFunctionDefinitionVersionInput struct {
8997	_ struct{} `type:"structure"`
8998
8999	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9000
9001	// The default configuration that applies to all Lambda functions in the group.
9002	// Individual Lambda functions can override these settings.
9003	DefaultConfig *FunctionDefaultConfig `type:"structure"`
9004
9005	// FunctionDefinitionId is a required field
9006	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
9007
9008	Functions []*Function `type:"list"`
9009}
9010
9011// String returns the string representation
9012func (s CreateFunctionDefinitionVersionInput) String() string {
9013	return awsutil.Prettify(s)
9014}
9015
9016// GoString returns the string representation
9017func (s CreateFunctionDefinitionVersionInput) GoString() string {
9018	return s.String()
9019}
9020
9021// Validate inspects the fields of the type to determine if they are valid.
9022func (s *CreateFunctionDefinitionVersionInput) Validate() error {
9023	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionDefinitionVersionInput"}
9024	if s.FunctionDefinitionId == nil {
9025		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
9026	}
9027	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
9028		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
9029	}
9030	if s.Functions != nil {
9031		for i, v := range s.Functions {
9032			if v == nil {
9033				continue
9034			}
9035			if err := v.Validate(); err != nil {
9036				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams))
9037			}
9038		}
9039	}
9040
9041	if invalidParams.Len() > 0 {
9042		return invalidParams
9043	}
9044	return nil
9045}
9046
9047// SetAmznClientToken sets the AmznClientToken field's value.
9048func (s *CreateFunctionDefinitionVersionInput) SetAmznClientToken(v string) *CreateFunctionDefinitionVersionInput {
9049	s.AmznClientToken = &v
9050	return s
9051}
9052
9053// SetDefaultConfig sets the DefaultConfig field's value.
9054func (s *CreateFunctionDefinitionVersionInput) SetDefaultConfig(v *FunctionDefaultConfig) *CreateFunctionDefinitionVersionInput {
9055	s.DefaultConfig = v
9056	return s
9057}
9058
9059// SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
9060func (s *CreateFunctionDefinitionVersionInput) SetFunctionDefinitionId(v string) *CreateFunctionDefinitionVersionInput {
9061	s.FunctionDefinitionId = &v
9062	return s
9063}
9064
9065// SetFunctions sets the Functions field's value.
9066func (s *CreateFunctionDefinitionVersionInput) SetFunctions(v []*Function) *CreateFunctionDefinitionVersionInput {
9067	s.Functions = v
9068	return s
9069}
9070
9071type CreateFunctionDefinitionVersionOutput struct {
9072	_ struct{} `type:"structure"`
9073
9074	Arn *string `type:"string"`
9075
9076	CreationTimestamp *string `type:"string"`
9077
9078	Id *string `type:"string"`
9079
9080	Version *string `type:"string"`
9081}
9082
9083// String returns the string representation
9084func (s CreateFunctionDefinitionVersionOutput) String() string {
9085	return awsutil.Prettify(s)
9086}
9087
9088// GoString returns the string representation
9089func (s CreateFunctionDefinitionVersionOutput) GoString() string {
9090	return s.String()
9091}
9092
9093// SetArn sets the Arn field's value.
9094func (s *CreateFunctionDefinitionVersionOutput) SetArn(v string) *CreateFunctionDefinitionVersionOutput {
9095	s.Arn = &v
9096	return s
9097}
9098
9099// SetCreationTimestamp sets the CreationTimestamp field's value.
9100func (s *CreateFunctionDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateFunctionDefinitionVersionOutput {
9101	s.CreationTimestamp = &v
9102	return s
9103}
9104
9105// SetId sets the Id field's value.
9106func (s *CreateFunctionDefinitionVersionOutput) SetId(v string) *CreateFunctionDefinitionVersionOutput {
9107	s.Id = &v
9108	return s
9109}
9110
9111// SetVersion sets the Version field's value.
9112func (s *CreateFunctionDefinitionVersionOutput) SetVersion(v string) *CreateFunctionDefinitionVersionOutput {
9113	s.Version = &v
9114	return s
9115}
9116
9117type CreateGroupCertificateAuthorityInput struct {
9118	_ struct{} `type:"structure"`
9119
9120	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9121
9122	// GroupId is a required field
9123	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
9124}
9125
9126// String returns the string representation
9127func (s CreateGroupCertificateAuthorityInput) String() string {
9128	return awsutil.Prettify(s)
9129}
9130
9131// GoString returns the string representation
9132func (s CreateGroupCertificateAuthorityInput) GoString() string {
9133	return s.String()
9134}
9135
9136// Validate inspects the fields of the type to determine if they are valid.
9137func (s *CreateGroupCertificateAuthorityInput) Validate() error {
9138	invalidParams := request.ErrInvalidParams{Context: "CreateGroupCertificateAuthorityInput"}
9139	if s.GroupId == nil {
9140		invalidParams.Add(request.NewErrParamRequired("GroupId"))
9141	}
9142	if s.GroupId != nil && len(*s.GroupId) < 1 {
9143		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
9144	}
9145
9146	if invalidParams.Len() > 0 {
9147		return invalidParams
9148	}
9149	return nil
9150}
9151
9152// SetAmznClientToken sets the AmznClientToken field's value.
9153func (s *CreateGroupCertificateAuthorityInput) SetAmznClientToken(v string) *CreateGroupCertificateAuthorityInput {
9154	s.AmznClientToken = &v
9155	return s
9156}
9157
9158// SetGroupId sets the GroupId field's value.
9159func (s *CreateGroupCertificateAuthorityInput) SetGroupId(v string) *CreateGroupCertificateAuthorityInput {
9160	s.GroupId = &v
9161	return s
9162}
9163
9164type CreateGroupCertificateAuthorityOutput struct {
9165	_ struct{} `type:"structure"`
9166
9167	// The ARN of the group certificate authority.
9168	GroupCertificateAuthorityArn *string `type:"string"`
9169}
9170
9171// String returns the string representation
9172func (s CreateGroupCertificateAuthorityOutput) String() string {
9173	return awsutil.Prettify(s)
9174}
9175
9176// GoString returns the string representation
9177func (s CreateGroupCertificateAuthorityOutput) GoString() string {
9178	return s.String()
9179}
9180
9181// SetGroupCertificateAuthorityArn sets the GroupCertificateAuthorityArn field's value.
9182func (s *CreateGroupCertificateAuthorityOutput) SetGroupCertificateAuthorityArn(v string) *CreateGroupCertificateAuthorityOutput {
9183	s.GroupCertificateAuthorityArn = &v
9184	return s
9185}
9186
9187type CreateGroupInput struct {
9188	_ struct{} `type:"structure"`
9189
9190	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9191
9192	// Information about a group version.
9193	InitialVersion *GroupVersion `type:"structure"`
9194
9195	// Name is a required field
9196	Name *string `type:"string" required:"true"`
9197
9198	// The key-value pair for the resource tag.
9199	Tags map[string]*string `locationName:"tags" type:"map"`
9200}
9201
9202// String returns the string representation
9203func (s CreateGroupInput) String() string {
9204	return awsutil.Prettify(s)
9205}
9206
9207// GoString returns the string representation
9208func (s CreateGroupInput) GoString() string {
9209	return s.String()
9210}
9211
9212// Validate inspects the fields of the type to determine if they are valid.
9213func (s *CreateGroupInput) Validate() error {
9214	invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
9215	if s.Name == nil {
9216		invalidParams.Add(request.NewErrParamRequired("Name"))
9217	}
9218
9219	if invalidParams.Len() > 0 {
9220		return invalidParams
9221	}
9222	return nil
9223}
9224
9225// SetAmznClientToken sets the AmznClientToken field's value.
9226func (s *CreateGroupInput) SetAmznClientToken(v string) *CreateGroupInput {
9227	s.AmznClientToken = &v
9228	return s
9229}
9230
9231// SetInitialVersion sets the InitialVersion field's value.
9232func (s *CreateGroupInput) SetInitialVersion(v *GroupVersion) *CreateGroupInput {
9233	s.InitialVersion = v
9234	return s
9235}
9236
9237// SetName sets the Name field's value.
9238func (s *CreateGroupInput) SetName(v string) *CreateGroupInput {
9239	s.Name = &v
9240	return s
9241}
9242
9243// SetTags sets the Tags field's value.
9244func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput {
9245	s.Tags = v
9246	return s
9247}
9248
9249type CreateGroupOutput struct {
9250	_ struct{} `type:"structure"`
9251
9252	Arn *string `type:"string"`
9253
9254	CreationTimestamp *string `type:"string"`
9255
9256	Id *string `type:"string"`
9257
9258	LastUpdatedTimestamp *string `type:"string"`
9259
9260	LatestVersion *string `type:"string"`
9261
9262	LatestVersionArn *string `type:"string"`
9263
9264	Name *string `type:"string"`
9265}
9266
9267// String returns the string representation
9268func (s CreateGroupOutput) String() string {
9269	return awsutil.Prettify(s)
9270}
9271
9272// GoString returns the string representation
9273func (s CreateGroupOutput) GoString() string {
9274	return s.String()
9275}
9276
9277// SetArn sets the Arn field's value.
9278func (s *CreateGroupOutput) SetArn(v string) *CreateGroupOutput {
9279	s.Arn = &v
9280	return s
9281}
9282
9283// SetCreationTimestamp sets the CreationTimestamp field's value.
9284func (s *CreateGroupOutput) SetCreationTimestamp(v string) *CreateGroupOutput {
9285	s.CreationTimestamp = &v
9286	return s
9287}
9288
9289// SetId sets the Id field's value.
9290func (s *CreateGroupOutput) SetId(v string) *CreateGroupOutput {
9291	s.Id = &v
9292	return s
9293}
9294
9295// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
9296func (s *CreateGroupOutput) SetLastUpdatedTimestamp(v string) *CreateGroupOutput {
9297	s.LastUpdatedTimestamp = &v
9298	return s
9299}
9300
9301// SetLatestVersion sets the LatestVersion field's value.
9302func (s *CreateGroupOutput) SetLatestVersion(v string) *CreateGroupOutput {
9303	s.LatestVersion = &v
9304	return s
9305}
9306
9307// SetLatestVersionArn sets the LatestVersionArn field's value.
9308func (s *CreateGroupOutput) SetLatestVersionArn(v string) *CreateGroupOutput {
9309	s.LatestVersionArn = &v
9310	return s
9311}
9312
9313// SetName sets the Name field's value.
9314func (s *CreateGroupOutput) SetName(v string) *CreateGroupOutput {
9315	s.Name = &v
9316	return s
9317}
9318
9319type CreateGroupVersionInput struct {
9320	_ struct{} `type:"structure"`
9321
9322	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9323
9324	ConnectorDefinitionVersionArn *string `type:"string"`
9325
9326	CoreDefinitionVersionArn *string `type:"string"`
9327
9328	DeviceDefinitionVersionArn *string `type:"string"`
9329
9330	FunctionDefinitionVersionArn *string `type:"string"`
9331
9332	// GroupId is a required field
9333	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
9334
9335	LoggerDefinitionVersionArn *string `type:"string"`
9336
9337	ResourceDefinitionVersionArn *string `type:"string"`
9338
9339	SubscriptionDefinitionVersionArn *string `type:"string"`
9340}
9341
9342// String returns the string representation
9343func (s CreateGroupVersionInput) String() string {
9344	return awsutil.Prettify(s)
9345}
9346
9347// GoString returns the string representation
9348func (s CreateGroupVersionInput) GoString() string {
9349	return s.String()
9350}
9351
9352// Validate inspects the fields of the type to determine if they are valid.
9353func (s *CreateGroupVersionInput) Validate() error {
9354	invalidParams := request.ErrInvalidParams{Context: "CreateGroupVersionInput"}
9355	if s.GroupId == nil {
9356		invalidParams.Add(request.NewErrParamRequired("GroupId"))
9357	}
9358	if s.GroupId != nil && len(*s.GroupId) < 1 {
9359		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
9360	}
9361
9362	if invalidParams.Len() > 0 {
9363		return invalidParams
9364	}
9365	return nil
9366}
9367
9368// SetAmznClientToken sets the AmznClientToken field's value.
9369func (s *CreateGroupVersionInput) SetAmznClientToken(v string) *CreateGroupVersionInput {
9370	s.AmznClientToken = &v
9371	return s
9372}
9373
9374// SetConnectorDefinitionVersionArn sets the ConnectorDefinitionVersionArn field's value.
9375func (s *CreateGroupVersionInput) SetConnectorDefinitionVersionArn(v string) *CreateGroupVersionInput {
9376	s.ConnectorDefinitionVersionArn = &v
9377	return s
9378}
9379
9380// SetCoreDefinitionVersionArn sets the CoreDefinitionVersionArn field's value.
9381func (s *CreateGroupVersionInput) SetCoreDefinitionVersionArn(v string) *CreateGroupVersionInput {
9382	s.CoreDefinitionVersionArn = &v
9383	return s
9384}
9385
9386// SetDeviceDefinitionVersionArn sets the DeviceDefinitionVersionArn field's value.
9387func (s *CreateGroupVersionInput) SetDeviceDefinitionVersionArn(v string) *CreateGroupVersionInput {
9388	s.DeviceDefinitionVersionArn = &v
9389	return s
9390}
9391
9392// SetFunctionDefinitionVersionArn sets the FunctionDefinitionVersionArn field's value.
9393func (s *CreateGroupVersionInput) SetFunctionDefinitionVersionArn(v string) *CreateGroupVersionInput {
9394	s.FunctionDefinitionVersionArn = &v
9395	return s
9396}
9397
9398// SetGroupId sets the GroupId field's value.
9399func (s *CreateGroupVersionInput) SetGroupId(v string) *CreateGroupVersionInput {
9400	s.GroupId = &v
9401	return s
9402}
9403
9404// SetLoggerDefinitionVersionArn sets the LoggerDefinitionVersionArn field's value.
9405func (s *CreateGroupVersionInput) SetLoggerDefinitionVersionArn(v string) *CreateGroupVersionInput {
9406	s.LoggerDefinitionVersionArn = &v
9407	return s
9408}
9409
9410// SetResourceDefinitionVersionArn sets the ResourceDefinitionVersionArn field's value.
9411func (s *CreateGroupVersionInput) SetResourceDefinitionVersionArn(v string) *CreateGroupVersionInput {
9412	s.ResourceDefinitionVersionArn = &v
9413	return s
9414}
9415
9416// SetSubscriptionDefinitionVersionArn sets the SubscriptionDefinitionVersionArn field's value.
9417func (s *CreateGroupVersionInput) SetSubscriptionDefinitionVersionArn(v string) *CreateGroupVersionInput {
9418	s.SubscriptionDefinitionVersionArn = &v
9419	return s
9420}
9421
9422type CreateGroupVersionOutput struct {
9423	_ struct{} `type:"structure"`
9424
9425	Arn *string `type:"string"`
9426
9427	CreationTimestamp *string `type:"string"`
9428
9429	Id *string `type:"string"`
9430
9431	Version *string `type:"string"`
9432}
9433
9434// String returns the string representation
9435func (s CreateGroupVersionOutput) String() string {
9436	return awsutil.Prettify(s)
9437}
9438
9439// GoString returns the string representation
9440func (s CreateGroupVersionOutput) GoString() string {
9441	return s.String()
9442}
9443
9444// SetArn sets the Arn field's value.
9445func (s *CreateGroupVersionOutput) SetArn(v string) *CreateGroupVersionOutput {
9446	s.Arn = &v
9447	return s
9448}
9449
9450// SetCreationTimestamp sets the CreationTimestamp field's value.
9451func (s *CreateGroupVersionOutput) SetCreationTimestamp(v string) *CreateGroupVersionOutput {
9452	s.CreationTimestamp = &v
9453	return s
9454}
9455
9456// SetId sets the Id field's value.
9457func (s *CreateGroupVersionOutput) SetId(v string) *CreateGroupVersionOutput {
9458	s.Id = &v
9459	return s
9460}
9461
9462// SetVersion sets the Version field's value.
9463func (s *CreateGroupVersionOutput) SetVersion(v string) *CreateGroupVersionOutput {
9464	s.Version = &v
9465	return s
9466}
9467
9468type CreateLoggerDefinitionInput struct {
9469	_ struct{} `type:"structure"`
9470
9471	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9472
9473	// Information about a logger definition version.
9474	InitialVersion *LoggerDefinitionVersion `type:"structure"`
9475
9476	Name *string `type:"string"`
9477
9478	// The key-value pair for the resource tag.
9479	Tags map[string]*string `locationName:"tags" type:"map"`
9480}
9481
9482// String returns the string representation
9483func (s CreateLoggerDefinitionInput) String() string {
9484	return awsutil.Prettify(s)
9485}
9486
9487// GoString returns the string representation
9488func (s CreateLoggerDefinitionInput) GoString() string {
9489	return s.String()
9490}
9491
9492// Validate inspects the fields of the type to determine if they are valid.
9493func (s *CreateLoggerDefinitionInput) Validate() error {
9494	invalidParams := request.ErrInvalidParams{Context: "CreateLoggerDefinitionInput"}
9495	if s.InitialVersion != nil {
9496		if err := s.InitialVersion.Validate(); err != nil {
9497			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
9498		}
9499	}
9500
9501	if invalidParams.Len() > 0 {
9502		return invalidParams
9503	}
9504	return nil
9505}
9506
9507// SetAmznClientToken sets the AmznClientToken field's value.
9508func (s *CreateLoggerDefinitionInput) SetAmznClientToken(v string) *CreateLoggerDefinitionInput {
9509	s.AmznClientToken = &v
9510	return s
9511}
9512
9513// SetInitialVersion sets the InitialVersion field's value.
9514func (s *CreateLoggerDefinitionInput) SetInitialVersion(v *LoggerDefinitionVersion) *CreateLoggerDefinitionInput {
9515	s.InitialVersion = v
9516	return s
9517}
9518
9519// SetName sets the Name field's value.
9520func (s *CreateLoggerDefinitionInput) SetName(v string) *CreateLoggerDefinitionInput {
9521	s.Name = &v
9522	return s
9523}
9524
9525// SetTags sets the Tags field's value.
9526func (s *CreateLoggerDefinitionInput) SetTags(v map[string]*string) *CreateLoggerDefinitionInput {
9527	s.Tags = v
9528	return s
9529}
9530
9531type CreateLoggerDefinitionOutput struct {
9532	_ struct{} `type:"structure"`
9533
9534	Arn *string `type:"string"`
9535
9536	CreationTimestamp *string `type:"string"`
9537
9538	Id *string `type:"string"`
9539
9540	LastUpdatedTimestamp *string `type:"string"`
9541
9542	LatestVersion *string `type:"string"`
9543
9544	LatestVersionArn *string `type:"string"`
9545
9546	Name *string `type:"string"`
9547}
9548
9549// String returns the string representation
9550func (s CreateLoggerDefinitionOutput) String() string {
9551	return awsutil.Prettify(s)
9552}
9553
9554// GoString returns the string representation
9555func (s CreateLoggerDefinitionOutput) GoString() string {
9556	return s.String()
9557}
9558
9559// SetArn sets the Arn field's value.
9560func (s *CreateLoggerDefinitionOutput) SetArn(v string) *CreateLoggerDefinitionOutput {
9561	s.Arn = &v
9562	return s
9563}
9564
9565// SetCreationTimestamp sets the CreationTimestamp field's value.
9566func (s *CreateLoggerDefinitionOutput) SetCreationTimestamp(v string) *CreateLoggerDefinitionOutput {
9567	s.CreationTimestamp = &v
9568	return s
9569}
9570
9571// SetId sets the Id field's value.
9572func (s *CreateLoggerDefinitionOutput) SetId(v string) *CreateLoggerDefinitionOutput {
9573	s.Id = &v
9574	return s
9575}
9576
9577// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
9578func (s *CreateLoggerDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateLoggerDefinitionOutput {
9579	s.LastUpdatedTimestamp = &v
9580	return s
9581}
9582
9583// SetLatestVersion sets the LatestVersion field's value.
9584func (s *CreateLoggerDefinitionOutput) SetLatestVersion(v string) *CreateLoggerDefinitionOutput {
9585	s.LatestVersion = &v
9586	return s
9587}
9588
9589// SetLatestVersionArn sets the LatestVersionArn field's value.
9590func (s *CreateLoggerDefinitionOutput) SetLatestVersionArn(v string) *CreateLoggerDefinitionOutput {
9591	s.LatestVersionArn = &v
9592	return s
9593}
9594
9595// SetName sets the Name field's value.
9596func (s *CreateLoggerDefinitionOutput) SetName(v string) *CreateLoggerDefinitionOutput {
9597	s.Name = &v
9598	return s
9599}
9600
9601type CreateLoggerDefinitionVersionInput struct {
9602	_ struct{} `type:"structure"`
9603
9604	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9605
9606	// LoggerDefinitionId is a required field
9607	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
9608
9609	Loggers []*Logger `type:"list"`
9610}
9611
9612// String returns the string representation
9613func (s CreateLoggerDefinitionVersionInput) String() string {
9614	return awsutil.Prettify(s)
9615}
9616
9617// GoString returns the string representation
9618func (s CreateLoggerDefinitionVersionInput) GoString() string {
9619	return s.String()
9620}
9621
9622// Validate inspects the fields of the type to determine if they are valid.
9623func (s *CreateLoggerDefinitionVersionInput) Validate() error {
9624	invalidParams := request.ErrInvalidParams{Context: "CreateLoggerDefinitionVersionInput"}
9625	if s.LoggerDefinitionId == nil {
9626		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
9627	}
9628	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
9629		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
9630	}
9631	if s.Loggers != nil {
9632		for i, v := range s.Loggers {
9633			if v == nil {
9634				continue
9635			}
9636			if err := v.Validate(); err != nil {
9637				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Loggers", i), err.(request.ErrInvalidParams))
9638			}
9639		}
9640	}
9641
9642	if invalidParams.Len() > 0 {
9643		return invalidParams
9644	}
9645	return nil
9646}
9647
9648// SetAmznClientToken sets the AmznClientToken field's value.
9649func (s *CreateLoggerDefinitionVersionInput) SetAmznClientToken(v string) *CreateLoggerDefinitionVersionInput {
9650	s.AmznClientToken = &v
9651	return s
9652}
9653
9654// SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
9655func (s *CreateLoggerDefinitionVersionInput) SetLoggerDefinitionId(v string) *CreateLoggerDefinitionVersionInput {
9656	s.LoggerDefinitionId = &v
9657	return s
9658}
9659
9660// SetLoggers sets the Loggers field's value.
9661func (s *CreateLoggerDefinitionVersionInput) SetLoggers(v []*Logger) *CreateLoggerDefinitionVersionInput {
9662	s.Loggers = v
9663	return s
9664}
9665
9666type CreateLoggerDefinitionVersionOutput struct {
9667	_ struct{} `type:"structure"`
9668
9669	Arn *string `type:"string"`
9670
9671	CreationTimestamp *string `type:"string"`
9672
9673	Id *string `type:"string"`
9674
9675	Version *string `type:"string"`
9676}
9677
9678// String returns the string representation
9679func (s CreateLoggerDefinitionVersionOutput) String() string {
9680	return awsutil.Prettify(s)
9681}
9682
9683// GoString returns the string representation
9684func (s CreateLoggerDefinitionVersionOutput) GoString() string {
9685	return s.String()
9686}
9687
9688// SetArn sets the Arn field's value.
9689func (s *CreateLoggerDefinitionVersionOutput) SetArn(v string) *CreateLoggerDefinitionVersionOutput {
9690	s.Arn = &v
9691	return s
9692}
9693
9694// SetCreationTimestamp sets the CreationTimestamp field's value.
9695func (s *CreateLoggerDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateLoggerDefinitionVersionOutput {
9696	s.CreationTimestamp = &v
9697	return s
9698}
9699
9700// SetId sets the Id field's value.
9701func (s *CreateLoggerDefinitionVersionOutput) SetId(v string) *CreateLoggerDefinitionVersionOutput {
9702	s.Id = &v
9703	return s
9704}
9705
9706// SetVersion sets the Version field's value.
9707func (s *CreateLoggerDefinitionVersionOutput) SetVersion(v string) *CreateLoggerDefinitionVersionOutput {
9708	s.Version = &v
9709	return s
9710}
9711
9712type CreateResourceDefinitionInput struct {
9713	_ struct{} `type:"structure"`
9714
9715	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9716
9717	// Information about a resource definition version.
9718	InitialVersion *ResourceDefinitionVersion `type:"structure"`
9719
9720	Name *string `type:"string"`
9721
9722	// The key-value pair for the resource tag.
9723	Tags map[string]*string `locationName:"tags" type:"map"`
9724}
9725
9726// String returns the string representation
9727func (s CreateResourceDefinitionInput) String() string {
9728	return awsutil.Prettify(s)
9729}
9730
9731// GoString returns the string representation
9732func (s CreateResourceDefinitionInput) GoString() string {
9733	return s.String()
9734}
9735
9736// Validate inspects the fields of the type to determine if they are valid.
9737func (s *CreateResourceDefinitionInput) Validate() error {
9738	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDefinitionInput"}
9739	if s.InitialVersion != nil {
9740		if err := s.InitialVersion.Validate(); err != nil {
9741			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
9742		}
9743	}
9744
9745	if invalidParams.Len() > 0 {
9746		return invalidParams
9747	}
9748	return nil
9749}
9750
9751// SetAmznClientToken sets the AmznClientToken field's value.
9752func (s *CreateResourceDefinitionInput) SetAmznClientToken(v string) *CreateResourceDefinitionInput {
9753	s.AmznClientToken = &v
9754	return s
9755}
9756
9757// SetInitialVersion sets the InitialVersion field's value.
9758func (s *CreateResourceDefinitionInput) SetInitialVersion(v *ResourceDefinitionVersion) *CreateResourceDefinitionInput {
9759	s.InitialVersion = v
9760	return s
9761}
9762
9763// SetName sets the Name field's value.
9764func (s *CreateResourceDefinitionInput) SetName(v string) *CreateResourceDefinitionInput {
9765	s.Name = &v
9766	return s
9767}
9768
9769// SetTags sets the Tags field's value.
9770func (s *CreateResourceDefinitionInput) SetTags(v map[string]*string) *CreateResourceDefinitionInput {
9771	s.Tags = v
9772	return s
9773}
9774
9775type CreateResourceDefinitionOutput struct {
9776	_ struct{} `type:"structure"`
9777
9778	Arn *string `type:"string"`
9779
9780	CreationTimestamp *string `type:"string"`
9781
9782	Id *string `type:"string"`
9783
9784	LastUpdatedTimestamp *string `type:"string"`
9785
9786	LatestVersion *string `type:"string"`
9787
9788	LatestVersionArn *string `type:"string"`
9789
9790	Name *string `type:"string"`
9791}
9792
9793// String returns the string representation
9794func (s CreateResourceDefinitionOutput) String() string {
9795	return awsutil.Prettify(s)
9796}
9797
9798// GoString returns the string representation
9799func (s CreateResourceDefinitionOutput) GoString() string {
9800	return s.String()
9801}
9802
9803// SetArn sets the Arn field's value.
9804func (s *CreateResourceDefinitionOutput) SetArn(v string) *CreateResourceDefinitionOutput {
9805	s.Arn = &v
9806	return s
9807}
9808
9809// SetCreationTimestamp sets the CreationTimestamp field's value.
9810func (s *CreateResourceDefinitionOutput) SetCreationTimestamp(v string) *CreateResourceDefinitionOutput {
9811	s.CreationTimestamp = &v
9812	return s
9813}
9814
9815// SetId sets the Id field's value.
9816func (s *CreateResourceDefinitionOutput) SetId(v string) *CreateResourceDefinitionOutput {
9817	s.Id = &v
9818	return s
9819}
9820
9821// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
9822func (s *CreateResourceDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateResourceDefinitionOutput {
9823	s.LastUpdatedTimestamp = &v
9824	return s
9825}
9826
9827// SetLatestVersion sets the LatestVersion field's value.
9828func (s *CreateResourceDefinitionOutput) SetLatestVersion(v string) *CreateResourceDefinitionOutput {
9829	s.LatestVersion = &v
9830	return s
9831}
9832
9833// SetLatestVersionArn sets the LatestVersionArn field's value.
9834func (s *CreateResourceDefinitionOutput) SetLatestVersionArn(v string) *CreateResourceDefinitionOutput {
9835	s.LatestVersionArn = &v
9836	return s
9837}
9838
9839// SetName sets the Name field's value.
9840func (s *CreateResourceDefinitionOutput) SetName(v string) *CreateResourceDefinitionOutput {
9841	s.Name = &v
9842	return s
9843}
9844
9845type CreateResourceDefinitionVersionInput struct {
9846	_ struct{} `type:"structure"`
9847
9848	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9849
9850	// ResourceDefinitionId is a required field
9851	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
9852
9853	Resources []*Resource `type:"list"`
9854}
9855
9856// String returns the string representation
9857func (s CreateResourceDefinitionVersionInput) String() string {
9858	return awsutil.Prettify(s)
9859}
9860
9861// GoString returns the string representation
9862func (s CreateResourceDefinitionVersionInput) GoString() string {
9863	return s.String()
9864}
9865
9866// Validate inspects the fields of the type to determine if they are valid.
9867func (s *CreateResourceDefinitionVersionInput) Validate() error {
9868	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDefinitionVersionInput"}
9869	if s.ResourceDefinitionId == nil {
9870		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
9871	}
9872	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
9873		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
9874	}
9875	if s.Resources != nil {
9876		for i, v := range s.Resources {
9877			if v == nil {
9878				continue
9879			}
9880			if err := v.Validate(); err != nil {
9881				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
9882			}
9883		}
9884	}
9885
9886	if invalidParams.Len() > 0 {
9887		return invalidParams
9888	}
9889	return nil
9890}
9891
9892// SetAmznClientToken sets the AmznClientToken field's value.
9893func (s *CreateResourceDefinitionVersionInput) SetAmznClientToken(v string) *CreateResourceDefinitionVersionInput {
9894	s.AmznClientToken = &v
9895	return s
9896}
9897
9898// SetResourceDefinitionId sets the ResourceDefinitionId field's value.
9899func (s *CreateResourceDefinitionVersionInput) SetResourceDefinitionId(v string) *CreateResourceDefinitionVersionInput {
9900	s.ResourceDefinitionId = &v
9901	return s
9902}
9903
9904// SetResources sets the Resources field's value.
9905func (s *CreateResourceDefinitionVersionInput) SetResources(v []*Resource) *CreateResourceDefinitionVersionInput {
9906	s.Resources = v
9907	return s
9908}
9909
9910type CreateResourceDefinitionVersionOutput struct {
9911	_ struct{} `type:"structure"`
9912
9913	Arn *string `type:"string"`
9914
9915	CreationTimestamp *string `type:"string"`
9916
9917	Id *string `type:"string"`
9918
9919	Version *string `type:"string"`
9920}
9921
9922// String returns the string representation
9923func (s CreateResourceDefinitionVersionOutput) String() string {
9924	return awsutil.Prettify(s)
9925}
9926
9927// GoString returns the string representation
9928func (s CreateResourceDefinitionVersionOutput) GoString() string {
9929	return s.String()
9930}
9931
9932// SetArn sets the Arn field's value.
9933func (s *CreateResourceDefinitionVersionOutput) SetArn(v string) *CreateResourceDefinitionVersionOutput {
9934	s.Arn = &v
9935	return s
9936}
9937
9938// SetCreationTimestamp sets the CreationTimestamp field's value.
9939func (s *CreateResourceDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateResourceDefinitionVersionOutput {
9940	s.CreationTimestamp = &v
9941	return s
9942}
9943
9944// SetId sets the Id field's value.
9945func (s *CreateResourceDefinitionVersionOutput) SetId(v string) *CreateResourceDefinitionVersionOutput {
9946	s.Id = &v
9947	return s
9948}
9949
9950// SetVersion sets the Version field's value.
9951func (s *CreateResourceDefinitionVersionOutput) SetVersion(v string) *CreateResourceDefinitionVersionOutput {
9952	s.Version = &v
9953	return s
9954}
9955
9956// Request for the CreateSoftwareUpdateJob API.
9957type CreateSoftwareUpdateJobInput struct {
9958	_ struct{} `type:"structure"`
9959
9960	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
9961
9962	// The IAM Role that Greengrass will use to create pre-signed URLs pointing
9963	// towards the update artifact.
9964	//
9965	// S3UrlSignerRole is a required field
9966	S3UrlSignerRole *string `type:"string" required:"true"`
9967
9968	// The piece of software on the Greengrass core that will be updated.
9969	//
9970	// SoftwareToUpdate is a required field
9971	SoftwareToUpdate *string `type:"string" required:"true" enum:"SoftwareToUpdate"`
9972
9973	// The minimum level of log statements that should be logged by the OTA Agent
9974	// during an update.
9975	UpdateAgentLogLevel *string `type:"string" enum:"UpdateAgentLogLevel"`
9976
9977	// The ARNs of the targets (IoT things or IoT thing groups) that this update
9978	// will be applied to.
9979	//
9980	// UpdateTargets is a required field
9981	UpdateTargets []*string `type:"list" required:"true"`
9982
9983	// The architecture of the cores which are the targets of an update.
9984	//
9985	// UpdateTargetsArchitecture is a required field
9986	UpdateTargetsArchitecture *string `type:"string" required:"true" enum:"UpdateTargetsArchitecture"`
9987
9988	// The operating system of the cores which are the targets of an update.
9989	//
9990	// UpdateTargetsOperatingSystem is a required field
9991	UpdateTargetsOperatingSystem *string `type:"string" required:"true" enum:"UpdateTargetsOperatingSystem"`
9992}
9993
9994// String returns the string representation
9995func (s CreateSoftwareUpdateJobInput) String() string {
9996	return awsutil.Prettify(s)
9997}
9998
9999// GoString returns the string representation
10000func (s CreateSoftwareUpdateJobInput) GoString() string {
10001	return s.String()
10002}
10003
10004// Validate inspects the fields of the type to determine if they are valid.
10005func (s *CreateSoftwareUpdateJobInput) Validate() error {
10006	invalidParams := request.ErrInvalidParams{Context: "CreateSoftwareUpdateJobInput"}
10007	if s.S3UrlSignerRole == nil {
10008		invalidParams.Add(request.NewErrParamRequired("S3UrlSignerRole"))
10009	}
10010	if s.SoftwareToUpdate == nil {
10011		invalidParams.Add(request.NewErrParamRequired("SoftwareToUpdate"))
10012	}
10013	if s.UpdateTargets == nil {
10014		invalidParams.Add(request.NewErrParamRequired("UpdateTargets"))
10015	}
10016	if s.UpdateTargetsArchitecture == nil {
10017		invalidParams.Add(request.NewErrParamRequired("UpdateTargetsArchitecture"))
10018	}
10019	if s.UpdateTargetsOperatingSystem == nil {
10020		invalidParams.Add(request.NewErrParamRequired("UpdateTargetsOperatingSystem"))
10021	}
10022
10023	if invalidParams.Len() > 0 {
10024		return invalidParams
10025	}
10026	return nil
10027}
10028
10029// SetAmznClientToken sets the AmznClientToken field's value.
10030func (s *CreateSoftwareUpdateJobInput) SetAmznClientToken(v string) *CreateSoftwareUpdateJobInput {
10031	s.AmznClientToken = &v
10032	return s
10033}
10034
10035// SetS3UrlSignerRole sets the S3UrlSignerRole field's value.
10036func (s *CreateSoftwareUpdateJobInput) SetS3UrlSignerRole(v string) *CreateSoftwareUpdateJobInput {
10037	s.S3UrlSignerRole = &v
10038	return s
10039}
10040
10041// SetSoftwareToUpdate sets the SoftwareToUpdate field's value.
10042func (s *CreateSoftwareUpdateJobInput) SetSoftwareToUpdate(v string) *CreateSoftwareUpdateJobInput {
10043	s.SoftwareToUpdate = &v
10044	return s
10045}
10046
10047// SetUpdateAgentLogLevel sets the UpdateAgentLogLevel field's value.
10048func (s *CreateSoftwareUpdateJobInput) SetUpdateAgentLogLevel(v string) *CreateSoftwareUpdateJobInput {
10049	s.UpdateAgentLogLevel = &v
10050	return s
10051}
10052
10053// SetUpdateTargets sets the UpdateTargets field's value.
10054func (s *CreateSoftwareUpdateJobInput) SetUpdateTargets(v []*string) *CreateSoftwareUpdateJobInput {
10055	s.UpdateTargets = v
10056	return s
10057}
10058
10059// SetUpdateTargetsArchitecture sets the UpdateTargetsArchitecture field's value.
10060func (s *CreateSoftwareUpdateJobInput) SetUpdateTargetsArchitecture(v string) *CreateSoftwareUpdateJobInput {
10061	s.UpdateTargetsArchitecture = &v
10062	return s
10063}
10064
10065// SetUpdateTargetsOperatingSystem sets the UpdateTargetsOperatingSystem field's value.
10066func (s *CreateSoftwareUpdateJobInput) SetUpdateTargetsOperatingSystem(v string) *CreateSoftwareUpdateJobInput {
10067	s.UpdateTargetsOperatingSystem = &v
10068	return s
10069}
10070
10071type CreateSoftwareUpdateJobOutput struct {
10072	_ struct{} `type:"structure"`
10073
10074	// The IoT Job ARN corresponding to this update.
10075	IotJobArn *string `type:"string"`
10076
10077	// The IoT Job Id corresponding to this update.
10078	IotJobId *string `type:"string"`
10079
10080	// The software version installed on the device or devices after the update.
10081	PlatformSoftwareVersion *string `type:"string"`
10082}
10083
10084// String returns the string representation
10085func (s CreateSoftwareUpdateJobOutput) String() string {
10086	return awsutil.Prettify(s)
10087}
10088
10089// GoString returns the string representation
10090func (s CreateSoftwareUpdateJobOutput) GoString() string {
10091	return s.String()
10092}
10093
10094// SetIotJobArn sets the IotJobArn field's value.
10095func (s *CreateSoftwareUpdateJobOutput) SetIotJobArn(v string) *CreateSoftwareUpdateJobOutput {
10096	s.IotJobArn = &v
10097	return s
10098}
10099
10100// SetIotJobId sets the IotJobId field's value.
10101func (s *CreateSoftwareUpdateJobOutput) SetIotJobId(v string) *CreateSoftwareUpdateJobOutput {
10102	s.IotJobId = &v
10103	return s
10104}
10105
10106// SetPlatformSoftwareVersion sets the PlatformSoftwareVersion field's value.
10107func (s *CreateSoftwareUpdateJobOutput) SetPlatformSoftwareVersion(v string) *CreateSoftwareUpdateJobOutput {
10108	s.PlatformSoftwareVersion = &v
10109	return s
10110}
10111
10112type CreateSubscriptionDefinitionInput struct {
10113	_ struct{} `type:"structure"`
10114
10115	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
10116
10117	// Information about a subscription definition version.
10118	InitialVersion *SubscriptionDefinitionVersion `type:"structure"`
10119
10120	Name *string `type:"string"`
10121
10122	// The key-value pair for the resource tag.
10123	Tags map[string]*string `locationName:"tags" type:"map"`
10124}
10125
10126// String returns the string representation
10127func (s CreateSubscriptionDefinitionInput) String() string {
10128	return awsutil.Prettify(s)
10129}
10130
10131// GoString returns the string representation
10132func (s CreateSubscriptionDefinitionInput) GoString() string {
10133	return s.String()
10134}
10135
10136// Validate inspects the fields of the type to determine if they are valid.
10137func (s *CreateSubscriptionDefinitionInput) Validate() error {
10138	invalidParams := request.ErrInvalidParams{Context: "CreateSubscriptionDefinitionInput"}
10139	if s.InitialVersion != nil {
10140		if err := s.InitialVersion.Validate(); err != nil {
10141			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
10142		}
10143	}
10144
10145	if invalidParams.Len() > 0 {
10146		return invalidParams
10147	}
10148	return nil
10149}
10150
10151// SetAmznClientToken sets the AmznClientToken field's value.
10152func (s *CreateSubscriptionDefinitionInput) SetAmznClientToken(v string) *CreateSubscriptionDefinitionInput {
10153	s.AmznClientToken = &v
10154	return s
10155}
10156
10157// SetInitialVersion sets the InitialVersion field's value.
10158func (s *CreateSubscriptionDefinitionInput) SetInitialVersion(v *SubscriptionDefinitionVersion) *CreateSubscriptionDefinitionInput {
10159	s.InitialVersion = v
10160	return s
10161}
10162
10163// SetName sets the Name field's value.
10164func (s *CreateSubscriptionDefinitionInput) SetName(v string) *CreateSubscriptionDefinitionInput {
10165	s.Name = &v
10166	return s
10167}
10168
10169// SetTags sets the Tags field's value.
10170func (s *CreateSubscriptionDefinitionInput) SetTags(v map[string]*string) *CreateSubscriptionDefinitionInput {
10171	s.Tags = v
10172	return s
10173}
10174
10175type CreateSubscriptionDefinitionOutput struct {
10176	_ struct{} `type:"structure"`
10177
10178	Arn *string `type:"string"`
10179
10180	CreationTimestamp *string `type:"string"`
10181
10182	Id *string `type:"string"`
10183
10184	LastUpdatedTimestamp *string `type:"string"`
10185
10186	LatestVersion *string `type:"string"`
10187
10188	LatestVersionArn *string `type:"string"`
10189
10190	Name *string `type:"string"`
10191}
10192
10193// String returns the string representation
10194func (s CreateSubscriptionDefinitionOutput) String() string {
10195	return awsutil.Prettify(s)
10196}
10197
10198// GoString returns the string representation
10199func (s CreateSubscriptionDefinitionOutput) GoString() string {
10200	return s.String()
10201}
10202
10203// SetArn sets the Arn field's value.
10204func (s *CreateSubscriptionDefinitionOutput) SetArn(v string) *CreateSubscriptionDefinitionOutput {
10205	s.Arn = &v
10206	return s
10207}
10208
10209// SetCreationTimestamp sets the CreationTimestamp field's value.
10210func (s *CreateSubscriptionDefinitionOutput) SetCreationTimestamp(v string) *CreateSubscriptionDefinitionOutput {
10211	s.CreationTimestamp = &v
10212	return s
10213}
10214
10215// SetId sets the Id field's value.
10216func (s *CreateSubscriptionDefinitionOutput) SetId(v string) *CreateSubscriptionDefinitionOutput {
10217	s.Id = &v
10218	return s
10219}
10220
10221// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
10222func (s *CreateSubscriptionDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateSubscriptionDefinitionOutput {
10223	s.LastUpdatedTimestamp = &v
10224	return s
10225}
10226
10227// SetLatestVersion sets the LatestVersion field's value.
10228func (s *CreateSubscriptionDefinitionOutput) SetLatestVersion(v string) *CreateSubscriptionDefinitionOutput {
10229	s.LatestVersion = &v
10230	return s
10231}
10232
10233// SetLatestVersionArn sets the LatestVersionArn field's value.
10234func (s *CreateSubscriptionDefinitionOutput) SetLatestVersionArn(v string) *CreateSubscriptionDefinitionOutput {
10235	s.LatestVersionArn = &v
10236	return s
10237}
10238
10239// SetName sets the Name field's value.
10240func (s *CreateSubscriptionDefinitionOutput) SetName(v string) *CreateSubscriptionDefinitionOutput {
10241	s.Name = &v
10242	return s
10243}
10244
10245type CreateSubscriptionDefinitionVersionInput struct {
10246	_ struct{} `type:"structure"`
10247
10248	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
10249
10250	// SubscriptionDefinitionId is a required field
10251	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
10252
10253	Subscriptions []*Subscription `type:"list"`
10254}
10255
10256// String returns the string representation
10257func (s CreateSubscriptionDefinitionVersionInput) String() string {
10258	return awsutil.Prettify(s)
10259}
10260
10261// GoString returns the string representation
10262func (s CreateSubscriptionDefinitionVersionInput) GoString() string {
10263	return s.String()
10264}
10265
10266// Validate inspects the fields of the type to determine if they are valid.
10267func (s *CreateSubscriptionDefinitionVersionInput) Validate() error {
10268	invalidParams := request.ErrInvalidParams{Context: "CreateSubscriptionDefinitionVersionInput"}
10269	if s.SubscriptionDefinitionId == nil {
10270		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
10271	}
10272	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
10273		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
10274	}
10275	if s.Subscriptions != nil {
10276		for i, v := range s.Subscriptions {
10277			if v == nil {
10278				continue
10279			}
10280			if err := v.Validate(); err != nil {
10281				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscriptions", i), err.(request.ErrInvalidParams))
10282			}
10283		}
10284	}
10285
10286	if invalidParams.Len() > 0 {
10287		return invalidParams
10288	}
10289	return nil
10290}
10291
10292// SetAmznClientToken sets the AmznClientToken field's value.
10293func (s *CreateSubscriptionDefinitionVersionInput) SetAmznClientToken(v string) *CreateSubscriptionDefinitionVersionInput {
10294	s.AmznClientToken = &v
10295	return s
10296}
10297
10298// SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
10299func (s *CreateSubscriptionDefinitionVersionInput) SetSubscriptionDefinitionId(v string) *CreateSubscriptionDefinitionVersionInput {
10300	s.SubscriptionDefinitionId = &v
10301	return s
10302}
10303
10304// SetSubscriptions sets the Subscriptions field's value.
10305func (s *CreateSubscriptionDefinitionVersionInput) SetSubscriptions(v []*Subscription) *CreateSubscriptionDefinitionVersionInput {
10306	s.Subscriptions = v
10307	return s
10308}
10309
10310type CreateSubscriptionDefinitionVersionOutput struct {
10311	_ struct{} `type:"structure"`
10312
10313	Arn *string `type:"string"`
10314
10315	CreationTimestamp *string `type:"string"`
10316
10317	Id *string `type:"string"`
10318
10319	Version *string `type:"string"`
10320}
10321
10322// String returns the string representation
10323func (s CreateSubscriptionDefinitionVersionOutput) String() string {
10324	return awsutil.Prettify(s)
10325}
10326
10327// GoString returns the string representation
10328func (s CreateSubscriptionDefinitionVersionOutput) GoString() string {
10329	return s.String()
10330}
10331
10332// SetArn sets the Arn field's value.
10333func (s *CreateSubscriptionDefinitionVersionOutput) SetArn(v string) *CreateSubscriptionDefinitionVersionOutput {
10334	s.Arn = &v
10335	return s
10336}
10337
10338// SetCreationTimestamp sets the CreationTimestamp field's value.
10339func (s *CreateSubscriptionDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateSubscriptionDefinitionVersionOutput {
10340	s.CreationTimestamp = &v
10341	return s
10342}
10343
10344// SetId sets the Id field's value.
10345func (s *CreateSubscriptionDefinitionVersionOutput) SetId(v string) *CreateSubscriptionDefinitionVersionOutput {
10346	s.Id = &v
10347	return s
10348}
10349
10350// SetVersion sets the Version field's value.
10351func (s *CreateSubscriptionDefinitionVersionOutput) SetVersion(v string) *CreateSubscriptionDefinitionVersionOutput {
10352	s.Version = &v
10353	return s
10354}
10355
10356// Information about a definition.
10357type DefinitionInformation struct {
10358	_ struct{} `type:"structure"`
10359
10360	// The ARN of the definition.
10361	Arn *string `type:"string"`
10362
10363	// The time, in milliseconds since the epoch, when the definition was created.
10364	CreationTimestamp *string `type:"string"`
10365
10366	// The ID of the definition.
10367	Id *string `type:"string"`
10368
10369	// The time, in milliseconds since the epoch, when the definition was last updated.
10370	LastUpdatedTimestamp *string `type:"string"`
10371
10372	// The ID of the latest version associated with the definition.
10373	LatestVersion *string `type:"string"`
10374
10375	// The ARN of the latest version associated with the definition.
10376	LatestVersionArn *string `type:"string"`
10377
10378	// The name of the definition.
10379	Name *string `type:"string"`
10380
10381	// Tag(s) attached to the resource arn.
10382	Tags map[string]*string `locationName:"tags" type:"map"`
10383}
10384
10385// String returns the string representation
10386func (s DefinitionInformation) String() string {
10387	return awsutil.Prettify(s)
10388}
10389
10390// GoString returns the string representation
10391func (s DefinitionInformation) GoString() string {
10392	return s.String()
10393}
10394
10395// SetArn sets the Arn field's value.
10396func (s *DefinitionInformation) SetArn(v string) *DefinitionInformation {
10397	s.Arn = &v
10398	return s
10399}
10400
10401// SetCreationTimestamp sets the CreationTimestamp field's value.
10402func (s *DefinitionInformation) SetCreationTimestamp(v string) *DefinitionInformation {
10403	s.CreationTimestamp = &v
10404	return s
10405}
10406
10407// SetId sets the Id field's value.
10408func (s *DefinitionInformation) SetId(v string) *DefinitionInformation {
10409	s.Id = &v
10410	return s
10411}
10412
10413// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
10414func (s *DefinitionInformation) SetLastUpdatedTimestamp(v string) *DefinitionInformation {
10415	s.LastUpdatedTimestamp = &v
10416	return s
10417}
10418
10419// SetLatestVersion sets the LatestVersion field's value.
10420func (s *DefinitionInformation) SetLatestVersion(v string) *DefinitionInformation {
10421	s.LatestVersion = &v
10422	return s
10423}
10424
10425// SetLatestVersionArn sets the LatestVersionArn field's value.
10426func (s *DefinitionInformation) SetLatestVersionArn(v string) *DefinitionInformation {
10427	s.LatestVersionArn = &v
10428	return s
10429}
10430
10431// SetName sets the Name field's value.
10432func (s *DefinitionInformation) SetName(v string) *DefinitionInformation {
10433	s.Name = &v
10434	return s
10435}
10436
10437// SetTags sets the Tags field's value.
10438func (s *DefinitionInformation) SetTags(v map[string]*string) *DefinitionInformation {
10439	s.Tags = v
10440	return s
10441}
10442
10443type DeleteConnectorDefinitionInput struct {
10444	_ struct{} `type:"structure"`
10445
10446	// ConnectorDefinitionId is a required field
10447	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
10448}
10449
10450// String returns the string representation
10451func (s DeleteConnectorDefinitionInput) String() string {
10452	return awsutil.Prettify(s)
10453}
10454
10455// GoString returns the string representation
10456func (s DeleteConnectorDefinitionInput) GoString() string {
10457	return s.String()
10458}
10459
10460// Validate inspects the fields of the type to determine if they are valid.
10461func (s *DeleteConnectorDefinitionInput) Validate() error {
10462	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectorDefinitionInput"}
10463	if s.ConnectorDefinitionId == nil {
10464		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
10465	}
10466	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
10467		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
10468	}
10469
10470	if invalidParams.Len() > 0 {
10471		return invalidParams
10472	}
10473	return nil
10474}
10475
10476// SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
10477func (s *DeleteConnectorDefinitionInput) SetConnectorDefinitionId(v string) *DeleteConnectorDefinitionInput {
10478	s.ConnectorDefinitionId = &v
10479	return s
10480}
10481
10482type DeleteConnectorDefinitionOutput struct {
10483	_ struct{} `type:"structure"`
10484}
10485
10486// String returns the string representation
10487func (s DeleteConnectorDefinitionOutput) String() string {
10488	return awsutil.Prettify(s)
10489}
10490
10491// GoString returns the string representation
10492func (s DeleteConnectorDefinitionOutput) GoString() string {
10493	return s.String()
10494}
10495
10496type DeleteCoreDefinitionInput struct {
10497	_ struct{} `type:"structure"`
10498
10499	// CoreDefinitionId is a required field
10500	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
10501}
10502
10503// String returns the string representation
10504func (s DeleteCoreDefinitionInput) String() string {
10505	return awsutil.Prettify(s)
10506}
10507
10508// GoString returns the string representation
10509func (s DeleteCoreDefinitionInput) GoString() string {
10510	return s.String()
10511}
10512
10513// Validate inspects the fields of the type to determine if they are valid.
10514func (s *DeleteCoreDefinitionInput) Validate() error {
10515	invalidParams := request.ErrInvalidParams{Context: "DeleteCoreDefinitionInput"}
10516	if s.CoreDefinitionId == nil {
10517		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
10518	}
10519	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
10520		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
10521	}
10522
10523	if invalidParams.Len() > 0 {
10524		return invalidParams
10525	}
10526	return nil
10527}
10528
10529// SetCoreDefinitionId sets the CoreDefinitionId field's value.
10530func (s *DeleteCoreDefinitionInput) SetCoreDefinitionId(v string) *DeleteCoreDefinitionInput {
10531	s.CoreDefinitionId = &v
10532	return s
10533}
10534
10535type DeleteCoreDefinitionOutput struct {
10536	_ struct{} `type:"structure"`
10537}
10538
10539// String returns the string representation
10540func (s DeleteCoreDefinitionOutput) String() string {
10541	return awsutil.Prettify(s)
10542}
10543
10544// GoString returns the string representation
10545func (s DeleteCoreDefinitionOutput) GoString() string {
10546	return s.String()
10547}
10548
10549type DeleteDeviceDefinitionInput struct {
10550	_ struct{} `type:"structure"`
10551
10552	// DeviceDefinitionId is a required field
10553	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
10554}
10555
10556// String returns the string representation
10557func (s DeleteDeviceDefinitionInput) String() string {
10558	return awsutil.Prettify(s)
10559}
10560
10561// GoString returns the string representation
10562func (s DeleteDeviceDefinitionInput) GoString() string {
10563	return s.String()
10564}
10565
10566// Validate inspects the fields of the type to determine if they are valid.
10567func (s *DeleteDeviceDefinitionInput) Validate() error {
10568	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceDefinitionInput"}
10569	if s.DeviceDefinitionId == nil {
10570		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
10571	}
10572	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
10573		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
10574	}
10575
10576	if invalidParams.Len() > 0 {
10577		return invalidParams
10578	}
10579	return nil
10580}
10581
10582// SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
10583func (s *DeleteDeviceDefinitionInput) SetDeviceDefinitionId(v string) *DeleteDeviceDefinitionInput {
10584	s.DeviceDefinitionId = &v
10585	return s
10586}
10587
10588type DeleteDeviceDefinitionOutput struct {
10589	_ struct{} `type:"structure"`
10590}
10591
10592// String returns the string representation
10593func (s DeleteDeviceDefinitionOutput) String() string {
10594	return awsutil.Prettify(s)
10595}
10596
10597// GoString returns the string representation
10598func (s DeleteDeviceDefinitionOutput) GoString() string {
10599	return s.String()
10600}
10601
10602type DeleteFunctionDefinitionInput struct {
10603	_ struct{} `type:"structure"`
10604
10605	// FunctionDefinitionId is a required field
10606	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
10607}
10608
10609// String returns the string representation
10610func (s DeleteFunctionDefinitionInput) String() string {
10611	return awsutil.Prettify(s)
10612}
10613
10614// GoString returns the string representation
10615func (s DeleteFunctionDefinitionInput) GoString() string {
10616	return s.String()
10617}
10618
10619// Validate inspects the fields of the type to determine if they are valid.
10620func (s *DeleteFunctionDefinitionInput) Validate() error {
10621	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionDefinitionInput"}
10622	if s.FunctionDefinitionId == nil {
10623		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
10624	}
10625	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
10626		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
10627	}
10628
10629	if invalidParams.Len() > 0 {
10630		return invalidParams
10631	}
10632	return nil
10633}
10634
10635// SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
10636func (s *DeleteFunctionDefinitionInput) SetFunctionDefinitionId(v string) *DeleteFunctionDefinitionInput {
10637	s.FunctionDefinitionId = &v
10638	return s
10639}
10640
10641type DeleteFunctionDefinitionOutput struct {
10642	_ struct{} `type:"structure"`
10643}
10644
10645// String returns the string representation
10646func (s DeleteFunctionDefinitionOutput) String() string {
10647	return awsutil.Prettify(s)
10648}
10649
10650// GoString returns the string representation
10651func (s DeleteFunctionDefinitionOutput) GoString() string {
10652	return s.String()
10653}
10654
10655type DeleteGroupInput struct {
10656	_ struct{} `type:"structure"`
10657
10658	// GroupId is a required field
10659	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
10660}
10661
10662// String returns the string representation
10663func (s DeleteGroupInput) String() string {
10664	return awsutil.Prettify(s)
10665}
10666
10667// GoString returns the string representation
10668func (s DeleteGroupInput) GoString() string {
10669	return s.String()
10670}
10671
10672// Validate inspects the fields of the type to determine if they are valid.
10673func (s *DeleteGroupInput) Validate() error {
10674	invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
10675	if s.GroupId == nil {
10676		invalidParams.Add(request.NewErrParamRequired("GroupId"))
10677	}
10678	if s.GroupId != nil && len(*s.GroupId) < 1 {
10679		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
10680	}
10681
10682	if invalidParams.Len() > 0 {
10683		return invalidParams
10684	}
10685	return nil
10686}
10687
10688// SetGroupId sets the GroupId field's value.
10689func (s *DeleteGroupInput) SetGroupId(v string) *DeleteGroupInput {
10690	s.GroupId = &v
10691	return s
10692}
10693
10694type DeleteGroupOutput struct {
10695	_ struct{} `type:"structure"`
10696}
10697
10698// String returns the string representation
10699func (s DeleteGroupOutput) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s DeleteGroupOutput) GoString() string {
10705	return s.String()
10706}
10707
10708type DeleteLoggerDefinitionInput struct {
10709	_ struct{} `type:"structure"`
10710
10711	// LoggerDefinitionId is a required field
10712	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
10713}
10714
10715// String returns the string representation
10716func (s DeleteLoggerDefinitionInput) String() string {
10717	return awsutil.Prettify(s)
10718}
10719
10720// GoString returns the string representation
10721func (s DeleteLoggerDefinitionInput) GoString() string {
10722	return s.String()
10723}
10724
10725// Validate inspects the fields of the type to determine if they are valid.
10726func (s *DeleteLoggerDefinitionInput) Validate() error {
10727	invalidParams := request.ErrInvalidParams{Context: "DeleteLoggerDefinitionInput"}
10728	if s.LoggerDefinitionId == nil {
10729		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
10730	}
10731	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
10732		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
10733	}
10734
10735	if invalidParams.Len() > 0 {
10736		return invalidParams
10737	}
10738	return nil
10739}
10740
10741// SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
10742func (s *DeleteLoggerDefinitionInput) SetLoggerDefinitionId(v string) *DeleteLoggerDefinitionInput {
10743	s.LoggerDefinitionId = &v
10744	return s
10745}
10746
10747type DeleteLoggerDefinitionOutput struct {
10748	_ struct{} `type:"structure"`
10749}
10750
10751// String returns the string representation
10752func (s DeleteLoggerDefinitionOutput) String() string {
10753	return awsutil.Prettify(s)
10754}
10755
10756// GoString returns the string representation
10757func (s DeleteLoggerDefinitionOutput) GoString() string {
10758	return s.String()
10759}
10760
10761type DeleteResourceDefinitionInput struct {
10762	_ struct{} `type:"structure"`
10763
10764	// ResourceDefinitionId is a required field
10765	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
10766}
10767
10768// String returns the string representation
10769func (s DeleteResourceDefinitionInput) String() string {
10770	return awsutil.Prettify(s)
10771}
10772
10773// GoString returns the string representation
10774func (s DeleteResourceDefinitionInput) GoString() string {
10775	return s.String()
10776}
10777
10778// Validate inspects the fields of the type to determine if they are valid.
10779func (s *DeleteResourceDefinitionInput) Validate() error {
10780	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDefinitionInput"}
10781	if s.ResourceDefinitionId == nil {
10782		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
10783	}
10784	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
10785		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
10786	}
10787
10788	if invalidParams.Len() > 0 {
10789		return invalidParams
10790	}
10791	return nil
10792}
10793
10794// SetResourceDefinitionId sets the ResourceDefinitionId field's value.
10795func (s *DeleteResourceDefinitionInput) SetResourceDefinitionId(v string) *DeleteResourceDefinitionInput {
10796	s.ResourceDefinitionId = &v
10797	return s
10798}
10799
10800type DeleteResourceDefinitionOutput struct {
10801	_ struct{} `type:"structure"`
10802}
10803
10804// String returns the string representation
10805func (s DeleteResourceDefinitionOutput) String() string {
10806	return awsutil.Prettify(s)
10807}
10808
10809// GoString returns the string representation
10810func (s DeleteResourceDefinitionOutput) GoString() string {
10811	return s.String()
10812}
10813
10814type DeleteSubscriptionDefinitionInput struct {
10815	_ struct{} `type:"structure"`
10816
10817	// SubscriptionDefinitionId is a required field
10818	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
10819}
10820
10821// String returns the string representation
10822func (s DeleteSubscriptionDefinitionInput) String() string {
10823	return awsutil.Prettify(s)
10824}
10825
10826// GoString returns the string representation
10827func (s DeleteSubscriptionDefinitionInput) GoString() string {
10828	return s.String()
10829}
10830
10831// Validate inspects the fields of the type to determine if they are valid.
10832func (s *DeleteSubscriptionDefinitionInput) Validate() error {
10833	invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriptionDefinitionInput"}
10834	if s.SubscriptionDefinitionId == nil {
10835		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
10836	}
10837	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
10838		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
10839	}
10840
10841	if invalidParams.Len() > 0 {
10842		return invalidParams
10843	}
10844	return nil
10845}
10846
10847// SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
10848func (s *DeleteSubscriptionDefinitionInput) SetSubscriptionDefinitionId(v string) *DeleteSubscriptionDefinitionInput {
10849	s.SubscriptionDefinitionId = &v
10850	return s
10851}
10852
10853type DeleteSubscriptionDefinitionOutput struct {
10854	_ struct{} `type:"structure"`
10855}
10856
10857// String returns the string representation
10858func (s DeleteSubscriptionDefinitionOutput) String() string {
10859	return awsutil.Prettify(s)
10860}
10861
10862// GoString returns the string representation
10863func (s DeleteSubscriptionDefinitionOutput) GoString() string {
10864	return s.String()
10865}
10866
10867// Information about a deployment.
10868type Deployment struct {
10869	_ struct{} `type:"structure"`
10870
10871	// The time, in milliseconds since the epoch, when the deployment was created.
10872	CreatedAt *string `type:"string"`
10873
10874	// The ARN of the deployment.
10875	DeploymentArn *string `type:"string"`
10876
10877	// The ID of the deployment.
10878	DeploymentId *string `type:"string"`
10879
10880	// The type of the deployment.
10881	DeploymentType *string `type:"string" enum:"DeploymentType"`
10882
10883	// The ARN of the group for this deployment.
10884	GroupArn *string `type:"string"`
10885}
10886
10887// String returns the string representation
10888func (s Deployment) String() string {
10889	return awsutil.Prettify(s)
10890}
10891
10892// GoString returns the string representation
10893func (s Deployment) GoString() string {
10894	return s.String()
10895}
10896
10897// SetCreatedAt sets the CreatedAt field's value.
10898func (s *Deployment) SetCreatedAt(v string) *Deployment {
10899	s.CreatedAt = &v
10900	return s
10901}
10902
10903// SetDeploymentArn sets the DeploymentArn field's value.
10904func (s *Deployment) SetDeploymentArn(v string) *Deployment {
10905	s.DeploymentArn = &v
10906	return s
10907}
10908
10909// SetDeploymentId sets the DeploymentId field's value.
10910func (s *Deployment) SetDeploymentId(v string) *Deployment {
10911	s.DeploymentId = &v
10912	return s
10913}
10914
10915// SetDeploymentType sets the DeploymentType field's value.
10916func (s *Deployment) SetDeploymentType(v string) *Deployment {
10917	s.DeploymentType = &v
10918	return s
10919}
10920
10921// SetGroupArn sets the GroupArn field's value.
10922func (s *Deployment) SetGroupArn(v string) *Deployment {
10923	s.GroupArn = &v
10924	return s
10925}
10926
10927// Information about a device.
10928type Device struct {
10929	_ struct{} `type:"structure"`
10930
10931	// The ARN of the certificate associated with the device.
10932	//
10933	// CertificateArn is a required field
10934	CertificateArn *string `type:"string" required:"true"`
10935
10936	// A descriptive or arbitrary ID for the device. This value must be unique within
10937	// the device definition version. Max length is 128 characters with pattern
10938	// ''[a-zA-Z0-9:_-]+''.
10939	//
10940	// Id is a required field
10941	Id *string `type:"string" required:"true"`
10942
10943	// If true, the device's local shadow will be automatically synced with the
10944	// cloud.
10945	SyncShadow *bool `type:"boolean"`
10946
10947	// The thing ARN of the device.
10948	//
10949	// ThingArn is a required field
10950	ThingArn *string `type:"string" required:"true"`
10951}
10952
10953// String returns the string representation
10954func (s Device) String() string {
10955	return awsutil.Prettify(s)
10956}
10957
10958// GoString returns the string representation
10959func (s Device) GoString() string {
10960	return s.String()
10961}
10962
10963// Validate inspects the fields of the type to determine if they are valid.
10964func (s *Device) Validate() error {
10965	invalidParams := request.ErrInvalidParams{Context: "Device"}
10966	if s.CertificateArn == nil {
10967		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
10968	}
10969	if s.Id == nil {
10970		invalidParams.Add(request.NewErrParamRequired("Id"))
10971	}
10972	if s.ThingArn == nil {
10973		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
10974	}
10975
10976	if invalidParams.Len() > 0 {
10977		return invalidParams
10978	}
10979	return nil
10980}
10981
10982// SetCertificateArn sets the CertificateArn field's value.
10983func (s *Device) SetCertificateArn(v string) *Device {
10984	s.CertificateArn = &v
10985	return s
10986}
10987
10988// SetId sets the Id field's value.
10989func (s *Device) SetId(v string) *Device {
10990	s.Id = &v
10991	return s
10992}
10993
10994// SetSyncShadow sets the SyncShadow field's value.
10995func (s *Device) SetSyncShadow(v bool) *Device {
10996	s.SyncShadow = &v
10997	return s
10998}
10999
11000// SetThingArn sets the ThingArn field's value.
11001func (s *Device) SetThingArn(v string) *Device {
11002	s.ThingArn = &v
11003	return s
11004}
11005
11006// Information about a device definition version.
11007type DeviceDefinitionVersion struct {
11008	_ struct{} `type:"structure"`
11009
11010	// A list of devices in the definition version.
11011	Devices []*Device `type:"list"`
11012}
11013
11014// String returns the string representation
11015func (s DeviceDefinitionVersion) String() string {
11016	return awsutil.Prettify(s)
11017}
11018
11019// GoString returns the string representation
11020func (s DeviceDefinitionVersion) GoString() string {
11021	return s.String()
11022}
11023
11024// Validate inspects the fields of the type to determine if they are valid.
11025func (s *DeviceDefinitionVersion) Validate() error {
11026	invalidParams := request.ErrInvalidParams{Context: "DeviceDefinitionVersion"}
11027	if s.Devices != nil {
11028		for i, v := range s.Devices {
11029			if v == nil {
11030				continue
11031			}
11032			if err := v.Validate(); err != nil {
11033				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
11034			}
11035		}
11036	}
11037
11038	if invalidParams.Len() > 0 {
11039		return invalidParams
11040	}
11041	return nil
11042}
11043
11044// SetDevices sets the Devices field's value.
11045func (s *DeviceDefinitionVersion) SetDevices(v []*Device) *DeviceDefinitionVersion {
11046	s.Devices = v
11047	return s
11048}
11049
11050type DisassociateRoleFromGroupInput struct {
11051	_ struct{} `type:"structure"`
11052
11053	// GroupId is a required field
11054	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
11055}
11056
11057// String returns the string representation
11058func (s DisassociateRoleFromGroupInput) String() string {
11059	return awsutil.Prettify(s)
11060}
11061
11062// GoString returns the string representation
11063func (s DisassociateRoleFromGroupInput) GoString() string {
11064	return s.String()
11065}
11066
11067// Validate inspects the fields of the type to determine if they are valid.
11068func (s *DisassociateRoleFromGroupInput) Validate() error {
11069	invalidParams := request.ErrInvalidParams{Context: "DisassociateRoleFromGroupInput"}
11070	if s.GroupId == nil {
11071		invalidParams.Add(request.NewErrParamRequired("GroupId"))
11072	}
11073	if s.GroupId != nil && len(*s.GroupId) < 1 {
11074		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
11075	}
11076
11077	if invalidParams.Len() > 0 {
11078		return invalidParams
11079	}
11080	return nil
11081}
11082
11083// SetGroupId sets the GroupId field's value.
11084func (s *DisassociateRoleFromGroupInput) SetGroupId(v string) *DisassociateRoleFromGroupInput {
11085	s.GroupId = &v
11086	return s
11087}
11088
11089type DisassociateRoleFromGroupOutput struct {
11090	_ struct{} `type:"structure"`
11091
11092	// The time, in milliseconds since the epoch, when the role was disassociated
11093	// from the group.
11094	DisassociatedAt *string `type:"string"`
11095}
11096
11097// String returns the string representation
11098func (s DisassociateRoleFromGroupOutput) String() string {
11099	return awsutil.Prettify(s)
11100}
11101
11102// GoString returns the string representation
11103func (s DisassociateRoleFromGroupOutput) GoString() string {
11104	return s.String()
11105}
11106
11107// SetDisassociatedAt sets the DisassociatedAt field's value.
11108func (s *DisassociateRoleFromGroupOutput) SetDisassociatedAt(v string) *DisassociateRoleFromGroupOutput {
11109	s.DisassociatedAt = &v
11110	return s
11111}
11112
11113type DisassociateServiceRoleFromAccountInput struct {
11114	_ struct{} `type:"structure"`
11115}
11116
11117// String returns the string representation
11118func (s DisassociateServiceRoleFromAccountInput) String() string {
11119	return awsutil.Prettify(s)
11120}
11121
11122// GoString returns the string representation
11123func (s DisassociateServiceRoleFromAccountInput) GoString() string {
11124	return s.String()
11125}
11126
11127type DisassociateServiceRoleFromAccountOutput struct {
11128	_ struct{} `type:"structure"`
11129
11130	// The time when the service role was disassociated from the account.
11131	DisassociatedAt *string `type:"string"`
11132}
11133
11134// String returns the string representation
11135func (s DisassociateServiceRoleFromAccountOutput) String() string {
11136	return awsutil.Prettify(s)
11137}
11138
11139// GoString returns the string representation
11140func (s DisassociateServiceRoleFromAccountOutput) GoString() string {
11141	return s.String()
11142}
11143
11144// SetDisassociatedAt sets the DisassociatedAt field's value.
11145func (s *DisassociateServiceRoleFromAccountOutput) SetDisassociatedAt(v string) *DisassociateServiceRoleFromAccountOutput {
11146	s.DisassociatedAt = &v
11147	return s
11148}
11149
11150// Details about the error.
11151type ErrorDetail struct {
11152	_ struct{} `type:"structure"`
11153
11154	// A detailed error code.
11155	DetailedErrorCode *string `type:"string"`
11156
11157	// A detailed error message.
11158	DetailedErrorMessage *string `type:"string"`
11159}
11160
11161// String returns the string representation
11162func (s ErrorDetail) String() string {
11163	return awsutil.Prettify(s)
11164}
11165
11166// GoString returns the string representation
11167func (s ErrorDetail) GoString() string {
11168	return s.String()
11169}
11170
11171// SetDetailedErrorCode sets the DetailedErrorCode field's value.
11172func (s *ErrorDetail) SetDetailedErrorCode(v string) *ErrorDetail {
11173	s.DetailedErrorCode = &v
11174	return s
11175}
11176
11177// SetDetailedErrorMessage sets the DetailedErrorMessage field's value.
11178func (s *ErrorDetail) SetDetailedErrorMessage(v string) *ErrorDetail {
11179	s.DetailedErrorMessage = &v
11180	return s
11181}
11182
11183// Information about a Lambda function.
11184type Function struct {
11185	_ struct{} `type:"structure"`
11186
11187	// The ARN of the Lambda function.
11188	FunctionArn *string `type:"string"`
11189
11190	// The configuration of the Lambda function.
11191	FunctionConfiguration *FunctionConfiguration `type:"structure"`
11192
11193	// A descriptive or arbitrary ID for the function. This value must be unique
11194	// within the function definition version. Max length is 128 characters with
11195	// pattern ''[a-zA-Z0-9:_-]+''.
11196	//
11197	// Id is a required field
11198	Id *string `type:"string" required:"true"`
11199}
11200
11201// String returns the string representation
11202func (s Function) String() string {
11203	return awsutil.Prettify(s)
11204}
11205
11206// GoString returns the string representation
11207func (s Function) GoString() string {
11208	return s.String()
11209}
11210
11211// Validate inspects the fields of the type to determine if they are valid.
11212func (s *Function) Validate() error {
11213	invalidParams := request.ErrInvalidParams{Context: "Function"}
11214	if s.Id == nil {
11215		invalidParams.Add(request.NewErrParamRequired("Id"))
11216	}
11217	if s.FunctionConfiguration != nil {
11218		if err := s.FunctionConfiguration.Validate(); err != nil {
11219			invalidParams.AddNested("FunctionConfiguration", err.(request.ErrInvalidParams))
11220		}
11221	}
11222
11223	if invalidParams.Len() > 0 {
11224		return invalidParams
11225	}
11226	return nil
11227}
11228
11229// SetFunctionArn sets the FunctionArn field's value.
11230func (s *Function) SetFunctionArn(v string) *Function {
11231	s.FunctionArn = &v
11232	return s
11233}
11234
11235// SetFunctionConfiguration sets the FunctionConfiguration field's value.
11236func (s *Function) SetFunctionConfiguration(v *FunctionConfiguration) *Function {
11237	s.FunctionConfiguration = v
11238	return s
11239}
11240
11241// SetId sets the Id field's value.
11242func (s *Function) SetId(v string) *Function {
11243	s.Id = &v
11244	return s
11245}
11246
11247// The configuration of the Lambda function.
11248type FunctionConfiguration struct {
11249	_ struct{} `type:"structure"`
11250
11251	// The expected encoding type of the input payload for the function. The default
11252	// is ''json''.
11253	EncodingType *string `type:"string" enum:"EncodingType"`
11254
11255	// The environment configuration of the function.
11256	Environment *FunctionConfigurationEnvironment `type:"structure"`
11257
11258	// The execution arguments.
11259	ExecArgs *string `type:"string"`
11260
11261	// The name of the function executable.
11262	Executable *string `type:"string"`
11263
11264	// The memory size, in KB, which the function requires. This setting is not
11265	// applicable and should be cleared when you run the Lambda function without
11266	// containerization.
11267	MemorySize *int64 `type:"integer"`
11268
11269	// True if the function is pinned. Pinned means the function is long-lived and
11270	// starts when the core starts.
11271	Pinned *bool `type:"boolean"`
11272
11273	// The allowed function execution time, after which Lambda should terminate
11274	// the function. This timeout still applies to pinned Lambda functions for each
11275	// request.
11276	Timeout *int64 `type:"integer"`
11277}
11278
11279// String returns the string representation
11280func (s FunctionConfiguration) String() string {
11281	return awsutil.Prettify(s)
11282}
11283
11284// GoString returns the string representation
11285func (s FunctionConfiguration) GoString() string {
11286	return s.String()
11287}
11288
11289// Validate inspects the fields of the type to determine if they are valid.
11290func (s *FunctionConfiguration) Validate() error {
11291	invalidParams := request.ErrInvalidParams{Context: "FunctionConfiguration"}
11292	if s.Environment != nil {
11293		if err := s.Environment.Validate(); err != nil {
11294			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
11295		}
11296	}
11297
11298	if invalidParams.Len() > 0 {
11299		return invalidParams
11300	}
11301	return nil
11302}
11303
11304// SetEncodingType sets the EncodingType field's value.
11305func (s *FunctionConfiguration) SetEncodingType(v string) *FunctionConfiguration {
11306	s.EncodingType = &v
11307	return s
11308}
11309
11310// SetEnvironment sets the Environment field's value.
11311func (s *FunctionConfiguration) SetEnvironment(v *FunctionConfigurationEnvironment) *FunctionConfiguration {
11312	s.Environment = v
11313	return s
11314}
11315
11316// SetExecArgs sets the ExecArgs field's value.
11317func (s *FunctionConfiguration) SetExecArgs(v string) *FunctionConfiguration {
11318	s.ExecArgs = &v
11319	return s
11320}
11321
11322// SetExecutable sets the Executable field's value.
11323func (s *FunctionConfiguration) SetExecutable(v string) *FunctionConfiguration {
11324	s.Executable = &v
11325	return s
11326}
11327
11328// SetMemorySize sets the MemorySize field's value.
11329func (s *FunctionConfiguration) SetMemorySize(v int64) *FunctionConfiguration {
11330	s.MemorySize = &v
11331	return s
11332}
11333
11334// SetPinned sets the Pinned field's value.
11335func (s *FunctionConfiguration) SetPinned(v bool) *FunctionConfiguration {
11336	s.Pinned = &v
11337	return s
11338}
11339
11340// SetTimeout sets the Timeout field's value.
11341func (s *FunctionConfiguration) SetTimeout(v int64) *FunctionConfiguration {
11342	s.Timeout = &v
11343	return s
11344}
11345
11346// The environment configuration of the function.
11347type FunctionConfigurationEnvironment struct {
11348	_ struct{} `type:"structure"`
11349
11350	// If true, the Lambda function is allowed to access the host's /sys folder.
11351	// Use this when the Lambda function needs to read device information from /sys.
11352	// This setting applies only when you run the Lambda function in a Greengrass
11353	// container.
11354	AccessSysfs *bool `type:"boolean"`
11355
11356	// Configuration related to executing the Lambda function
11357	Execution *FunctionExecutionConfig `type:"structure"`
11358
11359	// A list of the resources, with their permissions, to which the Lambda function
11360	// will be granted access. A Lambda function can have at most 10 resources.
11361	// ResourceAccessPolicies apply only when you run the Lambda function in a Greengrass
11362	// container.
11363	ResourceAccessPolicies []*ResourceAccessPolicy `type:"list"`
11364
11365	// Environment variables for the Lambda function's configuration.
11366	Variables map[string]*string `type:"map"`
11367}
11368
11369// String returns the string representation
11370func (s FunctionConfigurationEnvironment) String() string {
11371	return awsutil.Prettify(s)
11372}
11373
11374// GoString returns the string representation
11375func (s FunctionConfigurationEnvironment) GoString() string {
11376	return s.String()
11377}
11378
11379// Validate inspects the fields of the type to determine if they are valid.
11380func (s *FunctionConfigurationEnvironment) Validate() error {
11381	invalidParams := request.ErrInvalidParams{Context: "FunctionConfigurationEnvironment"}
11382	if s.ResourceAccessPolicies != nil {
11383		for i, v := range s.ResourceAccessPolicies {
11384			if v == nil {
11385				continue
11386			}
11387			if err := v.Validate(); err != nil {
11388				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceAccessPolicies", i), err.(request.ErrInvalidParams))
11389			}
11390		}
11391	}
11392
11393	if invalidParams.Len() > 0 {
11394		return invalidParams
11395	}
11396	return nil
11397}
11398
11399// SetAccessSysfs sets the AccessSysfs field's value.
11400func (s *FunctionConfigurationEnvironment) SetAccessSysfs(v bool) *FunctionConfigurationEnvironment {
11401	s.AccessSysfs = &v
11402	return s
11403}
11404
11405// SetExecution sets the Execution field's value.
11406func (s *FunctionConfigurationEnvironment) SetExecution(v *FunctionExecutionConfig) *FunctionConfigurationEnvironment {
11407	s.Execution = v
11408	return s
11409}
11410
11411// SetResourceAccessPolicies sets the ResourceAccessPolicies field's value.
11412func (s *FunctionConfigurationEnvironment) SetResourceAccessPolicies(v []*ResourceAccessPolicy) *FunctionConfigurationEnvironment {
11413	s.ResourceAccessPolicies = v
11414	return s
11415}
11416
11417// SetVariables sets the Variables field's value.
11418func (s *FunctionConfigurationEnvironment) SetVariables(v map[string]*string) *FunctionConfigurationEnvironment {
11419	s.Variables = v
11420	return s
11421}
11422
11423// The default configuration that applies to all Lambda functions in the group.
11424// Individual Lambda functions can override these settings.
11425type FunctionDefaultConfig struct {
11426	_ struct{} `type:"structure"`
11427
11428	// Configuration information that specifies how a Lambda function runs.
11429	Execution *FunctionDefaultExecutionConfig `type:"structure"`
11430}
11431
11432// String returns the string representation
11433func (s FunctionDefaultConfig) String() string {
11434	return awsutil.Prettify(s)
11435}
11436
11437// GoString returns the string representation
11438func (s FunctionDefaultConfig) GoString() string {
11439	return s.String()
11440}
11441
11442// SetExecution sets the Execution field's value.
11443func (s *FunctionDefaultConfig) SetExecution(v *FunctionDefaultExecutionConfig) *FunctionDefaultConfig {
11444	s.Execution = v
11445	return s
11446}
11447
11448// Configuration information that specifies how a Lambda function runs.
11449type FunctionDefaultExecutionConfig struct {
11450	_ struct{} `type:"structure"`
11451
11452	// Specifies whether the Lambda function runs in a Greengrass container (default)
11453	// or without containerization. Unless your scenario requires that you run without
11454	// containerization, we recommend that you run in a Greengrass container. Omit
11455	// this value to run the Lambda function with the default containerization for
11456	// the group.
11457	IsolationMode *string `type:"string" enum:"FunctionIsolationMode"`
11458
11459	// Specifies the user and group whose permissions are used when running the
11460	// Lambda function. You can specify one or both values to override the default
11461	// values. We recommend that you avoid running as root unless absolutely necessary
11462	// to minimize the risk of unintended changes or malicious attacks. To run as
11463	// root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json
11464	// in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''.
11465	RunAs *FunctionRunAsConfig `type:"structure"`
11466}
11467
11468// String returns the string representation
11469func (s FunctionDefaultExecutionConfig) String() string {
11470	return awsutil.Prettify(s)
11471}
11472
11473// GoString returns the string representation
11474func (s FunctionDefaultExecutionConfig) GoString() string {
11475	return s.String()
11476}
11477
11478// SetIsolationMode sets the IsolationMode field's value.
11479func (s *FunctionDefaultExecutionConfig) SetIsolationMode(v string) *FunctionDefaultExecutionConfig {
11480	s.IsolationMode = &v
11481	return s
11482}
11483
11484// SetRunAs sets the RunAs field's value.
11485func (s *FunctionDefaultExecutionConfig) SetRunAs(v *FunctionRunAsConfig) *FunctionDefaultExecutionConfig {
11486	s.RunAs = v
11487	return s
11488}
11489
11490// Information about a function definition version.
11491type FunctionDefinitionVersion struct {
11492	_ struct{} `type:"structure"`
11493
11494	// The default configuration that applies to all Lambda functions in this function
11495	// definition version. Individual Lambda functions can override these settings.
11496	DefaultConfig *FunctionDefaultConfig `type:"structure"`
11497
11498	// A list of Lambda functions in this function definition version.
11499	Functions []*Function `type:"list"`
11500}
11501
11502// String returns the string representation
11503func (s FunctionDefinitionVersion) String() string {
11504	return awsutil.Prettify(s)
11505}
11506
11507// GoString returns the string representation
11508func (s FunctionDefinitionVersion) GoString() string {
11509	return s.String()
11510}
11511
11512// Validate inspects the fields of the type to determine if they are valid.
11513func (s *FunctionDefinitionVersion) Validate() error {
11514	invalidParams := request.ErrInvalidParams{Context: "FunctionDefinitionVersion"}
11515	if s.Functions != nil {
11516		for i, v := range s.Functions {
11517			if v == nil {
11518				continue
11519			}
11520			if err := v.Validate(); err != nil {
11521				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams))
11522			}
11523		}
11524	}
11525
11526	if invalidParams.Len() > 0 {
11527		return invalidParams
11528	}
11529	return nil
11530}
11531
11532// SetDefaultConfig sets the DefaultConfig field's value.
11533func (s *FunctionDefinitionVersion) SetDefaultConfig(v *FunctionDefaultConfig) *FunctionDefinitionVersion {
11534	s.DefaultConfig = v
11535	return s
11536}
11537
11538// SetFunctions sets the Functions field's value.
11539func (s *FunctionDefinitionVersion) SetFunctions(v []*Function) *FunctionDefinitionVersion {
11540	s.Functions = v
11541	return s
11542}
11543
11544// Configuration information that specifies how a Lambda function runs.
11545type FunctionExecutionConfig struct {
11546	_ struct{} `type:"structure"`
11547
11548	// Specifies whether the Lambda function runs in a Greengrass container (default)
11549	// or without containerization. Unless your scenario requires that you run without
11550	// containerization, we recommend that you run in a Greengrass container. Omit
11551	// this value to run the Lambda function with the default containerization for
11552	// the group.
11553	IsolationMode *string `type:"string" enum:"FunctionIsolationMode"`
11554
11555	// Specifies the user and group whose permissions are used when running the
11556	// Lambda function. You can specify one or both values to override the default
11557	// values. We recommend that you avoid running as root unless absolutely necessary
11558	// to minimize the risk of unintended changes or malicious attacks. To run as
11559	// root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json
11560	// in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''.
11561	RunAs *FunctionRunAsConfig `type:"structure"`
11562}
11563
11564// String returns the string representation
11565func (s FunctionExecutionConfig) String() string {
11566	return awsutil.Prettify(s)
11567}
11568
11569// GoString returns the string representation
11570func (s FunctionExecutionConfig) GoString() string {
11571	return s.String()
11572}
11573
11574// SetIsolationMode sets the IsolationMode field's value.
11575func (s *FunctionExecutionConfig) SetIsolationMode(v string) *FunctionExecutionConfig {
11576	s.IsolationMode = &v
11577	return s
11578}
11579
11580// SetRunAs sets the RunAs field's value.
11581func (s *FunctionExecutionConfig) SetRunAs(v *FunctionRunAsConfig) *FunctionExecutionConfig {
11582	s.RunAs = v
11583	return s
11584}
11585
11586// Specifies the user and group whose permissions are used when running the
11587// Lambda function. You can specify one or both values to override the default
11588// values. We recommend that you avoid running as root unless absolutely necessary
11589// to minimize the risk of unintended changes or malicious attacks. To run as
11590// root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json
11591// in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''.
11592type FunctionRunAsConfig struct {
11593	_ struct{} `type:"structure"`
11594
11595	// The group ID whose permissions are used to run a Lambda function.
11596	Gid *int64 `type:"integer"`
11597
11598	// The user ID whose permissions are used to run a Lambda function.
11599	Uid *int64 `type:"integer"`
11600}
11601
11602// String returns the string representation
11603func (s FunctionRunAsConfig) String() string {
11604	return awsutil.Prettify(s)
11605}
11606
11607// GoString returns the string representation
11608func (s FunctionRunAsConfig) GoString() string {
11609	return s.String()
11610}
11611
11612// SetGid sets the Gid field's value.
11613func (s *FunctionRunAsConfig) SetGid(v int64) *FunctionRunAsConfig {
11614	s.Gid = &v
11615	return s
11616}
11617
11618// SetUid sets the Uid field's value.
11619func (s *FunctionRunAsConfig) SetUid(v int64) *FunctionRunAsConfig {
11620	s.Uid = &v
11621	return s
11622}
11623
11624type GetAssociatedRoleInput struct {
11625	_ struct{} `type:"structure"`
11626
11627	// GroupId is a required field
11628	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
11629}
11630
11631// String returns the string representation
11632func (s GetAssociatedRoleInput) String() string {
11633	return awsutil.Prettify(s)
11634}
11635
11636// GoString returns the string representation
11637func (s GetAssociatedRoleInput) GoString() string {
11638	return s.String()
11639}
11640
11641// Validate inspects the fields of the type to determine if they are valid.
11642func (s *GetAssociatedRoleInput) Validate() error {
11643	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedRoleInput"}
11644	if s.GroupId == nil {
11645		invalidParams.Add(request.NewErrParamRequired("GroupId"))
11646	}
11647	if s.GroupId != nil && len(*s.GroupId) < 1 {
11648		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
11649	}
11650
11651	if invalidParams.Len() > 0 {
11652		return invalidParams
11653	}
11654	return nil
11655}
11656
11657// SetGroupId sets the GroupId field's value.
11658func (s *GetAssociatedRoleInput) SetGroupId(v string) *GetAssociatedRoleInput {
11659	s.GroupId = &v
11660	return s
11661}
11662
11663type GetAssociatedRoleOutput struct {
11664	_ struct{} `type:"structure"`
11665
11666	// The time when the role was associated with the group.
11667	AssociatedAt *string `type:"string"`
11668
11669	// The ARN of the role that is associated with the group.
11670	RoleArn *string `type:"string"`
11671}
11672
11673// String returns the string representation
11674func (s GetAssociatedRoleOutput) String() string {
11675	return awsutil.Prettify(s)
11676}
11677
11678// GoString returns the string representation
11679func (s GetAssociatedRoleOutput) GoString() string {
11680	return s.String()
11681}
11682
11683// SetAssociatedAt sets the AssociatedAt field's value.
11684func (s *GetAssociatedRoleOutput) SetAssociatedAt(v string) *GetAssociatedRoleOutput {
11685	s.AssociatedAt = &v
11686	return s
11687}
11688
11689// SetRoleArn sets the RoleArn field's value.
11690func (s *GetAssociatedRoleOutput) SetRoleArn(v string) *GetAssociatedRoleOutput {
11691	s.RoleArn = &v
11692	return s
11693}
11694
11695type GetBulkDeploymentStatusInput struct {
11696	_ struct{} `type:"structure"`
11697
11698	// BulkDeploymentId is a required field
11699	BulkDeploymentId *string `location:"uri" locationName:"BulkDeploymentId" type:"string" required:"true"`
11700}
11701
11702// String returns the string representation
11703func (s GetBulkDeploymentStatusInput) String() string {
11704	return awsutil.Prettify(s)
11705}
11706
11707// GoString returns the string representation
11708func (s GetBulkDeploymentStatusInput) GoString() string {
11709	return s.String()
11710}
11711
11712// Validate inspects the fields of the type to determine if they are valid.
11713func (s *GetBulkDeploymentStatusInput) Validate() error {
11714	invalidParams := request.ErrInvalidParams{Context: "GetBulkDeploymentStatusInput"}
11715	if s.BulkDeploymentId == nil {
11716		invalidParams.Add(request.NewErrParamRequired("BulkDeploymentId"))
11717	}
11718	if s.BulkDeploymentId != nil && len(*s.BulkDeploymentId) < 1 {
11719		invalidParams.Add(request.NewErrParamMinLen("BulkDeploymentId", 1))
11720	}
11721
11722	if invalidParams.Len() > 0 {
11723		return invalidParams
11724	}
11725	return nil
11726}
11727
11728// SetBulkDeploymentId sets the BulkDeploymentId field's value.
11729func (s *GetBulkDeploymentStatusInput) SetBulkDeploymentId(v string) *GetBulkDeploymentStatusInput {
11730	s.BulkDeploymentId = &v
11731	return s
11732}
11733
11734// Information about the status of a bulk deployment at the time of the request.
11735type GetBulkDeploymentStatusOutput struct {
11736	_ struct{} `type:"structure"`
11737
11738	// Relevant metrics on input records processed during bulk deployment.
11739	BulkDeploymentMetrics *BulkDeploymentMetrics `type:"structure"`
11740
11741	// The status of the bulk deployment.
11742	BulkDeploymentStatus *string `type:"string" enum:"BulkDeploymentStatus"`
11743
11744	// The time, in ISO format, when the deployment was created.
11745	CreatedAt *string `type:"string"`
11746
11747	// Error details
11748	ErrorDetails []*ErrorDetail `type:"list"`
11749
11750	// Error message
11751	ErrorMessage *string `type:"string"`
11752
11753	// The key-value pair for the resource tag.
11754	Tags map[string]*string `locationName:"tags" type:"map"`
11755}
11756
11757// String returns the string representation
11758func (s GetBulkDeploymentStatusOutput) String() string {
11759	return awsutil.Prettify(s)
11760}
11761
11762// GoString returns the string representation
11763func (s GetBulkDeploymentStatusOutput) GoString() string {
11764	return s.String()
11765}
11766
11767// SetBulkDeploymentMetrics sets the BulkDeploymentMetrics field's value.
11768func (s *GetBulkDeploymentStatusOutput) SetBulkDeploymentMetrics(v *BulkDeploymentMetrics) *GetBulkDeploymentStatusOutput {
11769	s.BulkDeploymentMetrics = v
11770	return s
11771}
11772
11773// SetBulkDeploymentStatus sets the BulkDeploymentStatus field's value.
11774func (s *GetBulkDeploymentStatusOutput) SetBulkDeploymentStatus(v string) *GetBulkDeploymentStatusOutput {
11775	s.BulkDeploymentStatus = &v
11776	return s
11777}
11778
11779// SetCreatedAt sets the CreatedAt field's value.
11780func (s *GetBulkDeploymentStatusOutput) SetCreatedAt(v string) *GetBulkDeploymentStatusOutput {
11781	s.CreatedAt = &v
11782	return s
11783}
11784
11785// SetErrorDetails sets the ErrorDetails field's value.
11786func (s *GetBulkDeploymentStatusOutput) SetErrorDetails(v []*ErrorDetail) *GetBulkDeploymentStatusOutput {
11787	s.ErrorDetails = v
11788	return s
11789}
11790
11791// SetErrorMessage sets the ErrorMessage field's value.
11792func (s *GetBulkDeploymentStatusOutput) SetErrorMessage(v string) *GetBulkDeploymentStatusOutput {
11793	s.ErrorMessage = &v
11794	return s
11795}
11796
11797// SetTags sets the Tags field's value.
11798func (s *GetBulkDeploymentStatusOutput) SetTags(v map[string]*string) *GetBulkDeploymentStatusOutput {
11799	s.Tags = v
11800	return s
11801}
11802
11803type GetConnectivityInfoInput struct {
11804	_ struct{} `type:"structure"`
11805
11806	// ThingName is a required field
11807	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
11808}
11809
11810// String returns the string representation
11811func (s GetConnectivityInfoInput) String() string {
11812	return awsutil.Prettify(s)
11813}
11814
11815// GoString returns the string representation
11816func (s GetConnectivityInfoInput) GoString() string {
11817	return s.String()
11818}
11819
11820// Validate inspects the fields of the type to determine if they are valid.
11821func (s *GetConnectivityInfoInput) Validate() error {
11822	invalidParams := request.ErrInvalidParams{Context: "GetConnectivityInfoInput"}
11823	if s.ThingName == nil {
11824		invalidParams.Add(request.NewErrParamRequired("ThingName"))
11825	}
11826	if s.ThingName != nil && len(*s.ThingName) < 1 {
11827		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
11828	}
11829
11830	if invalidParams.Len() > 0 {
11831		return invalidParams
11832	}
11833	return nil
11834}
11835
11836// SetThingName sets the ThingName field's value.
11837func (s *GetConnectivityInfoInput) SetThingName(v string) *GetConnectivityInfoInput {
11838	s.ThingName = &v
11839	return s
11840}
11841
11842// Information about a Greengrass core's connectivity.
11843type GetConnectivityInfoOutput struct {
11844	_ struct{} `type:"structure"`
11845
11846	// Connectivity info list.
11847	ConnectivityInfo []*ConnectivityInfo `type:"list"`
11848
11849	// A message about the connectivity info request.
11850	Message *string `locationName:"message" type:"string"`
11851}
11852
11853// String returns the string representation
11854func (s GetConnectivityInfoOutput) String() string {
11855	return awsutil.Prettify(s)
11856}
11857
11858// GoString returns the string representation
11859func (s GetConnectivityInfoOutput) GoString() string {
11860	return s.String()
11861}
11862
11863// SetConnectivityInfo sets the ConnectivityInfo field's value.
11864func (s *GetConnectivityInfoOutput) SetConnectivityInfo(v []*ConnectivityInfo) *GetConnectivityInfoOutput {
11865	s.ConnectivityInfo = v
11866	return s
11867}
11868
11869// SetMessage sets the Message field's value.
11870func (s *GetConnectivityInfoOutput) SetMessage(v string) *GetConnectivityInfoOutput {
11871	s.Message = &v
11872	return s
11873}
11874
11875type GetConnectorDefinitionInput struct {
11876	_ struct{} `type:"structure"`
11877
11878	// ConnectorDefinitionId is a required field
11879	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
11880}
11881
11882// String returns the string representation
11883func (s GetConnectorDefinitionInput) String() string {
11884	return awsutil.Prettify(s)
11885}
11886
11887// GoString returns the string representation
11888func (s GetConnectorDefinitionInput) GoString() string {
11889	return s.String()
11890}
11891
11892// Validate inspects the fields of the type to determine if they are valid.
11893func (s *GetConnectorDefinitionInput) Validate() error {
11894	invalidParams := request.ErrInvalidParams{Context: "GetConnectorDefinitionInput"}
11895	if s.ConnectorDefinitionId == nil {
11896		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
11897	}
11898	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
11899		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
11900	}
11901
11902	if invalidParams.Len() > 0 {
11903		return invalidParams
11904	}
11905	return nil
11906}
11907
11908// SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
11909func (s *GetConnectorDefinitionInput) SetConnectorDefinitionId(v string) *GetConnectorDefinitionInput {
11910	s.ConnectorDefinitionId = &v
11911	return s
11912}
11913
11914type GetConnectorDefinitionOutput struct {
11915	_ struct{} `type:"structure"`
11916
11917	Arn *string `type:"string"`
11918
11919	CreationTimestamp *string `type:"string"`
11920
11921	Id *string `type:"string"`
11922
11923	LastUpdatedTimestamp *string `type:"string"`
11924
11925	LatestVersion *string `type:"string"`
11926
11927	LatestVersionArn *string `type:"string"`
11928
11929	Name *string `type:"string"`
11930
11931	// The key-value pair for the resource tag.
11932	Tags map[string]*string `locationName:"tags" type:"map"`
11933}
11934
11935// String returns the string representation
11936func (s GetConnectorDefinitionOutput) String() string {
11937	return awsutil.Prettify(s)
11938}
11939
11940// GoString returns the string representation
11941func (s GetConnectorDefinitionOutput) GoString() string {
11942	return s.String()
11943}
11944
11945// SetArn sets the Arn field's value.
11946func (s *GetConnectorDefinitionOutput) SetArn(v string) *GetConnectorDefinitionOutput {
11947	s.Arn = &v
11948	return s
11949}
11950
11951// SetCreationTimestamp sets the CreationTimestamp field's value.
11952func (s *GetConnectorDefinitionOutput) SetCreationTimestamp(v string) *GetConnectorDefinitionOutput {
11953	s.CreationTimestamp = &v
11954	return s
11955}
11956
11957// SetId sets the Id field's value.
11958func (s *GetConnectorDefinitionOutput) SetId(v string) *GetConnectorDefinitionOutput {
11959	s.Id = &v
11960	return s
11961}
11962
11963// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
11964func (s *GetConnectorDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetConnectorDefinitionOutput {
11965	s.LastUpdatedTimestamp = &v
11966	return s
11967}
11968
11969// SetLatestVersion sets the LatestVersion field's value.
11970func (s *GetConnectorDefinitionOutput) SetLatestVersion(v string) *GetConnectorDefinitionOutput {
11971	s.LatestVersion = &v
11972	return s
11973}
11974
11975// SetLatestVersionArn sets the LatestVersionArn field's value.
11976func (s *GetConnectorDefinitionOutput) SetLatestVersionArn(v string) *GetConnectorDefinitionOutput {
11977	s.LatestVersionArn = &v
11978	return s
11979}
11980
11981// SetName sets the Name field's value.
11982func (s *GetConnectorDefinitionOutput) SetName(v string) *GetConnectorDefinitionOutput {
11983	s.Name = &v
11984	return s
11985}
11986
11987// SetTags sets the Tags field's value.
11988func (s *GetConnectorDefinitionOutput) SetTags(v map[string]*string) *GetConnectorDefinitionOutput {
11989	s.Tags = v
11990	return s
11991}
11992
11993type GetConnectorDefinitionVersionInput struct {
11994	_ struct{} `type:"structure"`
11995
11996	// ConnectorDefinitionId is a required field
11997	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
11998
11999	// ConnectorDefinitionVersionId is a required field
12000	ConnectorDefinitionVersionId *string `location:"uri" locationName:"ConnectorDefinitionVersionId" type:"string" required:"true"`
12001
12002	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
12003}
12004
12005// String returns the string representation
12006func (s GetConnectorDefinitionVersionInput) String() string {
12007	return awsutil.Prettify(s)
12008}
12009
12010// GoString returns the string representation
12011func (s GetConnectorDefinitionVersionInput) GoString() string {
12012	return s.String()
12013}
12014
12015// Validate inspects the fields of the type to determine if they are valid.
12016func (s *GetConnectorDefinitionVersionInput) Validate() error {
12017	invalidParams := request.ErrInvalidParams{Context: "GetConnectorDefinitionVersionInput"}
12018	if s.ConnectorDefinitionId == nil {
12019		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
12020	}
12021	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
12022		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
12023	}
12024	if s.ConnectorDefinitionVersionId == nil {
12025		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionVersionId"))
12026	}
12027	if s.ConnectorDefinitionVersionId != nil && len(*s.ConnectorDefinitionVersionId) < 1 {
12028		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionVersionId", 1))
12029	}
12030
12031	if invalidParams.Len() > 0 {
12032		return invalidParams
12033	}
12034	return nil
12035}
12036
12037// SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
12038func (s *GetConnectorDefinitionVersionInput) SetConnectorDefinitionId(v string) *GetConnectorDefinitionVersionInput {
12039	s.ConnectorDefinitionId = &v
12040	return s
12041}
12042
12043// SetConnectorDefinitionVersionId sets the ConnectorDefinitionVersionId field's value.
12044func (s *GetConnectorDefinitionVersionInput) SetConnectorDefinitionVersionId(v string) *GetConnectorDefinitionVersionInput {
12045	s.ConnectorDefinitionVersionId = &v
12046	return s
12047}
12048
12049// SetNextToken sets the NextToken field's value.
12050func (s *GetConnectorDefinitionVersionInput) SetNextToken(v string) *GetConnectorDefinitionVersionInput {
12051	s.NextToken = &v
12052	return s
12053}
12054
12055// Information about a connector definition version.
12056type GetConnectorDefinitionVersionOutput struct {
12057	_ struct{} `type:"structure"`
12058
12059	// The ARN of the connector definition version.
12060	Arn *string `type:"string"`
12061
12062	// The time, in milliseconds since the epoch, when the connector definition
12063	// version was created.
12064	CreationTimestamp *string `type:"string"`
12065
12066	// Information about the connector definition version.
12067	Definition *ConnectorDefinitionVersion `type:"structure"`
12068
12069	// The ID of the connector definition version.
12070	Id *string `type:"string"`
12071
12072	// The token for the next set of results, or ''null'' if there are no additional
12073	// results.
12074	NextToken *string `type:"string"`
12075
12076	// The version of the connector definition version.
12077	Version *string `type:"string"`
12078}
12079
12080// String returns the string representation
12081func (s GetConnectorDefinitionVersionOutput) String() string {
12082	return awsutil.Prettify(s)
12083}
12084
12085// GoString returns the string representation
12086func (s GetConnectorDefinitionVersionOutput) GoString() string {
12087	return s.String()
12088}
12089
12090// SetArn sets the Arn field's value.
12091func (s *GetConnectorDefinitionVersionOutput) SetArn(v string) *GetConnectorDefinitionVersionOutput {
12092	s.Arn = &v
12093	return s
12094}
12095
12096// SetCreationTimestamp sets the CreationTimestamp field's value.
12097func (s *GetConnectorDefinitionVersionOutput) SetCreationTimestamp(v string) *GetConnectorDefinitionVersionOutput {
12098	s.CreationTimestamp = &v
12099	return s
12100}
12101
12102// SetDefinition sets the Definition field's value.
12103func (s *GetConnectorDefinitionVersionOutput) SetDefinition(v *ConnectorDefinitionVersion) *GetConnectorDefinitionVersionOutput {
12104	s.Definition = v
12105	return s
12106}
12107
12108// SetId sets the Id field's value.
12109func (s *GetConnectorDefinitionVersionOutput) SetId(v string) *GetConnectorDefinitionVersionOutput {
12110	s.Id = &v
12111	return s
12112}
12113
12114// SetNextToken sets the NextToken field's value.
12115func (s *GetConnectorDefinitionVersionOutput) SetNextToken(v string) *GetConnectorDefinitionVersionOutput {
12116	s.NextToken = &v
12117	return s
12118}
12119
12120// SetVersion sets the Version field's value.
12121func (s *GetConnectorDefinitionVersionOutput) SetVersion(v string) *GetConnectorDefinitionVersionOutput {
12122	s.Version = &v
12123	return s
12124}
12125
12126type GetCoreDefinitionInput struct {
12127	_ struct{} `type:"structure"`
12128
12129	// CoreDefinitionId is a required field
12130	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
12131}
12132
12133// String returns the string representation
12134func (s GetCoreDefinitionInput) String() string {
12135	return awsutil.Prettify(s)
12136}
12137
12138// GoString returns the string representation
12139func (s GetCoreDefinitionInput) GoString() string {
12140	return s.String()
12141}
12142
12143// Validate inspects the fields of the type to determine if they are valid.
12144func (s *GetCoreDefinitionInput) Validate() error {
12145	invalidParams := request.ErrInvalidParams{Context: "GetCoreDefinitionInput"}
12146	if s.CoreDefinitionId == nil {
12147		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
12148	}
12149	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
12150		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
12151	}
12152
12153	if invalidParams.Len() > 0 {
12154		return invalidParams
12155	}
12156	return nil
12157}
12158
12159// SetCoreDefinitionId sets the CoreDefinitionId field's value.
12160func (s *GetCoreDefinitionInput) SetCoreDefinitionId(v string) *GetCoreDefinitionInput {
12161	s.CoreDefinitionId = &v
12162	return s
12163}
12164
12165type GetCoreDefinitionOutput struct {
12166	_ struct{} `type:"structure"`
12167
12168	Arn *string `type:"string"`
12169
12170	CreationTimestamp *string `type:"string"`
12171
12172	Id *string `type:"string"`
12173
12174	LastUpdatedTimestamp *string `type:"string"`
12175
12176	LatestVersion *string `type:"string"`
12177
12178	LatestVersionArn *string `type:"string"`
12179
12180	Name *string `type:"string"`
12181
12182	// The key-value pair for the resource tag.
12183	Tags map[string]*string `locationName:"tags" type:"map"`
12184}
12185
12186// String returns the string representation
12187func (s GetCoreDefinitionOutput) String() string {
12188	return awsutil.Prettify(s)
12189}
12190
12191// GoString returns the string representation
12192func (s GetCoreDefinitionOutput) GoString() string {
12193	return s.String()
12194}
12195
12196// SetArn sets the Arn field's value.
12197func (s *GetCoreDefinitionOutput) SetArn(v string) *GetCoreDefinitionOutput {
12198	s.Arn = &v
12199	return s
12200}
12201
12202// SetCreationTimestamp sets the CreationTimestamp field's value.
12203func (s *GetCoreDefinitionOutput) SetCreationTimestamp(v string) *GetCoreDefinitionOutput {
12204	s.CreationTimestamp = &v
12205	return s
12206}
12207
12208// SetId sets the Id field's value.
12209func (s *GetCoreDefinitionOutput) SetId(v string) *GetCoreDefinitionOutput {
12210	s.Id = &v
12211	return s
12212}
12213
12214// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
12215func (s *GetCoreDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetCoreDefinitionOutput {
12216	s.LastUpdatedTimestamp = &v
12217	return s
12218}
12219
12220// SetLatestVersion sets the LatestVersion field's value.
12221func (s *GetCoreDefinitionOutput) SetLatestVersion(v string) *GetCoreDefinitionOutput {
12222	s.LatestVersion = &v
12223	return s
12224}
12225
12226// SetLatestVersionArn sets the LatestVersionArn field's value.
12227func (s *GetCoreDefinitionOutput) SetLatestVersionArn(v string) *GetCoreDefinitionOutput {
12228	s.LatestVersionArn = &v
12229	return s
12230}
12231
12232// SetName sets the Name field's value.
12233func (s *GetCoreDefinitionOutput) SetName(v string) *GetCoreDefinitionOutput {
12234	s.Name = &v
12235	return s
12236}
12237
12238// SetTags sets the Tags field's value.
12239func (s *GetCoreDefinitionOutput) SetTags(v map[string]*string) *GetCoreDefinitionOutput {
12240	s.Tags = v
12241	return s
12242}
12243
12244type GetCoreDefinitionVersionInput struct {
12245	_ struct{} `type:"structure"`
12246
12247	// CoreDefinitionId is a required field
12248	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
12249
12250	// CoreDefinitionVersionId is a required field
12251	CoreDefinitionVersionId *string `location:"uri" locationName:"CoreDefinitionVersionId" type:"string" required:"true"`
12252}
12253
12254// String returns the string representation
12255func (s GetCoreDefinitionVersionInput) String() string {
12256	return awsutil.Prettify(s)
12257}
12258
12259// GoString returns the string representation
12260func (s GetCoreDefinitionVersionInput) GoString() string {
12261	return s.String()
12262}
12263
12264// Validate inspects the fields of the type to determine if they are valid.
12265func (s *GetCoreDefinitionVersionInput) Validate() error {
12266	invalidParams := request.ErrInvalidParams{Context: "GetCoreDefinitionVersionInput"}
12267	if s.CoreDefinitionId == nil {
12268		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
12269	}
12270	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
12271		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
12272	}
12273	if s.CoreDefinitionVersionId == nil {
12274		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionVersionId"))
12275	}
12276	if s.CoreDefinitionVersionId != nil && len(*s.CoreDefinitionVersionId) < 1 {
12277		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionVersionId", 1))
12278	}
12279
12280	if invalidParams.Len() > 0 {
12281		return invalidParams
12282	}
12283	return nil
12284}
12285
12286// SetCoreDefinitionId sets the CoreDefinitionId field's value.
12287func (s *GetCoreDefinitionVersionInput) SetCoreDefinitionId(v string) *GetCoreDefinitionVersionInput {
12288	s.CoreDefinitionId = &v
12289	return s
12290}
12291
12292// SetCoreDefinitionVersionId sets the CoreDefinitionVersionId field's value.
12293func (s *GetCoreDefinitionVersionInput) SetCoreDefinitionVersionId(v string) *GetCoreDefinitionVersionInput {
12294	s.CoreDefinitionVersionId = &v
12295	return s
12296}
12297
12298type GetCoreDefinitionVersionOutput struct {
12299	_ struct{} `type:"structure"`
12300
12301	// The ARN of the core definition version.
12302	Arn *string `type:"string"`
12303
12304	// The time, in milliseconds since the epoch, when the core definition version
12305	// was created.
12306	CreationTimestamp *string `type:"string"`
12307
12308	// Information about the core definition version.
12309	Definition *CoreDefinitionVersion `type:"structure"`
12310
12311	// The ID of the core definition version.
12312	Id *string `type:"string"`
12313
12314	// The token for the next set of results, or ''null'' if there are no additional
12315	// results.
12316	NextToken *string `type:"string"`
12317
12318	// The version of the core definition version.
12319	Version *string `type:"string"`
12320}
12321
12322// String returns the string representation
12323func (s GetCoreDefinitionVersionOutput) String() string {
12324	return awsutil.Prettify(s)
12325}
12326
12327// GoString returns the string representation
12328func (s GetCoreDefinitionVersionOutput) GoString() string {
12329	return s.String()
12330}
12331
12332// SetArn sets the Arn field's value.
12333func (s *GetCoreDefinitionVersionOutput) SetArn(v string) *GetCoreDefinitionVersionOutput {
12334	s.Arn = &v
12335	return s
12336}
12337
12338// SetCreationTimestamp sets the CreationTimestamp field's value.
12339func (s *GetCoreDefinitionVersionOutput) SetCreationTimestamp(v string) *GetCoreDefinitionVersionOutput {
12340	s.CreationTimestamp = &v
12341	return s
12342}
12343
12344// SetDefinition sets the Definition field's value.
12345func (s *GetCoreDefinitionVersionOutput) SetDefinition(v *CoreDefinitionVersion) *GetCoreDefinitionVersionOutput {
12346	s.Definition = v
12347	return s
12348}
12349
12350// SetId sets the Id field's value.
12351func (s *GetCoreDefinitionVersionOutput) SetId(v string) *GetCoreDefinitionVersionOutput {
12352	s.Id = &v
12353	return s
12354}
12355
12356// SetNextToken sets the NextToken field's value.
12357func (s *GetCoreDefinitionVersionOutput) SetNextToken(v string) *GetCoreDefinitionVersionOutput {
12358	s.NextToken = &v
12359	return s
12360}
12361
12362// SetVersion sets the Version field's value.
12363func (s *GetCoreDefinitionVersionOutput) SetVersion(v string) *GetCoreDefinitionVersionOutput {
12364	s.Version = &v
12365	return s
12366}
12367
12368type GetDeploymentStatusInput struct {
12369	_ struct{} `type:"structure"`
12370
12371	// DeploymentId is a required field
12372	DeploymentId *string `location:"uri" locationName:"DeploymentId" type:"string" required:"true"`
12373
12374	// GroupId is a required field
12375	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
12376}
12377
12378// String returns the string representation
12379func (s GetDeploymentStatusInput) String() string {
12380	return awsutil.Prettify(s)
12381}
12382
12383// GoString returns the string representation
12384func (s GetDeploymentStatusInput) GoString() string {
12385	return s.String()
12386}
12387
12388// Validate inspects the fields of the type to determine if they are valid.
12389func (s *GetDeploymentStatusInput) Validate() error {
12390	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentStatusInput"}
12391	if s.DeploymentId == nil {
12392		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
12393	}
12394	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
12395		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
12396	}
12397	if s.GroupId == nil {
12398		invalidParams.Add(request.NewErrParamRequired("GroupId"))
12399	}
12400	if s.GroupId != nil && len(*s.GroupId) < 1 {
12401		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
12402	}
12403
12404	if invalidParams.Len() > 0 {
12405		return invalidParams
12406	}
12407	return nil
12408}
12409
12410// SetDeploymentId sets the DeploymentId field's value.
12411func (s *GetDeploymentStatusInput) SetDeploymentId(v string) *GetDeploymentStatusInput {
12412	s.DeploymentId = &v
12413	return s
12414}
12415
12416// SetGroupId sets the GroupId field's value.
12417func (s *GetDeploymentStatusInput) SetGroupId(v string) *GetDeploymentStatusInput {
12418	s.GroupId = &v
12419	return s
12420}
12421
12422// Information about the status of a deployment for a group.
12423type GetDeploymentStatusOutput struct {
12424	_ struct{} `type:"structure"`
12425
12426	// The status of the deployment: ''InProgress'', ''Building'', ''Success'',
12427	// or ''Failure''.
12428	DeploymentStatus *string `type:"string"`
12429
12430	// The type of the deployment.
12431	DeploymentType *string `type:"string" enum:"DeploymentType"`
12432
12433	// Error details
12434	ErrorDetails []*ErrorDetail `type:"list"`
12435
12436	// Error message
12437	ErrorMessage *string `type:"string"`
12438
12439	// The time, in milliseconds since the epoch, when the deployment status was
12440	// updated.
12441	UpdatedAt *string `type:"string"`
12442}
12443
12444// String returns the string representation
12445func (s GetDeploymentStatusOutput) String() string {
12446	return awsutil.Prettify(s)
12447}
12448
12449// GoString returns the string representation
12450func (s GetDeploymentStatusOutput) GoString() string {
12451	return s.String()
12452}
12453
12454// SetDeploymentStatus sets the DeploymentStatus field's value.
12455func (s *GetDeploymentStatusOutput) SetDeploymentStatus(v string) *GetDeploymentStatusOutput {
12456	s.DeploymentStatus = &v
12457	return s
12458}
12459
12460// SetDeploymentType sets the DeploymentType field's value.
12461func (s *GetDeploymentStatusOutput) SetDeploymentType(v string) *GetDeploymentStatusOutput {
12462	s.DeploymentType = &v
12463	return s
12464}
12465
12466// SetErrorDetails sets the ErrorDetails field's value.
12467func (s *GetDeploymentStatusOutput) SetErrorDetails(v []*ErrorDetail) *GetDeploymentStatusOutput {
12468	s.ErrorDetails = v
12469	return s
12470}
12471
12472// SetErrorMessage sets the ErrorMessage field's value.
12473func (s *GetDeploymentStatusOutput) SetErrorMessage(v string) *GetDeploymentStatusOutput {
12474	s.ErrorMessage = &v
12475	return s
12476}
12477
12478// SetUpdatedAt sets the UpdatedAt field's value.
12479func (s *GetDeploymentStatusOutput) SetUpdatedAt(v string) *GetDeploymentStatusOutput {
12480	s.UpdatedAt = &v
12481	return s
12482}
12483
12484type GetDeviceDefinitionInput struct {
12485	_ struct{} `type:"structure"`
12486
12487	// DeviceDefinitionId is a required field
12488	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
12489}
12490
12491// String returns the string representation
12492func (s GetDeviceDefinitionInput) String() string {
12493	return awsutil.Prettify(s)
12494}
12495
12496// GoString returns the string representation
12497func (s GetDeviceDefinitionInput) GoString() string {
12498	return s.String()
12499}
12500
12501// Validate inspects the fields of the type to determine if they are valid.
12502func (s *GetDeviceDefinitionInput) Validate() error {
12503	invalidParams := request.ErrInvalidParams{Context: "GetDeviceDefinitionInput"}
12504	if s.DeviceDefinitionId == nil {
12505		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
12506	}
12507	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
12508		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
12509	}
12510
12511	if invalidParams.Len() > 0 {
12512		return invalidParams
12513	}
12514	return nil
12515}
12516
12517// SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
12518func (s *GetDeviceDefinitionInput) SetDeviceDefinitionId(v string) *GetDeviceDefinitionInput {
12519	s.DeviceDefinitionId = &v
12520	return s
12521}
12522
12523type GetDeviceDefinitionOutput struct {
12524	_ struct{} `type:"structure"`
12525
12526	Arn *string `type:"string"`
12527
12528	CreationTimestamp *string `type:"string"`
12529
12530	Id *string `type:"string"`
12531
12532	LastUpdatedTimestamp *string `type:"string"`
12533
12534	LatestVersion *string `type:"string"`
12535
12536	LatestVersionArn *string `type:"string"`
12537
12538	Name *string `type:"string"`
12539
12540	// The key-value pair for the resource tag.
12541	Tags map[string]*string `locationName:"tags" type:"map"`
12542}
12543
12544// String returns the string representation
12545func (s GetDeviceDefinitionOutput) String() string {
12546	return awsutil.Prettify(s)
12547}
12548
12549// GoString returns the string representation
12550func (s GetDeviceDefinitionOutput) GoString() string {
12551	return s.String()
12552}
12553
12554// SetArn sets the Arn field's value.
12555func (s *GetDeviceDefinitionOutput) SetArn(v string) *GetDeviceDefinitionOutput {
12556	s.Arn = &v
12557	return s
12558}
12559
12560// SetCreationTimestamp sets the CreationTimestamp field's value.
12561func (s *GetDeviceDefinitionOutput) SetCreationTimestamp(v string) *GetDeviceDefinitionOutput {
12562	s.CreationTimestamp = &v
12563	return s
12564}
12565
12566// SetId sets the Id field's value.
12567func (s *GetDeviceDefinitionOutput) SetId(v string) *GetDeviceDefinitionOutput {
12568	s.Id = &v
12569	return s
12570}
12571
12572// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
12573func (s *GetDeviceDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetDeviceDefinitionOutput {
12574	s.LastUpdatedTimestamp = &v
12575	return s
12576}
12577
12578// SetLatestVersion sets the LatestVersion field's value.
12579func (s *GetDeviceDefinitionOutput) SetLatestVersion(v string) *GetDeviceDefinitionOutput {
12580	s.LatestVersion = &v
12581	return s
12582}
12583
12584// SetLatestVersionArn sets the LatestVersionArn field's value.
12585func (s *GetDeviceDefinitionOutput) SetLatestVersionArn(v string) *GetDeviceDefinitionOutput {
12586	s.LatestVersionArn = &v
12587	return s
12588}
12589
12590// SetName sets the Name field's value.
12591func (s *GetDeviceDefinitionOutput) SetName(v string) *GetDeviceDefinitionOutput {
12592	s.Name = &v
12593	return s
12594}
12595
12596// SetTags sets the Tags field's value.
12597func (s *GetDeviceDefinitionOutput) SetTags(v map[string]*string) *GetDeviceDefinitionOutput {
12598	s.Tags = v
12599	return s
12600}
12601
12602type GetDeviceDefinitionVersionInput struct {
12603	_ struct{} `type:"structure"`
12604
12605	// DeviceDefinitionId is a required field
12606	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
12607
12608	// DeviceDefinitionVersionId is a required field
12609	DeviceDefinitionVersionId *string `location:"uri" locationName:"DeviceDefinitionVersionId" type:"string" required:"true"`
12610
12611	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
12612}
12613
12614// String returns the string representation
12615func (s GetDeviceDefinitionVersionInput) String() string {
12616	return awsutil.Prettify(s)
12617}
12618
12619// GoString returns the string representation
12620func (s GetDeviceDefinitionVersionInput) GoString() string {
12621	return s.String()
12622}
12623
12624// Validate inspects the fields of the type to determine if they are valid.
12625func (s *GetDeviceDefinitionVersionInput) Validate() error {
12626	invalidParams := request.ErrInvalidParams{Context: "GetDeviceDefinitionVersionInput"}
12627	if s.DeviceDefinitionId == nil {
12628		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
12629	}
12630	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
12631		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
12632	}
12633	if s.DeviceDefinitionVersionId == nil {
12634		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionVersionId"))
12635	}
12636	if s.DeviceDefinitionVersionId != nil && len(*s.DeviceDefinitionVersionId) < 1 {
12637		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionVersionId", 1))
12638	}
12639
12640	if invalidParams.Len() > 0 {
12641		return invalidParams
12642	}
12643	return nil
12644}
12645
12646// SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
12647func (s *GetDeviceDefinitionVersionInput) SetDeviceDefinitionId(v string) *GetDeviceDefinitionVersionInput {
12648	s.DeviceDefinitionId = &v
12649	return s
12650}
12651
12652// SetDeviceDefinitionVersionId sets the DeviceDefinitionVersionId field's value.
12653func (s *GetDeviceDefinitionVersionInput) SetDeviceDefinitionVersionId(v string) *GetDeviceDefinitionVersionInput {
12654	s.DeviceDefinitionVersionId = &v
12655	return s
12656}
12657
12658// SetNextToken sets the NextToken field's value.
12659func (s *GetDeviceDefinitionVersionInput) SetNextToken(v string) *GetDeviceDefinitionVersionInput {
12660	s.NextToken = &v
12661	return s
12662}
12663
12664type GetDeviceDefinitionVersionOutput struct {
12665	_ struct{} `type:"structure"`
12666
12667	// The ARN of the device definition version.
12668	Arn *string `type:"string"`
12669
12670	// The time, in milliseconds since the epoch, when the device definition version
12671	// was created.
12672	CreationTimestamp *string `type:"string"`
12673
12674	// Information about the device definition version.
12675	Definition *DeviceDefinitionVersion `type:"structure"`
12676
12677	// The ID of the device definition version.
12678	Id *string `type:"string"`
12679
12680	// The token for the next set of results, or ''null'' if there are no additional
12681	// results.
12682	NextToken *string `type:"string"`
12683
12684	// The version of the device definition version.
12685	Version *string `type:"string"`
12686}
12687
12688// String returns the string representation
12689func (s GetDeviceDefinitionVersionOutput) String() string {
12690	return awsutil.Prettify(s)
12691}
12692
12693// GoString returns the string representation
12694func (s GetDeviceDefinitionVersionOutput) GoString() string {
12695	return s.String()
12696}
12697
12698// SetArn sets the Arn field's value.
12699func (s *GetDeviceDefinitionVersionOutput) SetArn(v string) *GetDeviceDefinitionVersionOutput {
12700	s.Arn = &v
12701	return s
12702}
12703
12704// SetCreationTimestamp sets the CreationTimestamp field's value.
12705func (s *GetDeviceDefinitionVersionOutput) SetCreationTimestamp(v string) *GetDeviceDefinitionVersionOutput {
12706	s.CreationTimestamp = &v
12707	return s
12708}
12709
12710// SetDefinition sets the Definition field's value.
12711func (s *GetDeviceDefinitionVersionOutput) SetDefinition(v *DeviceDefinitionVersion) *GetDeviceDefinitionVersionOutput {
12712	s.Definition = v
12713	return s
12714}
12715
12716// SetId sets the Id field's value.
12717func (s *GetDeviceDefinitionVersionOutput) SetId(v string) *GetDeviceDefinitionVersionOutput {
12718	s.Id = &v
12719	return s
12720}
12721
12722// SetNextToken sets the NextToken field's value.
12723func (s *GetDeviceDefinitionVersionOutput) SetNextToken(v string) *GetDeviceDefinitionVersionOutput {
12724	s.NextToken = &v
12725	return s
12726}
12727
12728// SetVersion sets the Version field's value.
12729func (s *GetDeviceDefinitionVersionOutput) SetVersion(v string) *GetDeviceDefinitionVersionOutput {
12730	s.Version = &v
12731	return s
12732}
12733
12734type GetFunctionDefinitionInput struct {
12735	_ struct{} `type:"structure"`
12736
12737	// FunctionDefinitionId is a required field
12738	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
12739}
12740
12741// String returns the string representation
12742func (s GetFunctionDefinitionInput) String() string {
12743	return awsutil.Prettify(s)
12744}
12745
12746// GoString returns the string representation
12747func (s GetFunctionDefinitionInput) GoString() string {
12748	return s.String()
12749}
12750
12751// Validate inspects the fields of the type to determine if they are valid.
12752func (s *GetFunctionDefinitionInput) Validate() error {
12753	invalidParams := request.ErrInvalidParams{Context: "GetFunctionDefinitionInput"}
12754	if s.FunctionDefinitionId == nil {
12755		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
12756	}
12757	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
12758		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
12759	}
12760
12761	if invalidParams.Len() > 0 {
12762		return invalidParams
12763	}
12764	return nil
12765}
12766
12767// SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
12768func (s *GetFunctionDefinitionInput) SetFunctionDefinitionId(v string) *GetFunctionDefinitionInput {
12769	s.FunctionDefinitionId = &v
12770	return s
12771}
12772
12773type GetFunctionDefinitionOutput struct {
12774	_ struct{} `type:"structure"`
12775
12776	Arn *string `type:"string"`
12777
12778	CreationTimestamp *string `type:"string"`
12779
12780	Id *string `type:"string"`
12781
12782	LastUpdatedTimestamp *string `type:"string"`
12783
12784	LatestVersion *string `type:"string"`
12785
12786	LatestVersionArn *string `type:"string"`
12787
12788	Name *string `type:"string"`
12789
12790	// The key-value pair for the resource tag.
12791	Tags map[string]*string `locationName:"tags" type:"map"`
12792}
12793
12794// String returns the string representation
12795func (s GetFunctionDefinitionOutput) String() string {
12796	return awsutil.Prettify(s)
12797}
12798
12799// GoString returns the string representation
12800func (s GetFunctionDefinitionOutput) GoString() string {
12801	return s.String()
12802}
12803
12804// SetArn sets the Arn field's value.
12805func (s *GetFunctionDefinitionOutput) SetArn(v string) *GetFunctionDefinitionOutput {
12806	s.Arn = &v
12807	return s
12808}
12809
12810// SetCreationTimestamp sets the CreationTimestamp field's value.
12811func (s *GetFunctionDefinitionOutput) SetCreationTimestamp(v string) *GetFunctionDefinitionOutput {
12812	s.CreationTimestamp = &v
12813	return s
12814}
12815
12816// SetId sets the Id field's value.
12817func (s *GetFunctionDefinitionOutput) SetId(v string) *GetFunctionDefinitionOutput {
12818	s.Id = &v
12819	return s
12820}
12821
12822// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
12823func (s *GetFunctionDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetFunctionDefinitionOutput {
12824	s.LastUpdatedTimestamp = &v
12825	return s
12826}
12827
12828// SetLatestVersion sets the LatestVersion field's value.
12829func (s *GetFunctionDefinitionOutput) SetLatestVersion(v string) *GetFunctionDefinitionOutput {
12830	s.LatestVersion = &v
12831	return s
12832}
12833
12834// SetLatestVersionArn sets the LatestVersionArn field's value.
12835func (s *GetFunctionDefinitionOutput) SetLatestVersionArn(v string) *GetFunctionDefinitionOutput {
12836	s.LatestVersionArn = &v
12837	return s
12838}
12839
12840// SetName sets the Name field's value.
12841func (s *GetFunctionDefinitionOutput) SetName(v string) *GetFunctionDefinitionOutput {
12842	s.Name = &v
12843	return s
12844}
12845
12846// SetTags sets the Tags field's value.
12847func (s *GetFunctionDefinitionOutput) SetTags(v map[string]*string) *GetFunctionDefinitionOutput {
12848	s.Tags = v
12849	return s
12850}
12851
12852type GetFunctionDefinitionVersionInput struct {
12853	_ struct{} `type:"structure"`
12854
12855	// FunctionDefinitionId is a required field
12856	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
12857
12858	// FunctionDefinitionVersionId is a required field
12859	FunctionDefinitionVersionId *string `location:"uri" locationName:"FunctionDefinitionVersionId" type:"string" required:"true"`
12860
12861	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
12862}
12863
12864// String returns the string representation
12865func (s GetFunctionDefinitionVersionInput) String() string {
12866	return awsutil.Prettify(s)
12867}
12868
12869// GoString returns the string representation
12870func (s GetFunctionDefinitionVersionInput) GoString() string {
12871	return s.String()
12872}
12873
12874// Validate inspects the fields of the type to determine if they are valid.
12875func (s *GetFunctionDefinitionVersionInput) Validate() error {
12876	invalidParams := request.ErrInvalidParams{Context: "GetFunctionDefinitionVersionInput"}
12877	if s.FunctionDefinitionId == nil {
12878		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
12879	}
12880	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
12881		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
12882	}
12883	if s.FunctionDefinitionVersionId == nil {
12884		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionVersionId"))
12885	}
12886	if s.FunctionDefinitionVersionId != nil && len(*s.FunctionDefinitionVersionId) < 1 {
12887		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionVersionId", 1))
12888	}
12889
12890	if invalidParams.Len() > 0 {
12891		return invalidParams
12892	}
12893	return nil
12894}
12895
12896// SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
12897func (s *GetFunctionDefinitionVersionInput) SetFunctionDefinitionId(v string) *GetFunctionDefinitionVersionInput {
12898	s.FunctionDefinitionId = &v
12899	return s
12900}
12901
12902// SetFunctionDefinitionVersionId sets the FunctionDefinitionVersionId field's value.
12903func (s *GetFunctionDefinitionVersionInput) SetFunctionDefinitionVersionId(v string) *GetFunctionDefinitionVersionInput {
12904	s.FunctionDefinitionVersionId = &v
12905	return s
12906}
12907
12908// SetNextToken sets the NextToken field's value.
12909func (s *GetFunctionDefinitionVersionInput) SetNextToken(v string) *GetFunctionDefinitionVersionInput {
12910	s.NextToken = &v
12911	return s
12912}
12913
12914// Information about a function definition version.
12915type GetFunctionDefinitionVersionOutput struct {
12916	_ struct{} `type:"structure"`
12917
12918	// The ARN of the function definition version.
12919	Arn *string `type:"string"`
12920
12921	// The time, in milliseconds since the epoch, when the function definition version
12922	// was created.
12923	CreationTimestamp *string `type:"string"`
12924
12925	// Information on the definition.
12926	Definition *FunctionDefinitionVersion `type:"structure"`
12927
12928	// The ID of the function definition version.
12929	Id *string `type:"string"`
12930
12931	// The token for the next set of results, or ''null'' if there are no additional
12932	// results.
12933	NextToken *string `type:"string"`
12934
12935	// The version of the function definition version.
12936	Version *string `type:"string"`
12937}
12938
12939// String returns the string representation
12940func (s GetFunctionDefinitionVersionOutput) String() string {
12941	return awsutil.Prettify(s)
12942}
12943
12944// GoString returns the string representation
12945func (s GetFunctionDefinitionVersionOutput) GoString() string {
12946	return s.String()
12947}
12948
12949// SetArn sets the Arn field's value.
12950func (s *GetFunctionDefinitionVersionOutput) SetArn(v string) *GetFunctionDefinitionVersionOutput {
12951	s.Arn = &v
12952	return s
12953}
12954
12955// SetCreationTimestamp sets the CreationTimestamp field's value.
12956func (s *GetFunctionDefinitionVersionOutput) SetCreationTimestamp(v string) *GetFunctionDefinitionVersionOutput {
12957	s.CreationTimestamp = &v
12958	return s
12959}
12960
12961// SetDefinition sets the Definition field's value.
12962func (s *GetFunctionDefinitionVersionOutput) SetDefinition(v *FunctionDefinitionVersion) *GetFunctionDefinitionVersionOutput {
12963	s.Definition = v
12964	return s
12965}
12966
12967// SetId sets the Id field's value.
12968func (s *GetFunctionDefinitionVersionOutput) SetId(v string) *GetFunctionDefinitionVersionOutput {
12969	s.Id = &v
12970	return s
12971}
12972
12973// SetNextToken sets the NextToken field's value.
12974func (s *GetFunctionDefinitionVersionOutput) SetNextToken(v string) *GetFunctionDefinitionVersionOutput {
12975	s.NextToken = &v
12976	return s
12977}
12978
12979// SetVersion sets the Version field's value.
12980func (s *GetFunctionDefinitionVersionOutput) SetVersion(v string) *GetFunctionDefinitionVersionOutput {
12981	s.Version = &v
12982	return s
12983}
12984
12985type GetGroupCertificateAuthorityInput struct {
12986	_ struct{} `type:"structure"`
12987
12988	// CertificateAuthorityId is a required field
12989	CertificateAuthorityId *string `location:"uri" locationName:"CertificateAuthorityId" type:"string" required:"true"`
12990
12991	// GroupId is a required field
12992	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
12993}
12994
12995// String returns the string representation
12996func (s GetGroupCertificateAuthorityInput) String() string {
12997	return awsutil.Prettify(s)
12998}
12999
13000// GoString returns the string representation
13001func (s GetGroupCertificateAuthorityInput) GoString() string {
13002	return s.String()
13003}
13004
13005// Validate inspects the fields of the type to determine if they are valid.
13006func (s *GetGroupCertificateAuthorityInput) Validate() error {
13007	invalidParams := request.ErrInvalidParams{Context: "GetGroupCertificateAuthorityInput"}
13008	if s.CertificateAuthorityId == nil {
13009		invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityId"))
13010	}
13011	if s.CertificateAuthorityId != nil && len(*s.CertificateAuthorityId) < 1 {
13012		invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityId", 1))
13013	}
13014	if s.GroupId == nil {
13015		invalidParams.Add(request.NewErrParamRequired("GroupId"))
13016	}
13017	if s.GroupId != nil && len(*s.GroupId) < 1 {
13018		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
13019	}
13020
13021	if invalidParams.Len() > 0 {
13022		return invalidParams
13023	}
13024	return nil
13025}
13026
13027// SetCertificateAuthorityId sets the CertificateAuthorityId field's value.
13028func (s *GetGroupCertificateAuthorityInput) SetCertificateAuthorityId(v string) *GetGroupCertificateAuthorityInput {
13029	s.CertificateAuthorityId = &v
13030	return s
13031}
13032
13033// SetGroupId sets the GroupId field's value.
13034func (s *GetGroupCertificateAuthorityInput) SetGroupId(v string) *GetGroupCertificateAuthorityInput {
13035	s.GroupId = &v
13036	return s
13037}
13038
13039// Information about a certificate authority for a group.
13040type GetGroupCertificateAuthorityOutput struct {
13041	_ struct{} `type:"structure"`
13042
13043	// The ARN of the certificate authority for the group.
13044	GroupCertificateAuthorityArn *string `type:"string"`
13045
13046	// The ID of the certificate authority for the group.
13047	GroupCertificateAuthorityId *string `type:"string"`
13048
13049	// The PEM encoded certificate for the group.
13050	PemEncodedCertificate *string `type:"string"`
13051}
13052
13053// String returns the string representation
13054func (s GetGroupCertificateAuthorityOutput) String() string {
13055	return awsutil.Prettify(s)
13056}
13057
13058// GoString returns the string representation
13059func (s GetGroupCertificateAuthorityOutput) GoString() string {
13060	return s.String()
13061}
13062
13063// SetGroupCertificateAuthorityArn sets the GroupCertificateAuthorityArn field's value.
13064func (s *GetGroupCertificateAuthorityOutput) SetGroupCertificateAuthorityArn(v string) *GetGroupCertificateAuthorityOutput {
13065	s.GroupCertificateAuthorityArn = &v
13066	return s
13067}
13068
13069// SetGroupCertificateAuthorityId sets the GroupCertificateAuthorityId field's value.
13070func (s *GetGroupCertificateAuthorityOutput) SetGroupCertificateAuthorityId(v string) *GetGroupCertificateAuthorityOutput {
13071	s.GroupCertificateAuthorityId = &v
13072	return s
13073}
13074
13075// SetPemEncodedCertificate sets the PemEncodedCertificate field's value.
13076func (s *GetGroupCertificateAuthorityOutput) SetPemEncodedCertificate(v string) *GetGroupCertificateAuthorityOutput {
13077	s.PemEncodedCertificate = &v
13078	return s
13079}
13080
13081type GetGroupCertificateConfigurationInput struct {
13082	_ struct{} `type:"structure"`
13083
13084	// GroupId is a required field
13085	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
13086}
13087
13088// String returns the string representation
13089func (s GetGroupCertificateConfigurationInput) String() string {
13090	return awsutil.Prettify(s)
13091}
13092
13093// GoString returns the string representation
13094func (s GetGroupCertificateConfigurationInput) GoString() string {
13095	return s.String()
13096}
13097
13098// Validate inspects the fields of the type to determine if they are valid.
13099func (s *GetGroupCertificateConfigurationInput) Validate() error {
13100	invalidParams := request.ErrInvalidParams{Context: "GetGroupCertificateConfigurationInput"}
13101	if s.GroupId == nil {
13102		invalidParams.Add(request.NewErrParamRequired("GroupId"))
13103	}
13104	if s.GroupId != nil && len(*s.GroupId) < 1 {
13105		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
13106	}
13107
13108	if invalidParams.Len() > 0 {
13109		return invalidParams
13110	}
13111	return nil
13112}
13113
13114// SetGroupId sets the GroupId field's value.
13115func (s *GetGroupCertificateConfigurationInput) SetGroupId(v string) *GetGroupCertificateConfigurationInput {
13116	s.GroupId = &v
13117	return s
13118}
13119
13120type GetGroupCertificateConfigurationOutput struct {
13121	_ struct{} `type:"structure"`
13122
13123	CertificateAuthorityExpiryInMilliseconds *string `type:"string"`
13124
13125	CertificateExpiryInMilliseconds *string `type:"string"`
13126
13127	GroupId *string `type:"string"`
13128}
13129
13130// String returns the string representation
13131func (s GetGroupCertificateConfigurationOutput) String() string {
13132	return awsutil.Prettify(s)
13133}
13134
13135// GoString returns the string representation
13136func (s GetGroupCertificateConfigurationOutput) GoString() string {
13137	return s.String()
13138}
13139
13140// SetCertificateAuthorityExpiryInMilliseconds sets the CertificateAuthorityExpiryInMilliseconds field's value.
13141func (s *GetGroupCertificateConfigurationOutput) SetCertificateAuthorityExpiryInMilliseconds(v string) *GetGroupCertificateConfigurationOutput {
13142	s.CertificateAuthorityExpiryInMilliseconds = &v
13143	return s
13144}
13145
13146// SetCertificateExpiryInMilliseconds sets the CertificateExpiryInMilliseconds field's value.
13147func (s *GetGroupCertificateConfigurationOutput) SetCertificateExpiryInMilliseconds(v string) *GetGroupCertificateConfigurationOutput {
13148	s.CertificateExpiryInMilliseconds = &v
13149	return s
13150}
13151
13152// SetGroupId sets the GroupId field's value.
13153func (s *GetGroupCertificateConfigurationOutput) SetGroupId(v string) *GetGroupCertificateConfigurationOutput {
13154	s.GroupId = &v
13155	return s
13156}
13157
13158type GetGroupInput struct {
13159	_ struct{} `type:"structure"`
13160
13161	// GroupId is a required field
13162	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
13163}
13164
13165// String returns the string representation
13166func (s GetGroupInput) String() string {
13167	return awsutil.Prettify(s)
13168}
13169
13170// GoString returns the string representation
13171func (s GetGroupInput) GoString() string {
13172	return s.String()
13173}
13174
13175// Validate inspects the fields of the type to determine if they are valid.
13176func (s *GetGroupInput) Validate() error {
13177	invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
13178	if s.GroupId == nil {
13179		invalidParams.Add(request.NewErrParamRequired("GroupId"))
13180	}
13181	if s.GroupId != nil && len(*s.GroupId) < 1 {
13182		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
13183	}
13184
13185	if invalidParams.Len() > 0 {
13186		return invalidParams
13187	}
13188	return nil
13189}
13190
13191// SetGroupId sets the GroupId field's value.
13192func (s *GetGroupInput) SetGroupId(v string) *GetGroupInput {
13193	s.GroupId = &v
13194	return s
13195}
13196
13197type GetGroupOutput struct {
13198	_ struct{} `type:"structure"`
13199
13200	Arn *string `type:"string"`
13201
13202	CreationTimestamp *string `type:"string"`
13203
13204	Id *string `type:"string"`
13205
13206	LastUpdatedTimestamp *string `type:"string"`
13207
13208	LatestVersion *string `type:"string"`
13209
13210	LatestVersionArn *string `type:"string"`
13211
13212	Name *string `type:"string"`
13213
13214	// The key-value pair for the resource tag.
13215	Tags map[string]*string `locationName:"tags" type:"map"`
13216}
13217
13218// String returns the string representation
13219func (s GetGroupOutput) String() string {
13220	return awsutil.Prettify(s)
13221}
13222
13223// GoString returns the string representation
13224func (s GetGroupOutput) GoString() string {
13225	return s.String()
13226}
13227
13228// SetArn sets the Arn field's value.
13229func (s *GetGroupOutput) SetArn(v string) *GetGroupOutput {
13230	s.Arn = &v
13231	return s
13232}
13233
13234// SetCreationTimestamp sets the CreationTimestamp field's value.
13235func (s *GetGroupOutput) SetCreationTimestamp(v string) *GetGroupOutput {
13236	s.CreationTimestamp = &v
13237	return s
13238}
13239
13240// SetId sets the Id field's value.
13241func (s *GetGroupOutput) SetId(v string) *GetGroupOutput {
13242	s.Id = &v
13243	return s
13244}
13245
13246// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
13247func (s *GetGroupOutput) SetLastUpdatedTimestamp(v string) *GetGroupOutput {
13248	s.LastUpdatedTimestamp = &v
13249	return s
13250}
13251
13252// SetLatestVersion sets the LatestVersion field's value.
13253func (s *GetGroupOutput) SetLatestVersion(v string) *GetGroupOutput {
13254	s.LatestVersion = &v
13255	return s
13256}
13257
13258// SetLatestVersionArn sets the LatestVersionArn field's value.
13259func (s *GetGroupOutput) SetLatestVersionArn(v string) *GetGroupOutput {
13260	s.LatestVersionArn = &v
13261	return s
13262}
13263
13264// SetName sets the Name field's value.
13265func (s *GetGroupOutput) SetName(v string) *GetGroupOutput {
13266	s.Name = &v
13267	return s
13268}
13269
13270// SetTags sets the Tags field's value.
13271func (s *GetGroupOutput) SetTags(v map[string]*string) *GetGroupOutput {
13272	s.Tags = v
13273	return s
13274}
13275
13276type GetGroupVersionInput struct {
13277	_ struct{} `type:"structure"`
13278
13279	// GroupId is a required field
13280	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
13281
13282	// GroupVersionId is a required field
13283	GroupVersionId *string `location:"uri" locationName:"GroupVersionId" type:"string" required:"true"`
13284}
13285
13286// String returns the string representation
13287func (s GetGroupVersionInput) String() string {
13288	return awsutil.Prettify(s)
13289}
13290
13291// GoString returns the string representation
13292func (s GetGroupVersionInput) GoString() string {
13293	return s.String()
13294}
13295
13296// Validate inspects the fields of the type to determine if they are valid.
13297func (s *GetGroupVersionInput) Validate() error {
13298	invalidParams := request.ErrInvalidParams{Context: "GetGroupVersionInput"}
13299	if s.GroupId == nil {
13300		invalidParams.Add(request.NewErrParamRequired("GroupId"))
13301	}
13302	if s.GroupId != nil && len(*s.GroupId) < 1 {
13303		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
13304	}
13305	if s.GroupVersionId == nil {
13306		invalidParams.Add(request.NewErrParamRequired("GroupVersionId"))
13307	}
13308	if s.GroupVersionId != nil && len(*s.GroupVersionId) < 1 {
13309		invalidParams.Add(request.NewErrParamMinLen("GroupVersionId", 1))
13310	}
13311
13312	if invalidParams.Len() > 0 {
13313		return invalidParams
13314	}
13315	return nil
13316}
13317
13318// SetGroupId sets the GroupId field's value.
13319func (s *GetGroupVersionInput) SetGroupId(v string) *GetGroupVersionInput {
13320	s.GroupId = &v
13321	return s
13322}
13323
13324// SetGroupVersionId sets the GroupVersionId field's value.
13325func (s *GetGroupVersionInput) SetGroupVersionId(v string) *GetGroupVersionInput {
13326	s.GroupVersionId = &v
13327	return s
13328}
13329
13330// Information about a group version.
13331type GetGroupVersionOutput struct {
13332	_ struct{} `type:"structure"`
13333
13334	// The ARN of the group version.
13335	Arn *string `type:"string"`
13336
13337	// The time, in milliseconds since the epoch, when the group version was created.
13338	CreationTimestamp *string `type:"string"`
13339
13340	// Information about the group version definition.
13341	Definition *GroupVersion `type:"structure"`
13342
13343	// The ID of the group that the version is associated with.
13344	Id *string `type:"string"`
13345
13346	// The ID of the group version.
13347	Version *string `type:"string"`
13348}
13349
13350// String returns the string representation
13351func (s GetGroupVersionOutput) String() string {
13352	return awsutil.Prettify(s)
13353}
13354
13355// GoString returns the string representation
13356func (s GetGroupVersionOutput) GoString() string {
13357	return s.String()
13358}
13359
13360// SetArn sets the Arn field's value.
13361func (s *GetGroupVersionOutput) SetArn(v string) *GetGroupVersionOutput {
13362	s.Arn = &v
13363	return s
13364}
13365
13366// SetCreationTimestamp sets the CreationTimestamp field's value.
13367func (s *GetGroupVersionOutput) SetCreationTimestamp(v string) *GetGroupVersionOutput {
13368	s.CreationTimestamp = &v
13369	return s
13370}
13371
13372// SetDefinition sets the Definition field's value.
13373func (s *GetGroupVersionOutput) SetDefinition(v *GroupVersion) *GetGroupVersionOutput {
13374	s.Definition = v
13375	return s
13376}
13377
13378// SetId sets the Id field's value.
13379func (s *GetGroupVersionOutput) SetId(v string) *GetGroupVersionOutput {
13380	s.Id = &v
13381	return s
13382}
13383
13384// SetVersion sets the Version field's value.
13385func (s *GetGroupVersionOutput) SetVersion(v string) *GetGroupVersionOutput {
13386	s.Version = &v
13387	return s
13388}
13389
13390type GetLoggerDefinitionInput struct {
13391	_ struct{} `type:"structure"`
13392
13393	// LoggerDefinitionId is a required field
13394	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
13395}
13396
13397// String returns the string representation
13398func (s GetLoggerDefinitionInput) String() string {
13399	return awsutil.Prettify(s)
13400}
13401
13402// GoString returns the string representation
13403func (s GetLoggerDefinitionInput) GoString() string {
13404	return s.String()
13405}
13406
13407// Validate inspects the fields of the type to determine if they are valid.
13408func (s *GetLoggerDefinitionInput) Validate() error {
13409	invalidParams := request.ErrInvalidParams{Context: "GetLoggerDefinitionInput"}
13410	if s.LoggerDefinitionId == nil {
13411		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
13412	}
13413	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
13414		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
13415	}
13416
13417	if invalidParams.Len() > 0 {
13418		return invalidParams
13419	}
13420	return nil
13421}
13422
13423// SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
13424func (s *GetLoggerDefinitionInput) SetLoggerDefinitionId(v string) *GetLoggerDefinitionInput {
13425	s.LoggerDefinitionId = &v
13426	return s
13427}
13428
13429type GetLoggerDefinitionOutput struct {
13430	_ struct{} `type:"structure"`
13431
13432	Arn *string `type:"string"`
13433
13434	CreationTimestamp *string `type:"string"`
13435
13436	Id *string `type:"string"`
13437
13438	LastUpdatedTimestamp *string `type:"string"`
13439
13440	LatestVersion *string `type:"string"`
13441
13442	LatestVersionArn *string `type:"string"`
13443
13444	Name *string `type:"string"`
13445
13446	// The key-value pair for the resource tag.
13447	Tags map[string]*string `locationName:"tags" type:"map"`
13448}
13449
13450// String returns the string representation
13451func (s GetLoggerDefinitionOutput) String() string {
13452	return awsutil.Prettify(s)
13453}
13454
13455// GoString returns the string representation
13456func (s GetLoggerDefinitionOutput) GoString() string {
13457	return s.String()
13458}
13459
13460// SetArn sets the Arn field's value.
13461func (s *GetLoggerDefinitionOutput) SetArn(v string) *GetLoggerDefinitionOutput {
13462	s.Arn = &v
13463	return s
13464}
13465
13466// SetCreationTimestamp sets the CreationTimestamp field's value.
13467func (s *GetLoggerDefinitionOutput) SetCreationTimestamp(v string) *GetLoggerDefinitionOutput {
13468	s.CreationTimestamp = &v
13469	return s
13470}
13471
13472// SetId sets the Id field's value.
13473func (s *GetLoggerDefinitionOutput) SetId(v string) *GetLoggerDefinitionOutput {
13474	s.Id = &v
13475	return s
13476}
13477
13478// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
13479func (s *GetLoggerDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetLoggerDefinitionOutput {
13480	s.LastUpdatedTimestamp = &v
13481	return s
13482}
13483
13484// SetLatestVersion sets the LatestVersion field's value.
13485func (s *GetLoggerDefinitionOutput) SetLatestVersion(v string) *GetLoggerDefinitionOutput {
13486	s.LatestVersion = &v
13487	return s
13488}
13489
13490// SetLatestVersionArn sets the LatestVersionArn field's value.
13491func (s *GetLoggerDefinitionOutput) SetLatestVersionArn(v string) *GetLoggerDefinitionOutput {
13492	s.LatestVersionArn = &v
13493	return s
13494}
13495
13496// SetName sets the Name field's value.
13497func (s *GetLoggerDefinitionOutput) SetName(v string) *GetLoggerDefinitionOutput {
13498	s.Name = &v
13499	return s
13500}
13501
13502// SetTags sets the Tags field's value.
13503func (s *GetLoggerDefinitionOutput) SetTags(v map[string]*string) *GetLoggerDefinitionOutput {
13504	s.Tags = v
13505	return s
13506}
13507
13508type GetLoggerDefinitionVersionInput struct {
13509	_ struct{} `type:"structure"`
13510
13511	// LoggerDefinitionId is a required field
13512	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
13513
13514	// LoggerDefinitionVersionId is a required field
13515	LoggerDefinitionVersionId *string `location:"uri" locationName:"LoggerDefinitionVersionId" type:"string" required:"true"`
13516
13517	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
13518}
13519
13520// String returns the string representation
13521func (s GetLoggerDefinitionVersionInput) String() string {
13522	return awsutil.Prettify(s)
13523}
13524
13525// GoString returns the string representation
13526func (s GetLoggerDefinitionVersionInput) GoString() string {
13527	return s.String()
13528}
13529
13530// Validate inspects the fields of the type to determine if they are valid.
13531func (s *GetLoggerDefinitionVersionInput) Validate() error {
13532	invalidParams := request.ErrInvalidParams{Context: "GetLoggerDefinitionVersionInput"}
13533	if s.LoggerDefinitionId == nil {
13534		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
13535	}
13536	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
13537		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
13538	}
13539	if s.LoggerDefinitionVersionId == nil {
13540		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionVersionId"))
13541	}
13542	if s.LoggerDefinitionVersionId != nil && len(*s.LoggerDefinitionVersionId) < 1 {
13543		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionVersionId", 1))
13544	}
13545
13546	if invalidParams.Len() > 0 {
13547		return invalidParams
13548	}
13549	return nil
13550}
13551
13552// SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
13553func (s *GetLoggerDefinitionVersionInput) SetLoggerDefinitionId(v string) *GetLoggerDefinitionVersionInput {
13554	s.LoggerDefinitionId = &v
13555	return s
13556}
13557
13558// SetLoggerDefinitionVersionId sets the LoggerDefinitionVersionId field's value.
13559func (s *GetLoggerDefinitionVersionInput) SetLoggerDefinitionVersionId(v string) *GetLoggerDefinitionVersionInput {
13560	s.LoggerDefinitionVersionId = &v
13561	return s
13562}
13563
13564// SetNextToken sets the NextToken field's value.
13565func (s *GetLoggerDefinitionVersionInput) SetNextToken(v string) *GetLoggerDefinitionVersionInput {
13566	s.NextToken = &v
13567	return s
13568}
13569
13570// Information about a logger definition version.
13571type GetLoggerDefinitionVersionOutput struct {
13572	_ struct{} `type:"structure"`
13573
13574	// The ARN of the logger definition version.
13575	Arn *string `type:"string"`
13576
13577	// The time, in milliseconds since the epoch, when the logger definition version
13578	// was created.
13579	CreationTimestamp *string `type:"string"`
13580
13581	// Information about the logger definition version.
13582	Definition *LoggerDefinitionVersion `type:"structure"`
13583
13584	// The ID of the logger definition version.
13585	Id *string `type:"string"`
13586
13587	// The version of the logger definition version.
13588	Version *string `type:"string"`
13589}
13590
13591// String returns the string representation
13592func (s GetLoggerDefinitionVersionOutput) String() string {
13593	return awsutil.Prettify(s)
13594}
13595
13596// GoString returns the string representation
13597func (s GetLoggerDefinitionVersionOutput) GoString() string {
13598	return s.String()
13599}
13600
13601// SetArn sets the Arn field's value.
13602func (s *GetLoggerDefinitionVersionOutput) SetArn(v string) *GetLoggerDefinitionVersionOutput {
13603	s.Arn = &v
13604	return s
13605}
13606
13607// SetCreationTimestamp sets the CreationTimestamp field's value.
13608func (s *GetLoggerDefinitionVersionOutput) SetCreationTimestamp(v string) *GetLoggerDefinitionVersionOutput {
13609	s.CreationTimestamp = &v
13610	return s
13611}
13612
13613// SetDefinition sets the Definition field's value.
13614func (s *GetLoggerDefinitionVersionOutput) SetDefinition(v *LoggerDefinitionVersion) *GetLoggerDefinitionVersionOutput {
13615	s.Definition = v
13616	return s
13617}
13618
13619// SetId sets the Id field's value.
13620func (s *GetLoggerDefinitionVersionOutput) SetId(v string) *GetLoggerDefinitionVersionOutput {
13621	s.Id = &v
13622	return s
13623}
13624
13625// SetVersion sets the Version field's value.
13626func (s *GetLoggerDefinitionVersionOutput) SetVersion(v string) *GetLoggerDefinitionVersionOutput {
13627	s.Version = &v
13628	return s
13629}
13630
13631type GetResourceDefinitionInput struct {
13632	_ struct{} `type:"structure"`
13633
13634	// ResourceDefinitionId is a required field
13635	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
13636}
13637
13638// String returns the string representation
13639func (s GetResourceDefinitionInput) String() string {
13640	return awsutil.Prettify(s)
13641}
13642
13643// GoString returns the string representation
13644func (s GetResourceDefinitionInput) GoString() string {
13645	return s.String()
13646}
13647
13648// Validate inspects the fields of the type to determine if they are valid.
13649func (s *GetResourceDefinitionInput) Validate() error {
13650	invalidParams := request.ErrInvalidParams{Context: "GetResourceDefinitionInput"}
13651	if s.ResourceDefinitionId == nil {
13652		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
13653	}
13654	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
13655		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
13656	}
13657
13658	if invalidParams.Len() > 0 {
13659		return invalidParams
13660	}
13661	return nil
13662}
13663
13664// SetResourceDefinitionId sets the ResourceDefinitionId field's value.
13665func (s *GetResourceDefinitionInput) SetResourceDefinitionId(v string) *GetResourceDefinitionInput {
13666	s.ResourceDefinitionId = &v
13667	return s
13668}
13669
13670type GetResourceDefinitionOutput struct {
13671	_ struct{} `type:"structure"`
13672
13673	Arn *string `type:"string"`
13674
13675	CreationTimestamp *string `type:"string"`
13676
13677	Id *string `type:"string"`
13678
13679	LastUpdatedTimestamp *string `type:"string"`
13680
13681	LatestVersion *string `type:"string"`
13682
13683	LatestVersionArn *string `type:"string"`
13684
13685	Name *string `type:"string"`
13686
13687	// The key-value pair for the resource tag.
13688	Tags map[string]*string `locationName:"tags" type:"map"`
13689}
13690
13691// String returns the string representation
13692func (s GetResourceDefinitionOutput) String() string {
13693	return awsutil.Prettify(s)
13694}
13695
13696// GoString returns the string representation
13697func (s GetResourceDefinitionOutput) GoString() string {
13698	return s.String()
13699}
13700
13701// SetArn sets the Arn field's value.
13702func (s *GetResourceDefinitionOutput) SetArn(v string) *GetResourceDefinitionOutput {
13703	s.Arn = &v
13704	return s
13705}
13706
13707// SetCreationTimestamp sets the CreationTimestamp field's value.
13708func (s *GetResourceDefinitionOutput) SetCreationTimestamp(v string) *GetResourceDefinitionOutput {
13709	s.CreationTimestamp = &v
13710	return s
13711}
13712
13713// SetId sets the Id field's value.
13714func (s *GetResourceDefinitionOutput) SetId(v string) *GetResourceDefinitionOutput {
13715	s.Id = &v
13716	return s
13717}
13718
13719// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
13720func (s *GetResourceDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetResourceDefinitionOutput {
13721	s.LastUpdatedTimestamp = &v
13722	return s
13723}
13724
13725// SetLatestVersion sets the LatestVersion field's value.
13726func (s *GetResourceDefinitionOutput) SetLatestVersion(v string) *GetResourceDefinitionOutput {
13727	s.LatestVersion = &v
13728	return s
13729}
13730
13731// SetLatestVersionArn sets the LatestVersionArn field's value.
13732func (s *GetResourceDefinitionOutput) SetLatestVersionArn(v string) *GetResourceDefinitionOutput {
13733	s.LatestVersionArn = &v
13734	return s
13735}
13736
13737// SetName sets the Name field's value.
13738func (s *GetResourceDefinitionOutput) SetName(v string) *GetResourceDefinitionOutput {
13739	s.Name = &v
13740	return s
13741}
13742
13743// SetTags sets the Tags field's value.
13744func (s *GetResourceDefinitionOutput) SetTags(v map[string]*string) *GetResourceDefinitionOutput {
13745	s.Tags = v
13746	return s
13747}
13748
13749type GetResourceDefinitionVersionInput struct {
13750	_ struct{} `type:"structure"`
13751
13752	// ResourceDefinitionId is a required field
13753	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
13754
13755	// ResourceDefinitionVersionId is a required field
13756	ResourceDefinitionVersionId *string `location:"uri" locationName:"ResourceDefinitionVersionId" type:"string" required:"true"`
13757}
13758
13759// String returns the string representation
13760func (s GetResourceDefinitionVersionInput) String() string {
13761	return awsutil.Prettify(s)
13762}
13763
13764// GoString returns the string representation
13765func (s GetResourceDefinitionVersionInput) GoString() string {
13766	return s.String()
13767}
13768
13769// Validate inspects the fields of the type to determine if they are valid.
13770func (s *GetResourceDefinitionVersionInput) Validate() error {
13771	invalidParams := request.ErrInvalidParams{Context: "GetResourceDefinitionVersionInput"}
13772	if s.ResourceDefinitionId == nil {
13773		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
13774	}
13775	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
13776		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
13777	}
13778	if s.ResourceDefinitionVersionId == nil {
13779		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionVersionId"))
13780	}
13781	if s.ResourceDefinitionVersionId != nil && len(*s.ResourceDefinitionVersionId) < 1 {
13782		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionVersionId", 1))
13783	}
13784
13785	if invalidParams.Len() > 0 {
13786		return invalidParams
13787	}
13788	return nil
13789}
13790
13791// SetResourceDefinitionId sets the ResourceDefinitionId field's value.
13792func (s *GetResourceDefinitionVersionInput) SetResourceDefinitionId(v string) *GetResourceDefinitionVersionInput {
13793	s.ResourceDefinitionId = &v
13794	return s
13795}
13796
13797// SetResourceDefinitionVersionId sets the ResourceDefinitionVersionId field's value.
13798func (s *GetResourceDefinitionVersionInput) SetResourceDefinitionVersionId(v string) *GetResourceDefinitionVersionInput {
13799	s.ResourceDefinitionVersionId = &v
13800	return s
13801}
13802
13803// Information about a resource definition version.
13804type GetResourceDefinitionVersionOutput struct {
13805	_ struct{} `type:"structure"`
13806
13807	// Arn of the resource definition version.
13808	Arn *string `type:"string"`
13809
13810	// The time, in milliseconds since the epoch, when the resource definition version
13811	// was created.
13812	CreationTimestamp *string `type:"string"`
13813
13814	// Information about the definition.
13815	Definition *ResourceDefinitionVersion `type:"structure"`
13816
13817	// The ID of the resource definition version.
13818	Id *string `type:"string"`
13819
13820	// The version of the resource definition version.
13821	Version *string `type:"string"`
13822}
13823
13824// String returns the string representation
13825func (s GetResourceDefinitionVersionOutput) String() string {
13826	return awsutil.Prettify(s)
13827}
13828
13829// GoString returns the string representation
13830func (s GetResourceDefinitionVersionOutput) GoString() string {
13831	return s.String()
13832}
13833
13834// SetArn sets the Arn field's value.
13835func (s *GetResourceDefinitionVersionOutput) SetArn(v string) *GetResourceDefinitionVersionOutput {
13836	s.Arn = &v
13837	return s
13838}
13839
13840// SetCreationTimestamp sets the CreationTimestamp field's value.
13841func (s *GetResourceDefinitionVersionOutput) SetCreationTimestamp(v string) *GetResourceDefinitionVersionOutput {
13842	s.CreationTimestamp = &v
13843	return s
13844}
13845
13846// SetDefinition sets the Definition field's value.
13847func (s *GetResourceDefinitionVersionOutput) SetDefinition(v *ResourceDefinitionVersion) *GetResourceDefinitionVersionOutput {
13848	s.Definition = v
13849	return s
13850}
13851
13852// SetId sets the Id field's value.
13853func (s *GetResourceDefinitionVersionOutput) SetId(v string) *GetResourceDefinitionVersionOutput {
13854	s.Id = &v
13855	return s
13856}
13857
13858// SetVersion sets the Version field's value.
13859func (s *GetResourceDefinitionVersionOutput) SetVersion(v string) *GetResourceDefinitionVersionOutput {
13860	s.Version = &v
13861	return s
13862}
13863
13864type GetServiceRoleForAccountInput struct {
13865	_ struct{} `type:"structure"`
13866}
13867
13868// String returns the string representation
13869func (s GetServiceRoleForAccountInput) String() string {
13870	return awsutil.Prettify(s)
13871}
13872
13873// GoString returns the string representation
13874func (s GetServiceRoleForAccountInput) GoString() string {
13875	return s.String()
13876}
13877
13878type GetServiceRoleForAccountOutput struct {
13879	_ struct{} `type:"structure"`
13880
13881	// The time when the service role was associated with the account.
13882	AssociatedAt *string `type:"string"`
13883
13884	// The ARN of the role which is associated with the account.
13885	RoleArn *string `type:"string"`
13886}
13887
13888// String returns the string representation
13889func (s GetServiceRoleForAccountOutput) String() string {
13890	return awsutil.Prettify(s)
13891}
13892
13893// GoString returns the string representation
13894func (s GetServiceRoleForAccountOutput) GoString() string {
13895	return s.String()
13896}
13897
13898// SetAssociatedAt sets the AssociatedAt field's value.
13899func (s *GetServiceRoleForAccountOutput) SetAssociatedAt(v string) *GetServiceRoleForAccountOutput {
13900	s.AssociatedAt = &v
13901	return s
13902}
13903
13904// SetRoleArn sets the RoleArn field's value.
13905func (s *GetServiceRoleForAccountOutput) SetRoleArn(v string) *GetServiceRoleForAccountOutput {
13906	s.RoleArn = &v
13907	return s
13908}
13909
13910type GetSubscriptionDefinitionInput struct {
13911	_ struct{} `type:"structure"`
13912
13913	// SubscriptionDefinitionId is a required field
13914	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
13915}
13916
13917// String returns the string representation
13918func (s GetSubscriptionDefinitionInput) String() string {
13919	return awsutil.Prettify(s)
13920}
13921
13922// GoString returns the string representation
13923func (s GetSubscriptionDefinitionInput) GoString() string {
13924	return s.String()
13925}
13926
13927// Validate inspects the fields of the type to determine if they are valid.
13928func (s *GetSubscriptionDefinitionInput) Validate() error {
13929	invalidParams := request.ErrInvalidParams{Context: "GetSubscriptionDefinitionInput"}
13930	if s.SubscriptionDefinitionId == nil {
13931		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
13932	}
13933	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
13934		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
13935	}
13936
13937	if invalidParams.Len() > 0 {
13938		return invalidParams
13939	}
13940	return nil
13941}
13942
13943// SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
13944func (s *GetSubscriptionDefinitionInput) SetSubscriptionDefinitionId(v string) *GetSubscriptionDefinitionInput {
13945	s.SubscriptionDefinitionId = &v
13946	return s
13947}
13948
13949type GetSubscriptionDefinitionOutput struct {
13950	_ struct{} `type:"structure"`
13951
13952	Arn *string `type:"string"`
13953
13954	CreationTimestamp *string `type:"string"`
13955
13956	Id *string `type:"string"`
13957
13958	LastUpdatedTimestamp *string `type:"string"`
13959
13960	LatestVersion *string `type:"string"`
13961
13962	LatestVersionArn *string `type:"string"`
13963
13964	Name *string `type:"string"`
13965
13966	// The key-value pair for the resource tag.
13967	Tags map[string]*string `locationName:"tags" type:"map"`
13968}
13969
13970// String returns the string representation
13971func (s GetSubscriptionDefinitionOutput) String() string {
13972	return awsutil.Prettify(s)
13973}
13974
13975// GoString returns the string representation
13976func (s GetSubscriptionDefinitionOutput) GoString() string {
13977	return s.String()
13978}
13979
13980// SetArn sets the Arn field's value.
13981func (s *GetSubscriptionDefinitionOutput) SetArn(v string) *GetSubscriptionDefinitionOutput {
13982	s.Arn = &v
13983	return s
13984}
13985
13986// SetCreationTimestamp sets the CreationTimestamp field's value.
13987func (s *GetSubscriptionDefinitionOutput) SetCreationTimestamp(v string) *GetSubscriptionDefinitionOutput {
13988	s.CreationTimestamp = &v
13989	return s
13990}
13991
13992// SetId sets the Id field's value.
13993func (s *GetSubscriptionDefinitionOutput) SetId(v string) *GetSubscriptionDefinitionOutput {
13994	s.Id = &v
13995	return s
13996}
13997
13998// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
13999func (s *GetSubscriptionDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetSubscriptionDefinitionOutput {
14000	s.LastUpdatedTimestamp = &v
14001	return s
14002}
14003
14004// SetLatestVersion sets the LatestVersion field's value.
14005func (s *GetSubscriptionDefinitionOutput) SetLatestVersion(v string) *GetSubscriptionDefinitionOutput {
14006	s.LatestVersion = &v
14007	return s
14008}
14009
14010// SetLatestVersionArn sets the LatestVersionArn field's value.
14011func (s *GetSubscriptionDefinitionOutput) SetLatestVersionArn(v string) *GetSubscriptionDefinitionOutput {
14012	s.LatestVersionArn = &v
14013	return s
14014}
14015
14016// SetName sets the Name field's value.
14017func (s *GetSubscriptionDefinitionOutput) SetName(v string) *GetSubscriptionDefinitionOutput {
14018	s.Name = &v
14019	return s
14020}
14021
14022// SetTags sets the Tags field's value.
14023func (s *GetSubscriptionDefinitionOutput) SetTags(v map[string]*string) *GetSubscriptionDefinitionOutput {
14024	s.Tags = v
14025	return s
14026}
14027
14028type GetSubscriptionDefinitionVersionInput struct {
14029	_ struct{} `type:"structure"`
14030
14031	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14032
14033	// SubscriptionDefinitionId is a required field
14034	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
14035
14036	// SubscriptionDefinitionVersionId is a required field
14037	SubscriptionDefinitionVersionId *string `location:"uri" locationName:"SubscriptionDefinitionVersionId" type:"string" required:"true"`
14038}
14039
14040// String returns the string representation
14041func (s GetSubscriptionDefinitionVersionInput) String() string {
14042	return awsutil.Prettify(s)
14043}
14044
14045// GoString returns the string representation
14046func (s GetSubscriptionDefinitionVersionInput) GoString() string {
14047	return s.String()
14048}
14049
14050// Validate inspects the fields of the type to determine if they are valid.
14051func (s *GetSubscriptionDefinitionVersionInput) Validate() error {
14052	invalidParams := request.ErrInvalidParams{Context: "GetSubscriptionDefinitionVersionInput"}
14053	if s.SubscriptionDefinitionId == nil {
14054		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
14055	}
14056	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
14057		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
14058	}
14059	if s.SubscriptionDefinitionVersionId == nil {
14060		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionVersionId"))
14061	}
14062	if s.SubscriptionDefinitionVersionId != nil && len(*s.SubscriptionDefinitionVersionId) < 1 {
14063		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionVersionId", 1))
14064	}
14065
14066	if invalidParams.Len() > 0 {
14067		return invalidParams
14068	}
14069	return nil
14070}
14071
14072// SetNextToken sets the NextToken field's value.
14073func (s *GetSubscriptionDefinitionVersionInput) SetNextToken(v string) *GetSubscriptionDefinitionVersionInput {
14074	s.NextToken = &v
14075	return s
14076}
14077
14078// SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
14079func (s *GetSubscriptionDefinitionVersionInput) SetSubscriptionDefinitionId(v string) *GetSubscriptionDefinitionVersionInput {
14080	s.SubscriptionDefinitionId = &v
14081	return s
14082}
14083
14084// SetSubscriptionDefinitionVersionId sets the SubscriptionDefinitionVersionId field's value.
14085func (s *GetSubscriptionDefinitionVersionInput) SetSubscriptionDefinitionVersionId(v string) *GetSubscriptionDefinitionVersionInput {
14086	s.SubscriptionDefinitionVersionId = &v
14087	return s
14088}
14089
14090// Information about a subscription definition version.
14091type GetSubscriptionDefinitionVersionOutput struct {
14092	_ struct{} `type:"structure"`
14093
14094	// The ARN of the subscription definition version.
14095	Arn *string `type:"string"`
14096
14097	// The time, in milliseconds since the epoch, when the subscription definition
14098	// version was created.
14099	CreationTimestamp *string `type:"string"`
14100
14101	// Information about the subscription definition version.
14102	Definition *SubscriptionDefinitionVersion `type:"structure"`
14103
14104	// The ID of the subscription definition version.
14105	Id *string `type:"string"`
14106
14107	// The token for the next set of results, or ''null'' if there are no additional
14108	// results.
14109	NextToken *string `type:"string"`
14110
14111	// The version of the subscription definition version.
14112	Version *string `type:"string"`
14113}
14114
14115// String returns the string representation
14116func (s GetSubscriptionDefinitionVersionOutput) String() string {
14117	return awsutil.Prettify(s)
14118}
14119
14120// GoString returns the string representation
14121func (s GetSubscriptionDefinitionVersionOutput) GoString() string {
14122	return s.String()
14123}
14124
14125// SetArn sets the Arn field's value.
14126func (s *GetSubscriptionDefinitionVersionOutput) SetArn(v string) *GetSubscriptionDefinitionVersionOutput {
14127	s.Arn = &v
14128	return s
14129}
14130
14131// SetCreationTimestamp sets the CreationTimestamp field's value.
14132func (s *GetSubscriptionDefinitionVersionOutput) SetCreationTimestamp(v string) *GetSubscriptionDefinitionVersionOutput {
14133	s.CreationTimestamp = &v
14134	return s
14135}
14136
14137// SetDefinition sets the Definition field's value.
14138func (s *GetSubscriptionDefinitionVersionOutput) SetDefinition(v *SubscriptionDefinitionVersion) *GetSubscriptionDefinitionVersionOutput {
14139	s.Definition = v
14140	return s
14141}
14142
14143// SetId sets the Id field's value.
14144func (s *GetSubscriptionDefinitionVersionOutput) SetId(v string) *GetSubscriptionDefinitionVersionOutput {
14145	s.Id = &v
14146	return s
14147}
14148
14149// SetNextToken sets the NextToken field's value.
14150func (s *GetSubscriptionDefinitionVersionOutput) SetNextToken(v string) *GetSubscriptionDefinitionVersionOutput {
14151	s.NextToken = &v
14152	return s
14153}
14154
14155// SetVersion sets the Version field's value.
14156func (s *GetSubscriptionDefinitionVersionOutput) SetVersion(v string) *GetSubscriptionDefinitionVersionOutput {
14157	s.Version = &v
14158	return s
14159}
14160
14161type GetThingRuntimeConfigurationInput struct {
14162	_ struct{} `type:"structure"`
14163
14164	// ThingName is a required field
14165	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
14166}
14167
14168// String returns the string representation
14169func (s GetThingRuntimeConfigurationInput) String() string {
14170	return awsutil.Prettify(s)
14171}
14172
14173// GoString returns the string representation
14174func (s GetThingRuntimeConfigurationInput) GoString() string {
14175	return s.String()
14176}
14177
14178// Validate inspects the fields of the type to determine if they are valid.
14179func (s *GetThingRuntimeConfigurationInput) Validate() error {
14180	invalidParams := request.ErrInvalidParams{Context: "GetThingRuntimeConfigurationInput"}
14181	if s.ThingName == nil {
14182		invalidParams.Add(request.NewErrParamRequired("ThingName"))
14183	}
14184	if s.ThingName != nil && len(*s.ThingName) < 1 {
14185		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
14186	}
14187
14188	if invalidParams.Len() > 0 {
14189		return invalidParams
14190	}
14191	return nil
14192}
14193
14194// SetThingName sets the ThingName field's value.
14195func (s *GetThingRuntimeConfigurationInput) SetThingName(v string) *GetThingRuntimeConfigurationInput {
14196	s.ThingName = &v
14197	return s
14198}
14199
14200// The runtime configuration for a thing.
14201type GetThingRuntimeConfigurationOutput struct {
14202	_ struct{} `type:"structure"`
14203
14204	// Runtime configuration for a thing.
14205	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
14206}
14207
14208// String returns the string representation
14209func (s GetThingRuntimeConfigurationOutput) String() string {
14210	return awsutil.Prettify(s)
14211}
14212
14213// GoString returns the string representation
14214func (s GetThingRuntimeConfigurationOutput) GoString() string {
14215	return s.String()
14216}
14217
14218// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
14219func (s *GetThingRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *GetThingRuntimeConfigurationOutput {
14220	s.RuntimeConfiguration = v
14221	return s
14222}
14223
14224// Information about a certificate authority for a group.
14225type GroupCertificateAuthorityProperties struct {
14226	_ struct{} `type:"structure"`
14227
14228	// The ARN of the certificate authority for the group.
14229	GroupCertificateAuthorityArn *string `type:"string"`
14230
14231	// The ID of the certificate authority for the group.
14232	GroupCertificateAuthorityId *string `type:"string"`
14233}
14234
14235// String returns the string representation
14236func (s GroupCertificateAuthorityProperties) String() string {
14237	return awsutil.Prettify(s)
14238}
14239
14240// GoString returns the string representation
14241func (s GroupCertificateAuthorityProperties) GoString() string {
14242	return s.String()
14243}
14244
14245// SetGroupCertificateAuthorityArn sets the GroupCertificateAuthorityArn field's value.
14246func (s *GroupCertificateAuthorityProperties) SetGroupCertificateAuthorityArn(v string) *GroupCertificateAuthorityProperties {
14247	s.GroupCertificateAuthorityArn = &v
14248	return s
14249}
14250
14251// SetGroupCertificateAuthorityId sets the GroupCertificateAuthorityId field's value.
14252func (s *GroupCertificateAuthorityProperties) SetGroupCertificateAuthorityId(v string) *GroupCertificateAuthorityProperties {
14253	s.GroupCertificateAuthorityId = &v
14254	return s
14255}
14256
14257// Information about a group.
14258type GroupInformation struct {
14259	_ struct{} `type:"structure"`
14260
14261	// The ARN of the group.
14262	Arn *string `type:"string"`
14263
14264	// The time, in milliseconds since the epoch, when the group was created.
14265	CreationTimestamp *string `type:"string"`
14266
14267	// The ID of the group.
14268	Id *string `type:"string"`
14269
14270	// The time, in milliseconds since the epoch, when the group was last updated.
14271	LastUpdatedTimestamp *string `type:"string"`
14272
14273	// The ID of the latest version associated with the group.
14274	LatestVersion *string `type:"string"`
14275
14276	// The ARN of the latest version associated with the group.
14277	LatestVersionArn *string `type:"string"`
14278
14279	// The name of the group.
14280	Name *string `type:"string"`
14281}
14282
14283// String returns the string representation
14284func (s GroupInformation) String() string {
14285	return awsutil.Prettify(s)
14286}
14287
14288// GoString returns the string representation
14289func (s GroupInformation) GoString() string {
14290	return s.String()
14291}
14292
14293// SetArn sets the Arn field's value.
14294func (s *GroupInformation) SetArn(v string) *GroupInformation {
14295	s.Arn = &v
14296	return s
14297}
14298
14299// SetCreationTimestamp sets the CreationTimestamp field's value.
14300func (s *GroupInformation) SetCreationTimestamp(v string) *GroupInformation {
14301	s.CreationTimestamp = &v
14302	return s
14303}
14304
14305// SetId sets the Id field's value.
14306func (s *GroupInformation) SetId(v string) *GroupInformation {
14307	s.Id = &v
14308	return s
14309}
14310
14311// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
14312func (s *GroupInformation) SetLastUpdatedTimestamp(v string) *GroupInformation {
14313	s.LastUpdatedTimestamp = &v
14314	return s
14315}
14316
14317// SetLatestVersion sets the LatestVersion field's value.
14318func (s *GroupInformation) SetLatestVersion(v string) *GroupInformation {
14319	s.LatestVersion = &v
14320	return s
14321}
14322
14323// SetLatestVersionArn sets the LatestVersionArn field's value.
14324func (s *GroupInformation) SetLatestVersionArn(v string) *GroupInformation {
14325	s.LatestVersionArn = &v
14326	return s
14327}
14328
14329// SetName sets the Name field's value.
14330func (s *GroupInformation) SetName(v string) *GroupInformation {
14331	s.Name = &v
14332	return s
14333}
14334
14335// Group owner related settings for local resources.
14336type GroupOwnerSetting struct {
14337	_ struct{} `type:"structure"`
14338
14339	// If true, AWS IoT Greengrass automatically adds the specified Linux OS group
14340	// owner of the resource to the Lambda process privileges. Thus the Lambda process
14341	// will have the file access permissions of the added Linux group.
14342	AutoAddGroupOwner *bool `type:"boolean"`
14343
14344	// The name of the Linux OS group whose privileges will be added to the Lambda
14345	// process. This field is optional.
14346	GroupOwner *string `type:"string"`
14347}
14348
14349// String returns the string representation
14350func (s GroupOwnerSetting) String() string {
14351	return awsutil.Prettify(s)
14352}
14353
14354// GoString returns the string representation
14355func (s GroupOwnerSetting) GoString() string {
14356	return s.String()
14357}
14358
14359// SetAutoAddGroupOwner sets the AutoAddGroupOwner field's value.
14360func (s *GroupOwnerSetting) SetAutoAddGroupOwner(v bool) *GroupOwnerSetting {
14361	s.AutoAddGroupOwner = &v
14362	return s
14363}
14364
14365// SetGroupOwner sets the GroupOwner field's value.
14366func (s *GroupOwnerSetting) SetGroupOwner(v string) *GroupOwnerSetting {
14367	s.GroupOwner = &v
14368	return s
14369}
14370
14371// Information about a group version.
14372type GroupVersion struct {
14373	_ struct{} `type:"structure"`
14374
14375	// The ARN of the connector definition version for this group.
14376	ConnectorDefinitionVersionArn *string `type:"string"`
14377
14378	// The ARN of the core definition version for this group.
14379	CoreDefinitionVersionArn *string `type:"string"`
14380
14381	// The ARN of the device definition version for this group.
14382	DeviceDefinitionVersionArn *string `type:"string"`
14383
14384	// The ARN of the function definition version for this group.
14385	FunctionDefinitionVersionArn *string `type:"string"`
14386
14387	// The ARN of the logger definition version for this group.
14388	LoggerDefinitionVersionArn *string `type:"string"`
14389
14390	// The ARN of the resource definition version for this group.
14391	ResourceDefinitionVersionArn *string `type:"string"`
14392
14393	// The ARN of the subscription definition version for this group.
14394	SubscriptionDefinitionVersionArn *string `type:"string"`
14395}
14396
14397// String returns the string representation
14398func (s GroupVersion) String() string {
14399	return awsutil.Prettify(s)
14400}
14401
14402// GoString returns the string representation
14403func (s GroupVersion) GoString() string {
14404	return s.String()
14405}
14406
14407// SetConnectorDefinitionVersionArn sets the ConnectorDefinitionVersionArn field's value.
14408func (s *GroupVersion) SetConnectorDefinitionVersionArn(v string) *GroupVersion {
14409	s.ConnectorDefinitionVersionArn = &v
14410	return s
14411}
14412
14413// SetCoreDefinitionVersionArn sets the CoreDefinitionVersionArn field's value.
14414func (s *GroupVersion) SetCoreDefinitionVersionArn(v string) *GroupVersion {
14415	s.CoreDefinitionVersionArn = &v
14416	return s
14417}
14418
14419// SetDeviceDefinitionVersionArn sets the DeviceDefinitionVersionArn field's value.
14420func (s *GroupVersion) SetDeviceDefinitionVersionArn(v string) *GroupVersion {
14421	s.DeviceDefinitionVersionArn = &v
14422	return s
14423}
14424
14425// SetFunctionDefinitionVersionArn sets the FunctionDefinitionVersionArn field's value.
14426func (s *GroupVersion) SetFunctionDefinitionVersionArn(v string) *GroupVersion {
14427	s.FunctionDefinitionVersionArn = &v
14428	return s
14429}
14430
14431// SetLoggerDefinitionVersionArn sets the LoggerDefinitionVersionArn field's value.
14432func (s *GroupVersion) SetLoggerDefinitionVersionArn(v string) *GroupVersion {
14433	s.LoggerDefinitionVersionArn = &v
14434	return s
14435}
14436
14437// SetResourceDefinitionVersionArn sets the ResourceDefinitionVersionArn field's value.
14438func (s *GroupVersion) SetResourceDefinitionVersionArn(v string) *GroupVersion {
14439	s.ResourceDefinitionVersionArn = &v
14440	return s
14441}
14442
14443// SetSubscriptionDefinitionVersionArn sets the SubscriptionDefinitionVersionArn field's value.
14444func (s *GroupVersion) SetSubscriptionDefinitionVersionArn(v string) *GroupVersion {
14445	s.SubscriptionDefinitionVersionArn = &v
14446	return s
14447}
14448
14449// General error information.
14450type InternalServerErrorException struct {
14451	_            struct{}                  `type:"structure"`
14452	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14453
14454	// A list of error details.
14455	ErrorDetails []*ErrorDetail `type:"list"`
14456
14457	Message_ *string `locationName:"Message" type:"string"`
14458}
14459
14460// String returns the string representation
14461func (s InternalServerErrorException) String() string {
14462	return awsutil.Prettify(s)
14463}
14464
14465// GoString returns the string representation
14466func (s InternalServerErrorException) GoString() string {
14467	return s.String()
14468}
14469
14470func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
14471	return &InternalServerErrorException{
14472		RespMetadata: v,
14473	}
14474}
14475
14476// Code returns the exception type name.
14477func (s *InternalServerErrorException) Code() string {
14478	return "InternalServerErrorException"
14479}
14480
14481// Message returns the exception's message.
14482func (s *InternalServerErrorException) Message() string {
14483	if s.Message_ != nil {
14484		return *s.Message_
14485	}
14486	return ""
14487}
14488
14489// OrigErr always returns nil, satisfies awserr.Error interface.
14490func (s *InternalServerErrorException) OrigErr() error {
14491	return nil
14492}
14493
14494func (s *InternalServerErrorException) Error() string {
14495	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14496}
14497
14498// Status code returns the HTTP status code for the request's response error.
14499func (s *InternalServerErrorException) StatusCode() int {
14500	return s.RespMetadata.StatusCode
14501}
14502
14503// RequestID returns the service's response RequestID for request.
14504func (s *InternalServerErrorException) RequestID() string {
14505	return s.RespMetadata.RequestID
14506}
14507
14508type ListBulkDeploymentDetailedReportsInput struct {
14509	_ struct{} `type:"structure"`
14510
14511	// BulkDeploymentId is a required field
14512	BulkDeploymentId *string `location:"uri" locationName:"BulkDeploymentId" type:"string" required:"true"`
14513
14514	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14515
14516	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14517}
14518
14519// String returns the string representation
14520func (s ListBulkDeploymentDetailedReportsInput) String() string {
14521	return awsutil.Prettify(s)
14522}
14523
14524// GoString returns the string representation
14525func (s ListBulkDeploymentDetailedReportsInput) GoString() string {
14526	return s.String()
14527}
14528
14529// Validate inspects the fields of the type to determine if they are valid.
14530func (s *ListBulkDeploymentDetailedReportsInput) Validate() error {
14531	invalidParams := request.ErrInvalidParams{Context: "ListBulkDeploymentDetailedReportsInput"}
14532	if s.BulkDeploymentId == nil {
14533		invalidParams.Add(request.NewErrParamRequired("BulkDeploymentId"))
14534	}
14535	if s.BulkDeploymentId != nil && len(*s.BulkDeploymentId) < 1 {
14536		invalidParams.Add(request.NewErrParamMinLen("BulkDeploymentId", 1))
14537	}
14538
14539	if invalidParams.Len() > 0 {
14540		return invalidParams
14541	}
14542	return nil
14543}
14544
14545// SetBulkDeploymentId sets the BulkDeploymentId field's value.
14546func (s *ListBulkDeploymentDetailedReportsInput) SetBulkDeploymentId(v string) *ListBulkDeploymentDetailedReportsInput {
14547	s.BulkDeploymentId = &v
14548	return s
14549}
14550
14551// SetMaxResults sets the MaxResults field's value.
14552func (s *ListBulkDeploymentDetailedReportsInput) SetMaxResults(v string) *ListBulkDeploymentDetailedReportsInput {
14553	s.MaxResults = &v
14554	return s
14555}
14556
14557// SetNextToken sets the NextToken field's value.
14558func (s *ListBulkDeploymentDetailedReportsInput) SetNextToken(v string) *ListBulkDeploymentDetailedReportsInput {
14559	s.NextToken = &v
14560	return s
14561}
14562
14563type ListBulkDeploymentDetailedReportsOutput struct {
14564	_ struct{} `type:"structure"`
14565
14566	// A list of the individual group deployments in the bulk deployment operation.
14567	Deployments []*BulkDeploymentResult `type:"list"`
14568
14569	// The token for the next set of results, or ''null'' if there are no additional
14570	// results.
14571	NextToken *string `type:"string"`
14572}
14573
14574// String returns the string representation
14575func (s ListBulkDeploymentDetailedReportsOutput) String() string {
14576	return awsutil.Prettify(s)
14577}
14578
14579// GoString returns the string representation
14580func (s ListBulkDeploymentDetailedReportsOutput) GoString() string {
14581	return s.String()
14582}
14583
14584// SetDeployments sets the Deployments field's value.
14585func (s *ListBulkDeploymentDetailedReportsOutput) SetDeployments(v []*BulkDeploymentResult) *ListBulkDeploymentDetailedReportsOutput {
14586	s.Deployments = v
14587	return s
14588}
14589
14590// SetNextToken sets the NextToken field's value.
14591func (s *ListBulkDeploymentDetailedReportsOutput) SetNextToken(v string) *ListBulkDeploymentDetailedReportsOutput {
14592	s.NextToken = &v
14593	return s
14594}
14595
14596type ListBulkDeploymentsInput struct {
14597	_ struct{} `type:"structure"`
14598
14599	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14600
14601	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14602}
14603
14604// String returns the string representation
14605func (s ListBulkDeploymentsInput) String() string {
14606	return awsutil.Prettify(s)
14607}
14608
14609// GoString returns the string representation
14610func (s ListBulkDeploymentsInput) GoString() string {
14611	return s.String()
14612}
14613
14614// SetMaxResults sets the MaxResults field's value.
14615func (s *ListBulkDeploymentsInput) SetMaxResults(v string) *ListBulkDeploymentsInput {
14616	s.MaxResults = &v
14617	return s
14618}
14619
14620// SetNextToken sets the NextToken field's value.
14621func (s *ListBulkDeploymentsInput) SetNextToken(v string) *ListBulkDeploymentsInput {
14622	s.NextToken = &v
14623	return s
14624}
14625
14626type ListBulkDeploymentsOutput struct {
14627	_ struct{} `type:"structure"`
14628
14629	// A list of bulk deployments.
14630	BulkDeployments []*BulkDeployment `type:"list"`
14631
14632	// The token for the next set of results, or ''null'' if there are no additional
14633	// results.
14634	NextToken *string `type:"string"`
14635}
14636
14637// String returns the string representation
14638func (s ListBulkDeploymentsOutput) String() string {
14639	return awsutil.Prettify(s)
14640}
14641
14642// GoString returns the string representation
14643func (s ListBulkDeploymentsOutput) GoString() string {
14644	return s.String()
14645}
14646
14647// SetBulkDeployments sets the BulkDeployments field's value.
14648func (s *ListBulkDeploymentsOutput) SetBulkDeployments(v []*BulkDeployment) *ListBulkDeploymentsOutput {
14649	s.BulkDeployments = v
14650	return s
14651}
14652
14653// SetNextToken sets the NextToken field's value.
14654func (s *ListBulkDeploymentsOutput) SetNextToken(v string) *ListBulkDeploymentsOutput {
14655	s.NextToken = &v
14656	return s
14657}
14658
14659type ListConnectorDefinitionVersionsInput struct {
14660	_ struct{} `type:"structure"`
14661
14662	// ConnectorDefinitionId is a required field
14663	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
14664
14665	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14666
14667	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14668}
14669
14670// String returns the string representation
14671func (s ListConnectorDefinitionVersionsInput) String() string {
14672	return awsutil.Prettify(s)
14673}
14674
14675// GoString returns the string representation
14676func (s ListConnectorDefinitionVersionsInput) GoString() string {
14677	return s.String()
14678}
14679
14680// Validate inspects the fields of the type to determine if they are valid.
14681func (s *ListConnectorDefinitionVersionsInput) Validate() error {
14682	invalidParams := request.ErrInvalidParams{Context: "ListConnectorDefinitionVersionsInput"}
14683	if s.ConnectorDefinitionId == nil {
14684		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
14685	}
14686	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
14687		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
14688	}
14689
14690	if invalidParams.Len() > 0 {
14691		return invalidParams
14692	}
14693	return nil
14694}
14695
14696// SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
14697func (s *ListConnectorDefinitionVersionsInput) SetConnectorDefinitionId(v string) *ListConnectorDefinitionVersionsInput {
14698	s.ConnectorDefinitionId = &v
14699	return s
14700}
14701
14702// SetMaxResults sets the MaxResults field's value.
14703func (s *ListConnectorDefinitionVersionsInput) SetMaxResults(v string) *ListConnectorDefinitionVersionsInput {
14704	s.MaxResults = &v
14705	return s
14706}
14707
14708// SetNextToken sets the NextToken field's value.
14709func (s *ListConnectorDefinitionVersionsInput) SetNextToken(v string) *ListConnectorDefinitionVersionsInput {
14710	s.NextToken = &v
14711	return s
14712}
14713
14714type ListConnectorDefinitionVersionsOutput struct {
14715	_ struct{} `type:"structure"`
14716
14717	NextToken *string `type:"string"`
14718
14719	Versions []*VersionInformation `type:"list"`
14720}
14721
14722// String returns the string representation
14723func (s ListConnectorDefinitionVersionsOutput) String() string {
14724	return awsutil.Prettify(s)
14725}
14726
14727// GoString returns the string representation
14728func (s ListConnectorDefinitionVersionsOutput) GoString() string {
14729	return s.String()
14730}
14731
14732// SetNextToken sets the NextToken field's value.
14733func (s *ListConnectorDefinitionVersionsOutput) SetNextToken(v string) *ListConnectorDefinitionVersionsOutput {
14734	s.NextToken = &v
14735	return s
14736}
14737
14738// SetVersions sets the Versions field's value.
14739func (s *ListConnectorDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListConnectorDefinitionVersionsOutput {
14740	s.Versions = v
14741	return s
14742}
14743
14744type ListConnectorDefinitionsInput struct {
14745	_ struct{} `type:"structure"`
14746
14747	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14748
14749	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14750}
14751
14752// String returns the string representation
14753func (s ListConnectorDefinitionsInput) String() string {
14754	return awsutil.Prettify(s)
14755}
14756
14757// GoString returns the string representation
14758func (s ListConnectorDefinitionsInput) GoString() string {
14759	return s.String()
14760}
14761
14762// SetMaxResults sets the MaxResults field's value.
14763func (s *ListConnectorDefinitionsInput) SetMaxResults(v string) *ListConnectorDefinitionsInput {
14764	s.MaxResults = &v
14765	return s
14766}
14767
14768// SetNextToken sets the NextToken field's value.
14769func (s *ListConnectorDefinitionsInput) SetNextToken(v string) *ListConnectorDefinitionsInput {
14770	s.NextToken = &v
14771	return s
14772}
14773
14774type ListConnectorDefinitionsOutput struct {
14775	_ struct{} `type:"structure"`
14776
14777	Definitions []*DefinitionInformation `type:"list"`
14778
14779	NextToken *string `type:"string"`
14780}
14781
14782// String returns the string representation
14783func (s ListConnectorDefinitionsOutput) String() string {
14784	return awsutil.Prettify(s)
14785}
14786
14787// GoString returns the string representation
14788func (s ListConnectorDefinitionsOutput) GoString() string {
14789	return s.String()
14790}
14791
14792// SetDefinitions sets the Definitions field's value.
14793func (s *ListConnectorDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListConnectorDefinitionsOutput {
14794	s.Definitions = v
14795	return s
14796}
14797
14798// SetNextToken sets the NextToken field's value.
14799func (s *ListConnectorDefinitionsOutput) SetNextToken(v string) *ListConnectorDefinitionsOutput {
14800	s.NextToken = &v
14801	return s
14802}
14803
14804type ListCoreDefinitionVersionsInput struct {
14805	_ struct{} `type:"structure"`
14806
14807	// CoreDefinitionId is a required field
14808	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
14809
14810	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14811
14812	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14813}
14814
14815// String returns the string representation
14816func (s ListCoreDefinitionVersionsInput) String() string {
14817	return awsutil.Prettify(s)
14818}
14819
14820// GoString returns the string representation
14821func (s ListCoreDefinitionVersionsInput) GoString() string {
14822	return s.String()
14823}
14824
14825// Validate inspects the fields of the type to determine if they are valid.
14826func (s *ListCoreDefinitionVersionsInput) Validate() error {
14827	invalidParams := request.ErrInvalidParams{Context: "ListCoreDefinitionVersionsInput"}
14828	if s.CoreDefinitionId == nil {
14829		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
14830	}
14831	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
14832		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
14833	}
14834
14835	if invalidParams.Len() > 0 {
14836		return invalidParams
14837	}
14838	return nil
14839}
14840
14841// SetCoreDefinitionId sets the CoreDefinitionId field's value.
14842func (s *ListCoreDefinitionVersionsInput) SetCoreDefinitionId(v string) *ListCoreDefinitionVersionsInput {
14843	s.CoreDefinitionId = &v
14844	return s
14845}
14846
14847// SetMaxResults sets the MaxResults field's value.
14848func (s *ListCoreDefinitionVersionsInput) SetMaxResults(v string) *ListCoreDefinitionVersionsInput {
14849	s.MaxResults = &v
14850	return s
14851}
14852
14853// SetNextToken sets the NextToken field's value.
14854func (s *ListCoreDefinitionVersionsInput) SetNextToken(v string) *ListCoreDefinitionVersionsInput {
14855	s.NextToken = &v
14856	return s
14857}
14858
14859type ListCoreDefinitionVersionsOutput struct {
14860	_ struct{} `type:"structure"`
14861
14862	NextToken *string `type:"string"`
14863
14864	Versions []*VersionInformation `type:"list"`
14865}
14866
14867// String returns the string representation
14868func (s ListCoreDefinitionVersionsOutput) String() string {
14869	return awsutil.Prettify(s)
14870}
14871
14872// GoString returns the string representation
14873func (s ListCoreDefinitionVersionsOutput) GoString() string {
14874	return s.String()
14875}
14876
14877// SetNextToken sets the NextToken field's value.
14878func (s *ListCoreDefinitionVersionsOutput) SetNextToken(v string) *ListCoreDefinitionVersionsOutput {
14879	s.NextToken = &v
14880	return s
14881}
14882
14883// SetVersions sets the Versions field's value.
14884func (s *ListCoreDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListCoreDefinitionVersionsOutput {
14885	s.Versions = v
14886	return s
14887}
14888
14889type ListCoreDefinitionsInput struct {
14890	_ struct{} `type:"structure"`
14891
14892	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14893
14894	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14895}
14896
14897// String returns the string representation
14898func (s ListCoreDefinitionsInput) String() string {
14899	return awsutil.Prettify(s)
14900}
14901
14902// GoString returns the string representation
14903func (s ListCoreDefinitionsInput) GoString() string {
14904	return s.String()
14905}
14906
14907// SetMaxResults sets the MaxResults field's value.
14908func (s *ListCoreDefinitionsInput) SetMaxResults(v string) *ListCoreDefinitionsInput {
14909	s.MaxResults = &v
14910	return s
14911}
14912
14913// SetNextToken sets the NextToken field's value.
14914func (s *ListCoreDefinitionsInput) SetNextToken(v string) *ListCoreDefinitionsInput {
14915	s.NextToken = &v
14916	return s
14917}
14918
14919type ListCoreDefinitionsOutput struct {
14920	_ struct{} `type:"structure"`
14921
14922	Definitions []*DefinitionInformation `type:"list"`
14923
14924	NextToken *string `type:"string"`
14925}
14926
14927// String returns the string representation
14928func (s ListCoreDefinitionsOutput) String() string {
14929	return awsutil.Prettify(s)
14930}
14931
14932// GoString returns the string representation
14933func (s ListCoreDefinitionsOutput) GoString() string {
14934	return s.String()
14935}
14936
14937// SetDefinitions sets the Definitions field's value.
14938func (s *ListCoreDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListCoreDefinitionsOutput {
14939	s.Definitions = v
14940	return s
14941}
14942
14943// SetNextToken sets the NextToken field's value.
14944func (s *ListCoreDefinitionsOutput) SetNextToken(v string) *ListCoreDefinitionsOutput {
14945	s.NextToken = &v
14946	return s
14947}
14948
14949type ListDeploymentsInput struct {
14950	_ struct{} `type:"structure"`
14951
14952	// GroupId is a required field
14953	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
14954
14955	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
14956
14957	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
14958}
14959
14960// String returns the string representation
14961func (s ListDeploymentsInput) String() string {
14962	return awsutil.Prettify(s)
14963}
14964
14965// GoString returns the string representation
14966func (s ListDeploymentsInput) GoString() string {
14967	return s.String()
14968}
14969
14970// Validate inspects the fields of the type to determine if they are valid.
14971func (s *ListDeploymentsInput) Validate() error {
14972	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"}
14973	if s.GroupId == nil {
14974		invalidParams.Add(request.NewErrParamRequired("GroupId"))
14975	}
14976	if s.GroupId != nil && len(*s.GroupId) < 1 {
14977		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
14978	}
14979
14980	if invalidParams.Len() > 0 {
14981		return invalidParams
14982	}
14983	return nil
14984}
14985
14986// SetGroupId sets the GroupId field's value.
14987func (s *ListDeploymentsInput) SetGroupId(v string) *ListDeploymentsInput {
14988	s.GroupId = &v
14989	return s
14990}
14991
14992// SetMaxResults sets the MaxResults field's value.
14993func (s *ListDeploymentsInput) SetMaxResults(v string) *ListDeploymentsInput {
14994	s.MaxResults = &v
14995	return s
14996}
14997
14998// SetNextToken sets the NextToken field's value.
14999func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput {
15000	s.NextToken = &v
15001	return s
15002}
15003
15004type ListDeploymentsOutput struct {
15005	_ struct{} `type:"structure"`
15006
15007	// A list of deployments for the requested groups.
15008	Deployments []*Deployment `type:"list"`
15009
15010	// The token for the next set of results, or ''null'' if there are no additional
15011	// results.
15012	NextToken *string `type:"string"`
15013}
15014
15015// String returns the string representation
15016func (s ListDeploymentsOutput) String() string {
15017	return awsutil.Prettify(s)
15018}
15019
15020// GoString returns the string representation
15021func (s ListDeploymentsOutput) GoString() string {
15022	return s.String()
15023}
15024
15025// SetDeployments sets the Deployments field's value.
15026func (s *ListDeploymentsOutput) SetDeployments(v []*Deployment) *ListDeploymentsOutput {
15027	s.Deployments = v
15028	return s
15029}
15030
15031// SetNextToken sets the NextToken field's value.
15032func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput {
15033	s.NextToken = &v
15034	return s
15035}
15036
15037type ListDeviceDefinitionVersionsInput struct {
15038	_ struct{} `type:"structure"`
15039
15040	// DeviceDefinitionId is a required field
15041	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
15042
15043	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15044
15045	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15046}
15047
15048// String returns the string representation
15049func (s ListDeviceDefinitionVersionsInput) String() string {
15050	return awsutil.Prettify(s)
15051}
15052
15053// GoString returns the string representation
15054func (s ListDeviceDefinitionVersionsInput) GoString() string {
15055	return s.String()
15056}
15057
15058// Validate inspects the fields of the type to determine if they are valid.
15059func (s *ListDeviceDefinitionVersionsInput) Validate() error {
15060	invalidParams := request.ErrInvalidParams{Context: "ListDeviceDefinitionVersionsInput"}
15061	if s.DeviceDefinitionId == nil {
15062		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
15063	}
15064	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
15065		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
15066	}
15067
15068	if invalidParams.Len() > 0 {
15069		return invalidParams
15070	}
15071	return nil
15072}
15073
15074// SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
15075func (s *ListDeviceDefinitionVersionsInput) SetDeviceDefinitionId(v string) *ListDeviceDefinitionVersionsInput {
15076	s.DeviceDefinitionId = &v
15077	return s
15078}
15079
15080// SetMaxResults sets the MaxResults field's value.
15081func (s *ListDeviceDefinitionVersionsInput) SetMaxResults(v string) *ListDeviceDefinitionVersionsInput {
15082	s.MaxResults = &v
15083	return s
15084}
15085
15086// SetNextToken sets the NextToken field's value.
15087func (s *ListDeviceDefinitionVersionsInput) SetNextToken(v string) *ListDeviceDefinitionVersionsInput {
15088	s.NextToken = &v
15089	return s
15090}
15091
15092type ListDeviceDefinitionVersionsOutput struct {
15093	_ struct{} `type:"structure"`
15094
15095	NextToken *string `type:"string"`
15096
15097	Versions []*VersionInformation `type:"list"`
15098}
15099
15100// String returns the string representation
15101func (s ListDeviceDefinitionVersionsOutput) String() string {
15102	return awsutil.Prettify(s)
15103}
15104
15105// GoString returns the string representation
15106func (s ListDeviceDefinitionVersionsOutput) GoString() string {
15107	return s.String()
15108}
15109
15110// SetNextToken sets the NextToken field's value.
15111func (s *ListDeviceDefinitionVersionsOutput) SetNextToken(v string) *ListDeviceDefinitionVersionsOutput {
15112	s.NextToken = &v
15113	return s
15114}
15115
15116// SetVersions sets the Versions field's value.
15117func (s *ListDeviceDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListDeviceDefinitionVersionsOutput {
15118	s.Versions = v
15119	return s
15120}
15121
15122type ListDeviceDefinitionsInput struct {
15123	_ struct{} `type:"structure"`
15124
15125	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15126
15127	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15128}
15129
15130// String returns the string representation
15131func (s ListDeviceDefinitionsInput) String() string {
15132	return awsutil.Prettify(s)
15133}
15134
15135// GoString returns the string representation
15136func (s ListDeviceDefinitionsInput) GoString() string {
15137	return s.String()
15138}
15139
15140// SetMaxResults sets the MaxResults field's value.
15141func (s *ListDeviceDefinitionsInput) SetMaxResults(v string) *ListDeviceDefinitionsInput {
15142	s.MaxResults = &v
15143	return s
15144}
15145
15146// SetNextToken sets the NextToken field's value.
15147func (s *ListDeviceDefinitionsInput) SetNextToken(v string) *ListDeviceDefinitionsInput {
15148	s.NextToken = &v
15149	return s
15150}
15151
15152type ListDeviceDefinitionsOutput struct {
15153	_ struct{} `type:"structure"`
15154
15155	Definitions []*DefinitionInformation `type:"list"`
15156
15157	NextToken *string `type:"string"`
15158}
15159
15160// String returns the string representation
15161func (s ListDeviceDefinitionsOutput) String() string {
15162	return awsutil.Prettify(s)
15163}
15164
15165// GoString returns the string representation
15166func (s ListDeviceDefinitionsOutput) GoString() string {
15167	return s.String()
15168}
15169
15170// SetDefinitions sets the Definitions field's value.
15171func (s *ListDeviceDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListDeviceDefinitionsOutput {
15172	s.Definitions = v
15173	return s
15174}
15175
15176// SetNextToken sets the NextToken field's value.
15177func (s *ListDeviceDefinitionsOutput) SetNextToken(v string) *ListDeviceDefinitionsOutput {
15178	s.NextToken = &v
15179	return s
15180}
15181
15182type ListFunctionDefinitionVersionsInput struct {
15183	_ struct{} `type:"structure"`
15184
15185	// FunctionDefinitionId is a required field
15186	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
15187
15188	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15189
15190	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15191}
15192
15193// String returns the string representation
15194func (s ListFunctionDefinitionVersionsInput) String() string {
15195	return awsutil.Prettify(s)
15196}
15197
15198// GoString returns the string representation
15199func (s ListFunctionDefinitionVersionsInput) GoString() string {
15200	return s.String()
15201}
15202
15203// Validate inspects the fields of the type to determine if they are valid.
15204func (s *ListFunctionDefinitionVersionsInput) Validate() error {
15205	invalidParams := request.ErrInvalidParams{Context: "ListFunctionDefinitionVersionsInput"}
15206	if s.FunctionDefinitionId == nil {
15207		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
15208	}
15209	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
15210		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
15211	}
15212
15213	if invalidParams.Len() > 0 {
15214		return invalidParams
15215	}
15216	return nil
15217}
15218
15219// SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
15220func (s *ListFunctionDefinitionVersionsInput) SetFunctionDefinitionId(v string) *ListFunctionDefinitionVersionsInput {
15221	s.FunctionDefinitionId = &v
15222	return s
15223}
15224
15225// SetMaxResults sets the MaxResults field's value.
15226func (s *ListFunctionDefinitionVersionsInput) SetMaxResults(v string) *ListFunctionDefinitionVersionsInput {
15227	s.MaxResults = &v
15228	return s
15229}
15230
15231// SetNextToken sets the NextToken field's value.
15232func (s *ListFunctionDefinitionVersionsInput) SetNextToken(v string) *ListFunctionDefinitionVersionsInput {
15233	s.NextToken = &v
15234	return s
15235}
15236
15237type ListFunctionDefinitionVersionsOutput struct {
15238	_ struct{} `type:"structure"`
15239
15240	NextToken *string `type:"string"`
15241
15242	Versions []*VersionInformation `type:"list"`
15243}
15244
15245// String returns the string representation
15246func (s ListFunctionDefinitionVersionsOutput) String() string {
15247	return awsutil.Prettify(s)
15248}
15249
15250// GoString returns the string representation
15251func (s ListFunctionDefinitionVersionsOutput) GoString() string {
15252	return s.String()
15253}
15254
15255// SetNextToken sets the NextToken field's value.
15256func (s *ListFunctionDefinitionVersionsOutput) SetNextToken(v string) *ListFunctionDefinitionVersionsOutput {
15257	s.NextToken = &v
15258	return s
15259}
15260
15261// SetVersions sets the Versions field's value.
15262func (s *ListFunctionDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListFunctionDefinitionVersionsOutput {
15263	s.Versions = v
15264	return s
15265}
15266
15267type ListFunctionDefinitionsInput struct {
15268	_ struct{} `type:"structure"`
15269
15270	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15271
15272	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15273}
15274
15275// String returns the string representation
15276func (s ListFunctionDefinitionsInput) String() string {
15277	return awsutil.Prettify(s)
15278}
15279
15280// GoString returns the string representation
15281func (s ListFunctionDefinitionsInput) GoString() string {
15282	return s.String()
15283}
15284
15285// SetMaxResults sets the MaxResults field's value.
15286func (s *ListFunctionDefinitionsInput) SetMaxResults(v string) *ListFunctionDefinitionsInput {
15287	s.MaxResults = &v
15288	return s
15289}
15290
15291// SetNextToken sets the NextToken field's value.
15292func (s *ListFunctionDefinitionsInput) SetNextToken(v string) *ListFunctionDefinitionsInput {
15293	s.NextToken = &v
15294	return s
15295}
15296
15297type ListFunctionDefinitionsOutput struct {
15298	_ struct{} `type:"structure"`
15299
15300	Definitions []*DefinitionInformation `type:"list"`
15301
15302	NextToken *string `type:"string"`
15303}
15304
15305// String returns the string representation
15306func (s ListFunctionDefinitionsOutput) String() string {
15307	return awsutil.Prettify(s)
15308}
15309
15310// GoString returns the string representation
15311func (s ListFunctionDefinitionsOutput) GoString() string {
15312	return s.String()
15313}
15314
15315// SetDefinitions sets the Definitions field's value.
15316func (s *ListFunctionDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListFunctionDefinitionsOutput {
15317	s.Definitions = v
15318	return s
15319}
15320
15321// SetNextToken sets the NextToken field's value.
15322func (s *ListFunctionDefinitionsOutput) SetNextToken(v string) *ListFunctionDefinitionsOutput {
15323	s.NextToken = &v
15324	return s
15325}
15326
15327type ListGroupCertificateAuthoritiesInput struct {
15328	_ struct{} `type:"structure"`
15329
15330	// GroupId is a required field
15331	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
15332}
15333
15334// String returns the string representation
15335func (s ListGroupCertificateAuthoritiesInput) String() string {
15336	return awsutil.Prettify(s)
15337}
15338
15339// GoString returns the string representation
15340func (s ListGroupCertificateAuthoritiesInput) GoString() string {
15341	return s.String()
15342}
15343
15344// Validate inspects the fields of the type to determine if they are valid.
15345func (s *ListGroupCertificateAuthoritiesInput) Validate() error {
15346	invalidParams := request.ErrInvalidParams{Context: "ListGroupCertificateAuthoritiesInput"}
15347	if s.GroupId == nil {
15348		invalidParams.Add(request.NewErrParamRequired("GroupId"))
15349	}
15350	if s.GroupId != nil && len(*s.GroupId) < 1 {
15351		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
15352	}
15353
15354	if invalidParams.Len() > 0 {
15355		return invalidParams
15356	}
15357	return nil
15358}
15359
15360// SetGroupId sets the GroupId field's value.
15361func (s *ListGroupCertificateAuthoritiesInput) SetGroupId(v string) *ListGroupCertificateAuthoritiesInput {
15362	s.GroupId = &v
15363	return s
15364}
15365
15366type ListGroupCertificateAuthoritiesOutput struct {
15367	_ struct{} `type:"structure"`
15368
15369	// A list of certificate authorities associated with the group.
15370	GroupCertificateAuthorities []*GroupCertificateAuthorityProperties `type:"list"`
15371}
15372
15373// String returns the string representation
15374func (s ListGroupCertificateAuthoritiesOutput) String() string {
15375	return awsutil.Prettify(s)
15376}
15377
15378// GoString returns the string representation
15379func (s ListGroupCertificateAuthoritiesOutput) GoString() string {
15380	return s.String()
15381}
15382
15383// SetGroupCertificateAuthorities sets the GroupCertificateAuthorities field's value.
15384func (s *ListGroupCertificateAuthoritiesOutput) SetGroupCertificateAuthorities(v []*GroupCertificateAuthorityProperties) *ListGroupCertificateAuthoritiesOutput {
15385	s.GroupCertificateAuthorities = v
15386	return s
15387}
15388
15389type ListGroupVersionsInput struct {
15390	_ struct{} `type:"structure"`
15391
15392	// GroupId is a required field
15393	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
15394
15395	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15396
15397	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15398}
15399
15400// String returns the string representation
15401func (s ListGroupVersionsInput) String() string {
15402	return awsutil.Prettify(s)
15403}
15404
15405// GoString returns the string representation
15406func (s ListGroupVersionsInput) GoString() string {
15407	return s.String()
15408}
15409
15410// Validate inspects the fields of the type to determine if they are valid.
15411func (s *ListGroupVersionsInput) Validate() error {
15412	invalidParams := request.ErrInvalidParams{Context: "ListGroupVersionsInput"}
15413	if s.GroupId == nil {
15414		invalidParams.Add(request.NewErrParamRequired("GroupId"))
15415	}
15416	if s.GroupId != nil && len(*s.GroupId) < 1 {
15417		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
15418	}
15419
15420	if invalidParams.Len() > 0 {
15421		return invalidParams
15422	}
15423	return nil
15424}
15425
15426// SetGroupId sets the GroupId field's value.
15427func (s *ListGroupVersionsInput) SetGroupId(v string) *ListGroupVersionsInput {
15428	s.GroupId = &v
15429	return s
15430}
15431
15432// SetMaxResults sets the MaxResults field's value.
15433func (s *ListGroupVersionsInput) SetMaxResults(v string) *ListGroupVersionsInput {
15434	s.MaxResults = &v
15435	return s
15436}
15437
15438// SetNextToken sets the NextToken field's value.
15439func (s *ListGroupVersionsInput) SetNextToken(v string) *ListGroupVersionsInput {
15440	s.NextToken = &v
15441	return s
15442}
15443
15444type ListGroupVersionsOutput struct {
15445	_ struct{} `type:"structure"`
15446
15447	NextToken *string `type:"string"`
15448
15449	Versions []*VersionInformation `type:"list"`
15450}
15451
15452// String returns the string representation
15453func (s ListGroupVersionsOutput) String() string {
15454	return awsutil.Prettify(s)
15455}
15456
15457// GoString returns the string representation
15458func (s ListGroupVersionsOutput) GoString() string {
15459	return s.String()
15460}
15461
15462// SetNextToken sets the NextToken field's value.
15463func (s *ListGroupVersionsOutput) SetNextToken(v string) *ListGroupVersionsOutput {
15464	s.NextToken = &v
15465	return s
15466}
15467
15468// SetVersions sets the Versions field's value.
15469func (s *ListGroupVersionsOutput) SetVersions(v []*VersionInformation) *ListGroupVersionsOutput {
15470	s.Versions = v
15471	return s
15472}
15473
15474type ListGroupsInput struct {
15475	_ struct{} `type:"structure"`
15476
15477	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15478
15479	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15480}
15481
15482// String returns the string representation
15483func (s ListGroupsInput) String() string {
15484	return awsutil.Prettify(s)
15485}
15486
15487// GoString returns the string representation
15488func (s ListGroupsInput) GoString() string {
15489	return s.String()
15490}
15491
15492// SetMaxResults sets the MaxResults field's value.
15493func (s *ListGroupsInput) SetMaxResults(v string) *ListGroupsInput {
15494	s.MaxResults = &v
15495	return s
15496}
15497
15498// SetNextToken sets the NextToken field's value.
15499func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput {
15500	s.NextToken = &v
15501	return s
15502}
15503
15504type ListGroupsOutput struct {
15505	_ struct{} `type:"structure"`
15506
15507	// Information about a group.
15508	Groups []*GroupInformation `type:"list"`
15509
15510	// The token for the next set of results, or ''null'' if there are no additional
15511	// results.
15512	NextToken *string `type:"string"`
15513}
15514
15515// String returns the string representation
15516func (s ListGroupsOutput) String() string {
15517	return awsutil.Prettify(s)
15518}
15519
15520// GoString returns the string representation
15521func (s ListGroupsOutput) GoString() string {
15522	return s.String()
15523}
15524
15525// SetGroups sets the Groups field's value.
15526func (s *ListGroupsOutput) SetGroups(v []*GroupInformation) *ListGroupsOutput {
15527	s.Groups = v
15528	return s
15529}
15530
15531// SetNextToken sets the NextToken field's value.
15532func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput {
15533	s.NextToken = &v
15534	return s
15535}
15536
15537type ListLoggerDefinitionVersionsInput struct {
15538	_ struct{} `type:"structure"`
15539
15540	// LoggerDefinitionId is a required field
15541	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
15542
15543	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15544
15545	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15546}
15547
15548// String returns the string representation
15549func (s ListLoggerDefinitionVersionsInput) String() string {
15550	return awsutil.Prettify(s)
15551}
15552
15553// GoString returns the string representation
15554func (s ListLoggerDefinitionVersionsInput) GoString() string {
15555	return s.String()
15556}
15557
15558// Validate inspects the fields of the type to determine if they are valid.
15559func (s *ListLoggerDefinitionVersionsInput) Validate() error {
15560	invalidParams := request.ErrInvalidParams{Context: "ListLoggerDefinitionVersionsInput"}
15561	if s.LoggerDefinitionId == nil {
15562		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
15563	}
15564	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
15565		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
15566	}
15567
15568	if invalidParams.Len() > 0 {
15569		return invalidParams
15570	}
15571	return nil
15572}
15573
15574// SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
15575func (s *ListLoggerDefinitionVersionsInput) SetLoggerDefinitionId(v string) *ListLoggerDefinitionVersionsInput {
15576	s.LoggerDefinitionId = &v
15577	return s
15578}
15579
15580// SetMaxResults sets the MaxResults field's value.
15581func (s *ListLoggerDefinitionVersionsInput) SetMaxResults(v string) *ListLoggerDefinitionVersionsInput {
15582	s.MaxResults = &v
15583	return s
15584}
15585
15586// SetNextToken sets the NextToken field's value.
15587func (s *ListLoggerDefinitionVersionsInput) SetNextToken(v string) *ListLoggerDefinitionVersionsInput {
15588	s.NextToken = &v
15589	return s
15590}
15591
15592type ListLoggerDefinitionVersionsOutput struct {
15593	_ struct{} `type:"structure"`
15594
15595	NextToken *string `type:"string"`
15596
15597	Versions []*VersionInformation `type:"list"`
15598}
15599
15600// String returns the string representation
15601func (s ListLoggerDefinitionVersionsOutput) String() string {
15602	return awsutil.Prettify(s)
15603}
15604
15605// GoString returns the string representation
15606func (s ListLoggerDefinitionVersionsOutput) GoString() string {
15607	return s.String()
15608}
15609
15610// SetNextToken sets the NextToken field's value.
15611func (s *ListLoggerDefinitionVersionsOutput) SetNextToken(v string) *ListLoggerDefinitionVersionsOutput {
15612	s.NextToken = &v
15613	return s
15614}
15615
15616// SetVersions sets the Versions field's value.
15617func (s *ListLoggerDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListLoggerDefinitionVersionsOutput {
15618	s.Versions = v
15619	return s
15620}
15621
15622type ListLoggerDefinitionsInput struct {
15623	_ struct{} `type:"structure"`
15624
15625	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15626
15627	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15628}
15629
15630// String returns the string representation
15631func (s ListLoggerDefinitionsInput) String() string {
15632	return awsutil.Prettify(s)
15633}
15634
15635// GoString returns the string representation
15636func (s ListLoggerDefinitionsInput) GoString() string {
15637	return s.String()
15638}
15639
15640// SetMaxResults sets the MaxResults field's value.
15641func (s *ListLoggerDefinitionsInput) SetMaxResults(v string) *ListLoggerDefinitionsInput {
15642	s.MaxResults = &v
15643	return s
15644}
15645
15646// SetNextToken sets the NextToken field's value.
15647func (s *ListLoggerDefinitionsInput) SetNextToken(v string) *ListLoggerDefinitionsInput {
15648	s.NextToken = &v
15649	return s
15650}
15651
15652type ListLoggerDefinitionsOutput struct {
15653	_ struct{} `type:"structure"`
15654
15655	Definitions []*DefinitionInformation `type:"list"`
15656
15657	NextToken *string `type:"string"`
15658}
15659
15660// String returns the string representation
15661func (s ListLoggerDefinitionsOutput) String() string {
15662	return awsutil.Prettify(s)
15663}
15664
15665// GoString returns the string representation
15666func (s ListLoggerDefinitionsOutput) GoString() string {
15667	return s.String()
15668}
15669
15670// SetDefinitions sets the Definitions field's value.
15671func (s *ListLoggerDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListLoggerDefinitionsOutput {
15672	s.Definitions = v
15673	return s
15674}
15675
15676// SetNextToken sets the NextToken field's value.
15677func (s *ListLoggerDefinitionsOutput) SetNextToken(v string) *ListLoggerDefinitionsOutput {
15678	s.NextToken = &v
15679	return s
15680}
15681
15682type ListResourceDefinitionVersionsInput struct {
15683	_ struct{} `type:"structure"`
15684
15685	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15686
15687	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15688
15689	// ResourceDefinitionId is a required field
15690	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
15691}
15692
15693// String returns the string representation
15694func (s ListResourceDefinitionVersionsInput) String() string {
15695	return awsutil.Prettify(s)
15696}
15697
15698// GoString returns the string representation
15699func (s ListResourceDefinitionVersionsInput) GoString() string {
15700	return s.String()
15701}
15702
15703// Validate inspects the fields of the type to determine if they are valid.
15704func (s *ListResourceDefinitionVersionsInput) Validate() error {
15705	invalidParams := request.ErrInvalidParams{Context: "ListResourceDefinitionVersionsInput"}
15706	if s.ResourceDefinitionId == nil {
15707		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
15708	}
15709	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
15710		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
15711	}
15712
15713	if invalidParams.Len() > 0 {
15714		return invalidParams
15715	}
15716	return nil
15717}
15718
15719// SetMaxResults sets the MaxResults field's value.
15720func (s *ListResourceDefinitionVersionsInput) SetMaxResults(v string) *ListResourceDefinitionVersionsInput {
15721	s.MaxResults = &v
15722	return s
15723}
15724
15725// SetNextToken sets the NextToken field's value.
15726func (s *ListResourceDefinitionVersionsInput) SetNextToken(v string) *ListResourceDefinitionVersionsInput {
15727	s.NextToken = &v
15728	return s
15729}
15730
15731// SetResourceDefinitionId sets the ResourceDefinitionId field's value.
15732func (s *ListResourceDefinitionVersionsInput) SetResourceDefinitionId(v string) *ListResourceDefinitionVersionsInput {
15733	s.ResourceDefinitionId = &v
15734	return s
15735}
15736
15737type ListResourceDefinitionVersionsOutput struct {
15738	_ struct{} `type:"structure"`
15739
15740	NextToken *string `type:"string"`
15741
15742	Versions []*VersionInformation `type:"list"`
15743}
15744
15745// String returns the string representation
15746func (s ListResourceDefinitionVersionsOutput) String() string {
15747	return awsutil.Prettify(s)
15748}
15749
15750// GoString returns the string representation
15751func (s ListResourceDefinitionVersionsOutput) GoString() string {
15752	return s.String()
15753}
15754
15755// SetNextToken sets the NextToken field's value.
15756func (s *ListResourceDefinitionVersionsOutput) SetNextToken(v string) *ListResourceDefinitionVersionsOutput {
15757	s.NextToken = &v
15758	return s
15759}
15760
15761// SetVersions sets the Versions field's value.
15762func (s *ListResourceDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListResourceDefinitionVersionsOutput {
15763	s.Versions = v
15764	return s
15765}
15766
15767type ListResourceDefinitionsInput struct {
15768	_ struct{} `type:"structure"`
15769
15770	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15771
15772	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15773}
15774
15775// String returns the string representation
15776func (s ListResourceDefinitionsInput) String() string {
15777	return awsutil.Prettify(s)
15778}
15779
15780// GoString returns the string representation
15781func (s ListResourceDefinitionsInput) GoString() string {
15782	return s.String()
15783}
15784
15785// SetMaxResults sets the MaxResults field's value.
15786func (s *ListResourceDefinitionsInput) SetMaxResults(v string) *ListResourceDefinitionsInput {
15787	s.MaxResults = &v
15788	return s
15789}
15790
15791// SetNextToken sets the NextToken field's value.
15792func (s *ListResourceDefinitionsInput) SetNextToken(v string) *ListResourceDefinitionsInput {
15793	s.NextToken = &v
15794	return s
15795}
15796
15797type ListResourceDefinitionsOutput struct {
15798	_ struct{} `type:"structure"`
15799
15800	Definitions []*DefinitionInformation `type:"list"`
15801
15802	NextToken *string `type:"string"`
15803}
15804
15805// String returns the string representation
15806func (s ListResourceDefinitionsOutput) String() string {
15807	return awsutil.Prettify(s)
15808}
15809
15810// GoString returns the string representation
15811func (s ListResourceDefinitionsOutput) GoString() string {
15812	return s.String()
15813}
15814
15815// SetDefinitions sets the Definitions field's value.
15816func (s *ListResourceDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListResourceDefinitionsOutput {
15817	s.Definitions = v
15818	return s
15819}
15820
15821// SetNextToken sets the NextToken field's value.
15822func (s *ListResourceDefinitionsOutput) SetNextToken(v string) *ListResourceDefinitionsOutput {
15823	s.NextToken = &v
15824	return s
15825}
15826
15827type ListSubscriptionDefinitionVersionsInput struct {
15828	_ struct{} `type:"structure"`
15829
15830	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15831
15832	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15833
15834	// SubscriptionDefinitionId is a required field
15835	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
15836}
15837
15838// String returns the string representation
15839func (s ListSubscriptionDefinitionVersionsInput) String() string {
15840	return awsutil.Prettify(s)
15841}
15842
15843// GoString returns the string representation
15844func (s ListSubscriptionDefinitionVersionsInput) GoString() string {
15845	return s.String()
15846}
15847
15848// Validate inspects the fields of the type to determine if they are valid.
15849func (s *ListSubscriptionDefinitionVersionsInput) Validate() error {
15850	invalidParams := request.ErrInvalidParams{Context: "ListSubscriptionDefinitionVersionsInput"}
15851	if s.SubscriptionDefinitionId == nil {
15852		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
15853	}
15854	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
15855		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
15856	}
15857
15858	if invalidParams.Len() > 0 {
15859		return invalidParams
15860	}
15861	return nil
15862}
15863
15864// SetMaxResults sets the MaxResults field's value.
15865func (s *ListSubscriptionDefinitionVersionsInput) SetMaxResults(v string) *ListSubscriptionDefinitionVersionsInput {
15866	s.MaxResults = &v
15867	return s
15868}
15869
15870// SetNextToken sets the NextToken field's value.
15871func (s *ListSubscriptionDefinitionVersionsInput) SetNextToken(v string) *ListSubscriptionDefinitionVersionsInput {
15872	s.NextToken = &v
15873	return s
15874}
15875
15876// SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
15877func (s *ListSubscriptionDefinitionVersionsInput) SetSubscriptionDefinitionId(v string) *ListSubscriptionDefinitionVersionsInput {
15878	s.SubscriptionDefinitionId = &v
15879	return s
15880}
15881
15882type ListSubscriptionDefinitionVersionsOutput struct {
15883	_ struct{} `type:"structure"`
15884
15885	NextToken *string `type:"string"`
15886
15887	Versions []*VersionInformation `type:"list"`
15888}
15889
15890// String returns the string representation
15891func (s ListSubscriptionDefinitionVersionsOutput) String() string {
15892	return awsutil.Prettify(s)
15893}
15894
15895// GoString returns the string representation
15896func (s ListSubscriptionDefinitionVersionsOutput) GoString() string {
15897	return s.String()
15898}
15899
15900// SetNextToken sets the NextToken field's value.
15901func (s *ListSubscriptionDefinitionVersionsOutput) SetNextToken(v string) *ListSubscriptionDefinitionVersionsOutput {
15902	s.NextToken = &v
15903	return s
15904}
15905
15906// SetVersions sets the Versions field's value.
15907func (s *ListSubscriptionDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListSubscriptionDefinitionVersionsOutput {
15908	s.Versions = v
15909	return s
15910}
15911
15912type ListSubscriptionDefinitionsInput struct {
15913	_ struct{} `type:"structure"`
15914
15915	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
15916
15917	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
15918}
15919
15920// String returns the string representation
15921func (s ListSubscriptionDefinitionsInput) String() string {
15922	return awsutil.Prettify(s)
15923}
15924
15925// GoString returns the string representation
15926func (s ListSubscriptionDefinitionsInput) GoString() string {
15927	return s.String()
15928}
15929
15930// SetMaxResults sets the MaxResults field's value.
15931func (s *ListSubscriptionDefinitionsInput) SetMaxResults(v string) *ListSubscriptionDefinitionsInput {
15932	s.MaxResults = &v
15933	return s
15934}
15935
15936// SetNextToken sets the NextToken field's value.
15937func (s *ListSubscriptionDefinitionsInput) SetNextToken(v string) *ListSubscriptionDefinitionsInput {
15938	s.NextToken = &v
15939	return s
15940}
15941
15942type ListSubscriptionDefinitionsOutput struct {
15943	_ struct{} `type:"structure"`
15944
15945	Definitions []*DefinitionInformation `type:"list"`
15946
15947	NextToken *string `type:"string"`
15948}
15949
15950// String returns the string representation
15951func (s ListSubscriptionDefinitionsOutput) String() string {
15952	return awsutil.Prettify(s)
15953}
15954
15955// GoString returns the string representation
15956func (s ListSubscriptionDefinitionsOutput) GoString() string {
15957	return s.String()
15958}
15959
15960// SetDefinitions sets the Definitions field's value.
15961func (s *ListSubscriptionDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListSubscriptionDefinitionsOutput {
15962	s.Definitions = v
15963	return s
15964}
15965
15966// SetNextToken sets the NextToken field's value.
15967func (s *ListSubscriptionDefinitionsOutput) SetNextToken(v string) *ListSubscriptionDefinitionsOutput {
15968	s.NextToken = &v
15969	return s
15970}
15971
15972type ListTagsForResourceInput struct {
15973	_ struct{} `type:"structure"`
15974
15975	// ResourceArn is a required field
15976	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
15977}
15978
15979// String returns the string representation
15980func (s ListTagsForResourceInput) String() string {
15981	return awsutil.Prettify(s)
15982}
15983
15984// GoString returns the string representation
15985func (s ListTagsForResourceInput) GoString() string {
15986	return s.String()
15987}
15988
15989// Validate inspects the fields of the type to determine if they are valid.
15990func (s *ListTagsForResourceInput) Validate() error {
15991	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
15992	if s.ResourceArn == nil {
15993		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15994	}
15995	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15996		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15997	}
15998
15999	if invalidParams.Len() > 0 {
16000		return invalidParams
16001	}
16002	return nil
16003}
16004
16005// SetResourceArn sets the ResourceArn field's value.
16006func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
16007	s.ResourceArn = &v
16008	return s
16009}
16010
16011type ListTagsForResourceOutput struct {
16012	_ struct{} `type:"structure"`
16013
16014	// The key-value pair for the resource tag.
16015	Tags map[string]*string `locationName:"tags" type:"map"`
16016}
16017
16018// String returns the string representation
16019func (s ListTagsForResourceOutput) String() string {
16020	return awsutil.Prettify(s)
16021}
16022
16023// GoString returns the string representation
16024func (s ListTagsForResourceOutput) GoString() string {
16025	return s.String()
16026}
16027
16028// SetTags sets the Tags field's value.
16029func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
16030	s.Tags = v
16031	return s
16032}
16033
16034// Attributes that define a local device resource.
16035type LocalDeviceResourceData struct {
16036	_ struct{} `type:"structure"`
16037
16038	// Group/owner related settings for local resources.
16039	GroupOwnerSetting *GroupOwnerSetting `type:"structure"`
16040
16041	// The local absolute path of the device resource. The source path for a device
16042	// resource can refer only to a character device or block device under ''/dev''.
16043	SourcePath *string `type:"string"`
16044}
16045
16046// String returns the string representation
16047func (s LocalDeviceResourceData) String() string {
16048	return awsutil.Prettify(s)
16049}
16050
16051// GoString returns the string representation
16052func (s LocalDeviceResourceData) GoString() string {
16053	return s.String()
16054}
16055
16056// SetGroupOwnerSetting sets the GroupOwnerSetting field's value.
16057func (s *LocalDeviceResourceData) SetGroupOwnerSetting(v *GroupOwnerSetting) *LocalDeviceResourceData {
16058	s.GroupOwnerSetting = v
16059	return s
16060}
16061
16062// SetSourcePath sets the SourcePath field's value.
16063func (s *LocalDeviceResourceData) SetSourcePath(v string) *LocalDeviceResourceData {
16064	s.SourcePath = &v
16065	return s
16066}
16067
16068// Attributes that define a local volume resource.
16069type LocalVolumeResourceData struct {
16070	_ struct{} `type:"structure"`
16071
16072	// The absolute local path of the resource inside the Lambda environment.
16073	DestinationPath *string `type:"string"`
16074
16075	// Allows you to configure additional group privileges for the Lambda process.
16076	// This field is optional.
16077	GroupOwnerSetting *GroupOwnerSetting `type:"structure"`
16078
16079	// The local absolute path of the volume resource on the host. The source path
16080	// for a volume resource type cannot start with ''/sys''.
16081	SourcePath *string `type:"string"`
16082}
16083
16084// String returns the string representation
16085func (s LocalVolumeResourceData) String() string {
16086	return awsutil.Prettify(s)
16087}
16088
16089// GoString returns the string representation
16090func (s LocalVolumeResourceData) GoString() string {
16091	return s.String()
16092}
16093
16094// SetDestinationPath sets the DestinationPath field's value.
16095func (s *LocalVolumeResourceData) SetDestinationPath(v string) *LocalVolumeResourceData {
16096	s.DestinationPath = &v
16097	return s
16098}
16099
16100// SetGroupOwnerSetting sets the GroupOwnerSetting field's value.
16101func (s *LocalVolumeResourceData) SetGroupOwnerSetting(v *GroupOwnerSetting) *LocalVolumeResourceData {
16102	s.GroupOwnerSetting = v
16103	return s
16104}
16105
16106// SetSourcePath sets the SourcePath field's value.
16107func (s *LocalVolumeResourceData) SetSourcePath(v string) *LocalVolumeResourceData {
16108	s.SourcePath = &v
16109	return s
16110}
16111
16112// Information about a logger
16113type Logger struct {
16114	_ struct{} `type:"structure"`
16115
16116	// The component that will be subject to logging.
16117	//
16118	// Component is a required field
16119	Component *string `type:"string" required:"true" enum:"LoggerComponent"`
16120
16121	// A descriptive or arbitrary ID for the logger. This value must be unique within
16122	// the logger definition version. Max length is 128 characters with pattern
16123	// ''[a-zA-Z0-9:_-]+''.
16124	//
16125	// Id is a required field
16126	Id *string `type:"string" required:"true"`
16127
16128	// The level of the logs.
16129	//
16130	// Level is a required field
16131	Level *string `type:"string" required:"true" enum:"LoggerLevel"`
16132
16133	// The amount of file space, in KB, to use if the local file system is used
16134	// for logging purposes.
16135	Space *int64 `type:"integer"`
16136
16137	// The type of log output which will be used.
16138	//
16139	// Type is a required field
16140	Type *string `type:"string" required:"true" enum:"LoggerType"`
16141}
16142
16143// String returns the string representation
16144func (s Logger) String() string {
16145	return awsutil.Prettify(s)
16146}
16147
16148// GoString returns the string representation
16149func (s Logger) GoString() string {
16150	return s.String()
16151}
16152
16153// Validate inspects the fields of the type to determine if they are valid.
16154func (s *Logger) Validate() error {
16155	invalidParams := request.ErrInvalidParams{Context: "Logger"}
16156	if s.Component == nil {
16157		invalidParams.Add(request.NewErrParamRequired("Component"))
16158	}
16159	if s.Id == nil {
16160		invalidParams.Add(request.NewErrParamRequired("Id"))
16161	}
16162	if s.Level == nil {
16163		invalidParams.Add(request.NewErrParamRequired("Level"))
16164	}
16165	if s.Type == nil {
16166		invalidParams.Add(request.NewErrParamRequired("Type"))
16167	}
16168
16169	if invalidParams.Len() > 0 {
16170		return invalidParams
16171	}
16172	return nil
16173}
16174
16175// SetComponent sets the Component field's value.
16176func (s *Logger) SetComponent(v string) *Logger {
16177	s.Component = &v
16178	return s
16179}
16180
16181// SetId sets the Id field's value.
16182func (s *Logger) SetId(v string) *Logger {
16183	s.Id = &v
16184	return s
16185}
16186
16187// SetLevel sets the Level field's value.
16188func (s *Logger) SetLevel(v string) *Logger {
16189	s.Level = &v
16190	return s
16191}
16192
16193// SetSpace sets the Space field's value.
16194func (s *Logger) SetSpace(v int64) *Logger {
16195	s.Space = &v
16196	return s
16197}
16198
16199// SetType sets the Type field's value.
16200func (s *Logger) SetType(v string) *Logger {
16201	s.Type = &v
16202	return s
16203}
16204
16205// Information about a logger definition version.
16206type LoggerDefinitionVersion struct {
16207	_ struct{} `type:"structure"`
16208
16209	// A list of loggers.
16210	Loggers []*Logger `type:"list"`
16211}
16212
16213// String returns the string representation
16214func (s LoggerDefinitionVersion) String() string {
16215	return awsutil.Prettify(s)
16216}
16217
16218// GoString returns the string representation
16219func (s LoggerDefinitionVersion) GoString() string {
16220	return s.String()
16221}
16222
16223// Validate inspects the fields of the type to determine if they are valid.
16224func (s *LoggerDefinitionVersion) Validate() error {
16225	invalidParams := request.ErrInvalidParams{Context: "LoggerDefinitionVersion"}
16226	if s.Loggers != nil {
16227		for i, v := range s.Loggers {
16228			if v == nil {
16229				continue
16230			}
16231			if err := v.Validate(); err != nil {
16232				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Loggers", i), err.(request.ErrInvalidParams))
16233			}
16234		}
16235	}
16236
16237	if invalidParams.Len() > 0 {
16238		return invalidParams
16239	}
16240	return nil
16241}
16242
16243// SetLoggers sets the Loggers field's value.
16244func (s *LoggerDefinitionVersion) SetLoggers(v []*Logger) *LoggerDefinitionVersion {
16245	s.Loggers = v
16246	return s
16247}
16248
16249// Information about a group reset request.
16250type ResetDeploymentsInput struct {
16251	_ struct{} `type:"structure"`
16252
16253	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
16254
16255	// If true, performs a best-effort only core reset.
16256	Force *bool `type:"boolean"`
16257
16258	// GroupId is a required field
16259	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
16260}
16261
16262// String returns the string representation
16263func (s ResetDeploymentsInput) String() string {
16264	return awsutil.Prettify(s)
16265}
16266
16267// GoString returns the string representation
16268func (s ResetDeploymentsInput) GoString() string {
16269	return s.String()
16270}
16271
16272// Validate inspects the fields of the type to determine if they are valid.
16273func (s *ResetDeploymentsInput) Validate() error {
16274	invalidParams := request.ErrInvalidParams{Context: "ResetDeploymentsInput"}
16275	if s.GroupId == nil {
16276		invalidParams.Add(request.NewErrParamRequired("GroupId"))
16277	}
16278	if s.GroupId != nil && len(*s.GroupId) < 1 {
16279		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
16280	}
16281
16282	if invalidParams.Len() > 0 {
16283		return invalidParams
16284	}
16285	return nil
16286}
16287
16288// SetAmznClientToken sets the AmznClientToken field's value.
16289func (s *ResetDeploymentsInput) SetAmznClientToken(v string) *ResetDeploymentsInput {
16290	s.AmznClientToken = &v
16291	return s
16292}
16293
16294// SetForce sets the Force field's value.
16295func (s *ResetDeploymentsInput) SetForce(v bool) *ResetDeploymentsInput {
16296	s.Force = &v
16297	return s
16298}
16299
16300// SetGroupId sets the GroupId field's value.
16301func (s *ResetDeploymentsInput) SetGroupId(v string) *ResetDeploymentsInput {
16302	s.GroupId = &v
16303	return s
16304}
16305
16306type ResetDeploymentsOutput struct {
16307	_ struct{} `type:"structure"`
16308
16309	// The ARN of the deployment.
16310	DeploymentArn *string `type:"string"`
16311
16312	// The ID of the deployment.
16313	DeploymentId *string `type:"string"`
16314}
16315
16316// String returns the string representation
16317func (s ResetDeploymentsOutput) String() string {
16318	return awsutil.Prettify(s)
16319}
16320
16321// GoString returns the string representation
16322func (s ResetDeploymentsOutput) GoString() string {
16323	return s.String()
16324}
16325
16326// SetDeploymentArn sets the DeploymentArn field's value.
16327func (s *ResetDeploymentsOutput) SetDeploymentArn(v string) *ResetDeploymentsOutput {
16328	s.DeploymentArn = &v
16329	return s
16330}
16331
16332// SetDeploymentId sets the DeploymentId field's value.
16333func (s *ResetDeploymentsOutput) SetDeploymentId(v string) *ResetDeploymentsOutput {
16334	s.DeploymentId = &v
16335	return s
16336}
16337
16338// Information about a resource.
16339type Resource struct {
16340	_ struct{} `type:"structure"`
16341
16342	// The resource ID, used to refer to a resource in the Lambda function configuration.
16343	// Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must
16344	// be unique within a Greengrass group.
16345	//
16346	// Id is a required field
16347	Id *string `type:"string" required:"true"`
16348
16349	// The descriptive resource name, which is displayed on the AWS IoT Greengrass
16350	// console. Max length 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This
16351	// must be unique within a Greengrass group.
16352	//
16353	// Name is a required field
16354	Name *string `type:"string" required:"true"`
16355
16356	// A container of data for all resource types.
16357	//
16358	// ResourceDataContainer is a required field
16359	ResourceDataContainer *ResourceDataContainer `type:"structure" required:"true"`
16360}
16361
16362// String returns the string representation
16363func (s Resource) String() string {
16364	return awsutil.Prettify(s)
16365}
16366
16367// GoString returns the string representation
16368func (s Resource) GoString() string {
16369	return s.String()
16370}
16371
16372// Validate inspects the fields of the type to determine if they are valid.
16373func (s *Resource) Validate() error {
16374	invalidParams := request.ErrInvalidParams{Context: "Resource"}
16375	if s.Id == nil {
16376		invalidParams.Add(request.NewErrParamRequired("Id"))
16377	}
16378	if s.Name == nil {
16379		invalidParams.Add(request.NewErrParamRequired("Name"))
16380	}
16381	if s.ResourceDataContainer == nil {
16382		invalidParams.Add(request.NewErrParamRequired("ResourceDataContainer"))
16383	}
16384	if s.ResourceDataContainer != nil {
16385		if err := s.ResourceDataContainer.Validate(); err != nil {
16386			invalidParams.AddNested("ResourceDataContainer", err.(request.ErrInvalidParams))
16387		}
16388	}
16389
16390	if invalidParams.Len() > 0 {
16391		return invalidParams
16392	}
16393	return nil
16394}
16395
16396// SetId sets the Id field's value.
16397func (s *Resource) SetId(v string) *Resource {
16398	s.Id = &v
16399	return s
16400}
16401
16402// SetName sets the Name field's value.
16403func (s *Resource) SetName(v string) *Resource {
16404	s.Name = &v
16405	return s
16406}
16407
16408// SetResourceDataContainer sets the ResourceDataContainer field's value.
16409func (s *Resource) SetResourceDataContainer(v *ResourceDataContainer) *Resource {
16410	s.ResourceDataContainer = v
16411	return s
16412}
16413
16414// A policy used by the function to access a resource.
16415type ResourceAccessPolicy struct {
16416	_ struct{} `type:"structure"`
16417
16418	// The permissions that the Lambda function has to the resource. Can be one
16419	// of ''rw'' (read/write) or ''ro'' (read-only).
16420	Permission *string `type:"string" enum:"Permission"`
16421
16422	// The ID of the resource. (This ID is assigned to the resource when you create
16423	// the resource definiton.)
16424	//
16425	// ResourceId is a required field
16426	ResourceId *string `type:"string" required:"true"`
16427}
16428
16429// String returns the string representation
16430func (s ResourceAccessPolicy) String() string {
16431	return awsutil.Prettify(s)
16432}
16433
16434// GoString returns the string representation
16435func (s ResourceAccessPolicy) GoString() string {
16436	return s.String()
16437}
16438
16439// Validate inspects the fields of the type to determine if they are valid.
16440func (s *ResourceAccessPolicy) Validate() error {
16441	invalidParams := request.ErrInvalidParams{Context: "ResourceAccessPolicy"}
16442	if s.ResourceId == nil {
16443		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
16444	}
16445
16446	if invalidParams.Len() > 0 {
16447		return invalidParams
16448	}
16449	return nil
16450}
16451
16452// SetPermission sets the Permission field's value.
16453func (s *ResourceAccessPolicy) SetPermission(v string) *ResourceAccessPolicy {
16454	s.Permission = &v
16455	return s
16456}
16457
16458// SetResourceId sets the ResourceId field's value.
16459func (s *ResourceAccessPolicy) SetResourceId(v string) *ResourceAccessPolicy {
16460	s.ResourceId = &v
16461	return s
16462}
16463
16464// A container for resource data. The container takes only one of the following
16465// supported resource data types: ''LocalDeviceResourceData'', ''LocalVolumeResourceData'',
16466// ''SageMakerMachineLearningModelResourceData'', ''S3MachineLearningModelResourceData'',
16467// ''SecretsManagerSecretResourceData''.
16468type ResourceDataContainer struct {
16469	_ struct{} `type:"structure"`
16470
16471	// Attributes that define the local device resource.
16472	LocalDeviceResourceData *LocalDeviceResourceData `type:"structure"`
16473
16474	// Attributes that define the local volume resource.
16475	LocalVolumeResourceData *LocalVolumeResourceData `type:"structure"`
16476
16477	// Attributes that define an Amazon S3 machine learning resource.
16478	S3MachineLearningModelResourceData *S3MachineLearningModelResourceData `type:"structure"`
16479
16480	// Attributes that define an Amazon SageMaker machine learning resource.
16481	SageMakerMachineLearningModelResourceData *SageMakerMachineLearningModelResourceData `type:"structure"`
16482
16483	// Attributes that define a secret resource, which references a secret from
16484	// AWS Secrets Manager.
16485	SecretsManagerSecretResourceData *SecretsManagerSecretResourceData `type:"structure"`
16486}
16487
16488// String returns the string representation
16489func (s ResourceDataContainer) String() string {
16490	return awsutil.Prettify(s)
16491}
16492
16493// GoString returns the string representation
16494func (s ResourceDataContainer) GoString() string {
16495	return s.String()
16496}
16497
16498// Validate inspects the fields of the type to determine if they are valid.
16499func (s *ResourceDataContainer) Validate() error {
16500	invalidParams := request.ErrInvalidParams{Context: "ResourceDataContainer"}
16501	if s.S3MachineLearningModelResourceData != nil {
16502		if err := s.S3MachineLearningModelResourceData.Validate(); err != nil {
16503			invalidParams.AddNested("S3MachineLearningModelResourceData", err.(request.ErrInvalidParams))
16504		}
16505	}
16506	if s.SageMakerMachineLearningModelResourceData != nil {
16507		if err := s.SageMakerMachineLearningModelResourceData.Validate(); err != nil {
16508			invalidParams.AddNested("SageMakerMachineLearningModelResourceData", err.(request.ErrInvalidParams))
16509		}
16510	}
16511
16512	if invalidParams.Len() > 0 {
16513		return invalidParams
16514	}
16515	return nil
16516}
16517
16518// SetLocalDeviceResourceData sets the LocalDeviceResourceData field's value.
16519func (s *ResourceDataContainer) SetLocalDeviceResourceData(v *LocalDeviceResourceData) *ResourceDataContainer {
16520	s.LocalDeviceResourceData = v
16521	return s
16522}
16523
16524// SetLocalVolumeResourceData sets the LocalVolumeResourceData field's value.
16525func (s *ResourceDataContainer) SetLocalVolumeResourceData(v *LocalVolumeResourceData) *ResourceDataContainer {
16526	s.LocalVolumeResourceData = v
16527	return s
16528}
16529
16530// SetS3MachineLearningModelResourceData sets the S3MachineLearningModelResourceData field's value.
16531func (s *ResourceDataContainer) SetS3MachineLearningModelResourceData(v *S3MachineLearningModelResourceData) *ResourceDataContainer {
16532	s.S3MachineLearningModelResourceData = v
16533	return s
16534}
16535
16536// SetSageMakerMachineLearningModelResourceData sets the SageMakerMachineLearningModelResourceData field's value.
16537func (s *ResourceDataContainer) SetSageMakerMachineLearningModelResourceData(v *SageMakerMachineLearningModelResourceData) *ResourceDataContainer {
16538	s.SageMakerMachineLearningModelResourceData = v
16539	return s
16540}
16541
16542// SetSecretsManagerSecretResourceData sets the SecretsManagerSecretResourceData field's value.
16543func (s *ResourceDataContainer) SetSecretsManagerSecretResourceData(v *SecretsManagerSecretResourceData) *ResourceDataContainer {
16544	s.SecretsManagerSecretResourceData = v
16545	return s
16546}
16547
16548// Information about a resource definition version.
16549type ResourceDefinitionVersion struct {
16550	_ struct{} `type:"structure"`
16551
16552	// A list of resources.
16553	Resources []*Resource `type:"list"`
16554}
16555
16556// String returns the string representation
16557func (s ResourceDefinitionVersion) String() string {
16558	return awsutil.Prettify(s)
16559}
16560
16561// GoString returns the string representation
16562func (s ResourceDefinitionVersion) GoString() string {
16563	return s.String()
16564}
16565
16566// Validate inspects the fields of the type to determine if they are valid.
16567func (s *ResourceDefinitionVersion) Validate() error {
16568	invalidParams := request.ErrInvalidParams{Context: "ResourceDefinitionVersion"}
16569	if s.Resources != nil {
16570		for i, v := range s.Resources {
16571			if v == nil {
16572				continue
16573			}
16574			if err := v.Validate(); err != nil {
16575				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
16576			}
16577		}
16578	}
16579
16580	if invalidParams.Len() > 0 {
16581		return invalidParams
16582	}
16583	return nil
16584}
16585
16586// SetResources sets the Resources field's value.
16587func (s *ResourceDefinitionVersion) SetResources(v []*Resource) *ResourceDefinitionVersion {
16588	s.Resources = v
16589	return s
16590}
16591
16592// The owner setting for downloaded machine learning resources.
16593type ResourceDownloadOwnerSetting struct {
16594	_ struct{} `type:"structure"`
16595
16596	// The group owner of the resource. This is the name of an existing Linux OS
16597	// group on the system or a GID. The group's permissions are added to the Lambda
16598	// process.
16599	//
16600	// GroupOwner is a required field
16601	GroupOwner *string `type:"string" required:"true"`
16602
16603	// The permissions that the group owner has to the resource. Valid values are
16604	// ''rw'' (read/write) or ''ro'' (read-only).
16605	//
16606	// GroupPermission is a required field
16607	GroupPermission *string `type:"string" required:"true" enum:"Permission"`
16608}
16609
16610// String returns the string representation
16611func (s ResourceDownloadOwnerSetting) String() string {
16612	return awsutil.Prettify(s)
16613}
16614
16615// GoString returns the string representation
16616func (s ResourceDownloadOwnerSetting) GoString() string {
16617	return s.String()
16618}
16619
16620// Validate inspects the fields of the type to determine if they are valid.
16621func (s *ResourceDownloadOwnerSetting) Validate() error {
16622	invalidParams := request.ErrInvalidParams{Context: "ResourceDownloadOwnerSetting"}
16623	if s.GroupOwner == nil {
16624		invalidParams.Add(request.NewErrParamRequired("GroupOwner"))
16625	}
16626	if s.GroupPermission == nil {
16627		invalidParams.Add(request.NewErrParamRequired("GroupPermission"))
16628	}
16629
16630	if invalidParams.Len() > 0 {
16631		return invalidParams
16632	}
16633	return nil
16634}
16635
16636// SetGroupOwner sets the GroupOwner field's value.
16637func (s *ResourceDownloadOwnerSetting) SetGroupOwner(v string) *ResourceDownloadOwnerSetting {
16638	s.GroupOwner = &v
16639	return s
16640}
16641
16642// SetGroupPermission sets the GroupPermission field's value.
16643func (s *ResourceDownloadOwnerSetting) SetGroupPermission(v string) *ResourceDownloadOwnerSetting {
16644	s.GroupPermission = &v
16645	return s
16646}
16647
16648// Runtime configuration for a thing.
16649type RuntimeConfiguration struct {
16650	_ struct{} `type:"structure"`
16651
16652	// Configuration for telemetry service.
16653	TelemetryConfiguration *TelemetryConfiguration `type:"structure"`
16654}
16655
16656// String returns the string representation
16657func (s RuntimeConfiguration) String() string {
16658	return awsutil.Prettify(s)
16659}
16660
16661// GoString returns the string representation
16662func (s RuntimeConfiguration) GoString() string {
16663	return s.String()
16664}
16665
16666// SetTelemetryConfiguration sets the TelemetryConfiguration field's value.
16667func (s *RuntimeConfiguration) SetTelemetryConfiguration(v *TelemetryConfiguration) *RuntimeConfiguration {
16668	s.TelemetryConfiguration = v
16669	return s
16670}
16671
16672// Attributes that define an Amazon S3 machine learning resource.
16673type S3MachineLearningModelResourceData struct {
16674	_ struct{} `type:"structure"`
16675
16676	// The absolute local path of the resource inside the Lambda environment.
16677	DestinationPath *string `type:"string"`
16678
16679	// The owner setting for downloaded machine learning resources.
16680	OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"`
16681
16682	// The URI of the source model in an S3 bucket. The model package must be in
16683	// tar.gz or .zip format.
16684	S3Uri *string `type:"string"`
16685}
16686
16687// String returns the string representation
16688func (s S3MachineLearningModelResourceData) String() string {
16689	return awsutil.Prettify(s)
16690}
16691
16692// GoString returns the string representation
16693func (s S3MachineLearningModelResourceData) GoString() string {
16694	return s.String()
16695}
16696
16697// Validate inspects the fields of the type to determine if they are valid.
16698func (s *S3MachineLearningModelResourceData) Validate() error {
16699	invalidParams := request.ErrInvalidParams{Context: "S3MachineLearningModelResourceData"}
16700	if s.OwnerSetting != nil {
16701		if err := s.OwnerSetting.Validate(); err != nil {
16702			invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams))
16703		}
16704	}
16705
16706	if invalidParams.Len() > 0 {
16707		return invalidParams
16708	}
16709	return nil
16710}
16711
16712// SetDestinationPath sets the DestinationPath field's value.
16713func (s *S3MachineLearningModelResourceData) SetDestinationPath(v string) *S3MachineLearningModelResourceData {
16714	s.DestinationPath = &v
16715	return s
16716}
16717
16718// SetOwnerSetting sets the OwnerSetting field's value.
16719func (s *S3MachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *S3MachineLearningModelResourceData {
16720	s.OwnerSetting = v
16721	return s
16722}
16723
16724// SetS3Uri sets the S3Uri field's value.
16725func (s *S3MachineLearningModelResourceData) SetS3Uri(v string) *S3MachineLearningModelResourceData {
16726	s.S3Uri = &v
16727	return s
16728}
16729
16730// Attributes that define an Amazon SageMaker machine learning resource.
16731type SageMakerMachineLearningModelResourceData struct {
16732	_ struct{} `type:"structure"`
16733
16734	// The absolute local path of the resource inside the Lambda environment.
16735	DestinationPath *string `type:"string"`
16736
16737	// The owner setting for downloaded machine learning resources.
16738	OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"`
16739
16740	// The ARN of the Amazon SageMaker training job that represents the source model.
16741	SageMakerJobArn *string `type:"string"`
16742}
16743
16744// String returns the string representation
16745func (s SageMakerMachineLearningModelResourceData) String() string {
16746	return awsutil.Prettify(s)
16747}
16748
16749// GoString returns the string representation
16750func (s SageMakerMachineLearningModelResourceData) GoString() string {
16751	return s.String()
16752}
16753
16754// Validate inspects the fields of the type to determine if they are valid.
16755func (s *SageMakerMachineLearningModelResourceData) Validate() error {
16756	invalidParams := request.ErrInvalidParams{Context: "SageMakerMachineLearningModelResourceData"}
16757	if s.OwnerSetting != nil {
16758		if err := s.OwnerSetting.Validate(); err != nil {
16759			invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams))
16760		}
16761	}
16762
16763	if invalidParams.Len() > 0 {
16764		return invalidParams
16765	}
16766	return nil
16767}
16768
16769// SetDestinationPath sets the DestinationPath field's value.
16770func (s *SageMakerMachineLearningModelResourceData) SetDestinationPath(v string) *SageMakerMachineLearningModelResourceData {
16771	s.DestinationPath = &v
16772	return s
16773}
16774
16775// SetOwnerSetting sets the OwnerSetting field's value.
16776func (s *SageMakerMachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *SageMakerMachineLearningModelResourceData {
16777	s.OwnerSetting = v
16778	return s
16779}
16780
16781// SetSageMakerJobArn sets the SageMakerJobArn field's value.
16782func (s *SageMakerMachineLearningModelResourceData) SetSageMakerJobArn(v string) *SageMakerMachineLearningModelResourceData {
16783	s.SageMakerJobArn = &v
16784	return s
16785}
16786
16787// Attributes that define a secret resource, which references a secret from
16788// AWS Secrets Manager. AWS IoT Greengrass stores a local, encrypted copy of
16789// the secret on the Greengrass core, where it can be securely accessed by connectors
16790// and Lambda functions.
16791type SecretsManagerSecretResourceData struct {
16792	_ struct{} `type:"structure"`
16793
16794	// The ARN of the Secrets Manager secret to make available on the core. The
16795	// value of the secret's latest version (represented by the ''AWSCURRENT'' staging
16796	// label) is included by default.
16797	ARN *string `type:"string"`
16798
16799	// Optional. The staging labels whose values you want to make available on the
16800	// core, in addition to ''AWSCURRENT''.
16801	AdditionalStagingLabelsToDownload []*string `type:"list"`
16802}
16803
16804// String returns the string representation
16805func (s SecretsManagerSecretResourceData) String() string {
16806	return awsutil.Prettify(s)
16807}
16808
16809// GoString returns the string representation
16810func (s SecretsManagerSecretResourceData) GoString() string {
16811	return s.String()
16812}
16813
16814// SetARN sets the ARN field's value.
16815func (s *SecretsManagerSecretResourceData) SetARN(v string) *SecretsManagerSecretResourceData {
16816	s.ARN = &v
16817	return s
16818}
16819
16820// SetAdditionalStagingLabelsToDownload sets the AdditionalStagingLabelsToDownload field's value.
16821func (s *SecretsManagerSecretResourceData) SetAdditionalStagingLabelsToDownload(v []*string) *SecretsManagerSecretResourceData {
16822	s.AdditionalStagingLabelsToDownload = v
16823	return s
16824}
16825
16826// Information about a bulk deployment. You cannot start a new bulk deployment
16827// while another one is still running or in a non-terminal state.
16828type StartBulkDeploymentInput struct {
16829	_ struct{} `type:"structure"`
16830
16831	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
16832
16833	// The ARN of the execution role to associate with the bulk deployment operation.
16834	// This IAM role must allow the ''greengrass:CreateDeployment'' action for all
16835	// group versions that are listed in the input file. This IAM role must have
16836	// access to the S3 bucket containing the input file.
16837	//
16838	// ExecutionRoleArn is a required field
16839	ExecutionRoleArn *string `type:"string" required:"true"`
16840
16841	// The URI of the input file contained in the S3 bucket. The execution role
16842	// must have ''getObject'' permissions on this bucket to access the input file.
16843	// The input file is a JSON-serialized, line delimited file with UTF-8 encoding
16844	// that provides a list of group and version IDs and the deployment type. This
16845	// file must be less than 100 MB. Currently, AWS IoT Greengrass supports only
16846	// ''NewDeployment'' deployment types.
16847	//
16848	// InputFileUri is a required field
16849	InputFileUri *string `type:"string" required:"true"`
16850
16851	// The key-value pair for the resource tag.
16852	Tags map[string]*string `locationName:"tags" type:"map"`
16853}
16854
16855// String returns the string representation
16856func (s StartBulkDeploymentInput) String() string {
16857	return awsutil.Prettify(s)
16858}
16859
16860// GoString returns the string representation
16861func (s StartBulkDeploymentInput) GoString() string {
16862	return s.String()
16863}
16864
16865// Validate inspects the fields of the type to determine if they are valid.
16866func (s *StartBulkDeploymentInput) Validate() error {
16867	invalidParams := request.ErrInvalidParams{Context: "StartBulkDeploymentInput"}
16868	if s.ExecutionRoleArn == nil {
16869		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
16870	}
16871	if s.InputFileUri == nil {
16872		invalidParams.Add(request.NewErrParamRequired("InputFileUri"))
16873	}
16874
16875	if invalidParams.Len() > 0 {
16876		return invalidParams
16877	}
16878	return nil
16879}
16880
16881// SetAmznClientToken sets the AmznClientToken field's value.
16882func (s *StartBulkDeploymentInput) SetAmznClientToken(v string) *StartBulkDeploymentInput {
16883	s.AmznClientToken = &v
16884	return s
16885}
16886
16887// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
16888func (s *StartBulkDeploymentInput) SetExecutionRoleArn(v string) *StartBulkDeploymentInput {
16889	s.ExecutionRoleArn = &v
16890	return s
16891}
16892
16893// SetInputFileUri sets the InputFileUri field's value.
16894func (s *StartBulkDeploymentInput) SetInputFileUri(v string) *StartBulkDeploymentInput {
16895	s.InputFileUri = &v
16896	return s
16897}
16898
16899// SetTags sets the Tags field's value.
16900func (s *StartBulkDeploymentInput) SetTags(v map[string]*string) *StartBulkDeploymentInput {
16901	s.Tags = v
16902	return s
16903}
16904
16905type StartBulkDeploymentOutput struct {
16906	_ struct{} `type:"structure"`
16907
16908	// The ARN of the bulk deployment.
16909	BulkDeploymentArn *string `type:"string"`
16910
16911	// The ID of the bulk deployment.
16912	BulkDeploymentId *string `type:"string"`
16913}
16914
16915// String returns the string representation
16916func (s StartBulkDeploymentOutput) String() string {
16917	return awsutil.Prettify(s)
16918}
16919
16920// GoString returns the string representation
16921func (s StartBulkDeploymentOutput) GoString() string {
16922	return s.String()
16923}
16924
16925// SetBulkDeploymentArn sets the BulkDeploymentArn field's value.
16926func (s *StartBulkDeploymentOutput) SetBulkDeploymentArn(v string) *StartBulkDeploymentOutput {
16927	s.BulkDeploymentArn = &v
16928	return s
16929}
16930
16931// SetBulkDeploymentId sets the BulkDeploymentId field's value.
16932func (s *StartBulkDeploymentOutput) SetBulkDeploymentId(v string) *StartBulkDeploymentOutput {
16933	s.BulkDeploymentId = &v
16934	return s
16935}
16936
16937type StopBulkDeploymentInput struct {
16938	_ struct{} `type:"structure"`
16939
16940	// BulkDeploymentId is a required field
16941	BulkDeploymentId *string `location:"uri" locationName:"BulkDeploymentId" type:"string" required:"true"`
16942}
16943
16944// String returns the string representation
16945func (s StopBulkDeploymentInput) String() string {
16946	return awsutil.Prettify(s)
16947}
16948
16949// GoString returns the string representation
16950func (s StopBulkDeploymentInput) GoString() string {
16951	return s.String()
16952}
16953
16954// Validate inspects the fields of the type to determine if they are valid.
16955func (s *StopBulkDeploymentInput) Validate() error {
16956	invalidParams := request.ErrInvalidParams{Context: "StopBulkDeploymentInput"}
16957	if s.BulkDeploymentId == nil {
16958		invalidParams.Add(request.NewErrParamRequired("BulkDeploymentId"))
16959	}
16960	if s.BulkDeploymentId != nil && len(*s.BulkDeploymentId) < 1 {
16961		invalidParams.Add(request.NewErrParamMinLen("BulkDeploymentId", 1))
16962	}
16963
16964	if invalidParams.Len() > 0 {
16965		return invalidParams
16966	}
16967	return nil
16968}
16969
16970// SetBulkDeploymentId sets the BulkDeploymentId field's value.
16971func (s *StopBulkDeploymentInput) SetBulkDeploymentId(v string) *StopBulkDeploymentInput {
16972	s.BulkDeploymentId = &v
16973	return s
16974}
16975
16976type StopBulkDeploymentOutput struct {
16977	_ struct{} `type:"structure"`
16978}
16979
16980// String returns the string representation
16981func (s StopBulkDeploymentOutput) String() string {
16982	return awsutil.Prettify(s)
16983}
16984
16985// GoString returns the string representation
16986func (s StopBulkDeploymentOutput) GoString() string {
16987	return s.String()
16988}
16989
16990// Information about a subscription.
16991type Subscription struct {
16992	_ struct{} `type:"structure"`
16993
16994	// A descriptive or arbitrary ID for the subscription. This value must be unique
16995	// within the subscription definition version. Max length is 128 characters
16996	// with pattern ''[a-zA-Z0-9:_-]+''.
16997	//
16998	// Id is a required field
16999	Id *string `type:"string" required:"true"`
17000
17001	// The source of the subscription. Can be a thing ARN, a Lambda function ARN,
17002	// a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'.
17003	//
17004	// Source is a required field
17005	Source *string `type:"string" required:"true"`
17006
17007	// The MQTT topic used to route the message.
17008	//
17009	// Subject is a required field
17010	Subject *string `type:"string" required:"true"`
17011
17012	// Where the message is sent to. Can be a thing ARN, a Lambda function ARN,
17013	// a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'.
17014	//
17015	// Target is a required field
17016	Target *string `type:"string" required:"true"`
17017}
17018
17019// String returns the string representation
17020func (s Subscription) String() string {
17021	return awsutil.Prettify(s)
17022}
17023
17024// GoString returns the string representation
17025func (s Subscription) GoString() string {
17026	return s.String()
17027}
17028
17029// Validate inspects the fields of the type to determine if they are valid.
17030func (s *Subscription) Validate() error {
17031	invalidParams := request.ErrInvalidParams{Context: "Subscription"}
17032	if s.Id == nil {
17033		invalidParams.Add(request.NewErrParamRequired("Id"))
17034	}
17035	if s.Source == nil {
17036		invalidParams.Add(request.NewErrParamRequired("Source"))
17037	}
17038	if s.Subject == nil {
17039		invalidParams.Add(request.NewErrParamRequired("Subject"))
17040	}
17041	if s.Target == nil {
17042		invalidParams.Add(request.NewErrParamRequired("Target"))
17043	}
17044
17045	if invalidParams.Len() > 0 {
17046		return invalidParams
17047	}
17048	return nil
17049}
17050
17051// SetId sets the Id field's value.
17052func (s *Subscription) SetId(v string) *Subscription {
17053	s.Id = &v
17054	return s
17055}
17056
17057// SetSource sets the Source field's value.
17058func (s *Subscription) SetSource(v string) *Subscription {
17059	s.Source = &v
17060	return s
17061}
17062
17063// SetSubject sets the Subject field's value.
17064func (s *Subscription) SetSubject(v string) *Subscription {
17065	s.Subject = &v
17066	return s
17067}
17068
17069// SetTarget sets the Target field's value.
17070func (s *Subscription) SetTarget(v string) *Subscription {
17071	s.Target = &v
17072	return s
17073}
17074
17075// Information about a subscription definition version.
17076type SubscriptionDefinitionVersion struct {
17077	_ struct{} `type:"structure"`
17078
17079	// A list of subscriptions.
17080	Subscriptions []*Subscription `type:"list"`
17081}
17082
17083// String returns the string representation
17084func (s SubscriptionDefinitionVersion) String() string {
17085	return awsutil.Prettify(s)
17086}
17087
17088// GoString returns the string representation
17089func (s SubscriptionDefinitionVersion) GoString() string {
17090	return s.String()
17091}
17092
17093// Validate inspects the fields of the type to determine if they are valid.
17094func (s *SubscriptionDefinitionVersion) Validate() error {
17095	invalidParams := request.ErrInvalidParams{Context: "SubscriptionDefinitionVersion"}
17096	if s.Subscriptions != nil {
17097		for i, v := range s.Subscriptions {
17098			if v == nil {
17099				continue
17100			}
17101			if err := v.Validate(); err != nil {
17102				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscriptions", i), err.(request.ErrInvalidParams))
17103			}
17104		}
17105	}
17106
17107	if invalidParams.Len() > 0 {
17108		return invalidParams
17109	}
17110	return nil
17111}
17112
17113// SetSubscriptions sets the Subscriptions field's value.
17114func (s *SubscriptionDefinitionVersion) SetSubscriptions(v []*Subscription) *SubscriptionDefinitionVersion {
17115	s.Subscriptions = v
17116	return s
17117}
17118
17119type TagResourceInput struct {
17120	_ struct{} `type:"structure"`
17121
17122	// ResourceArn is a required field
17123	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
17124
17125	// The key-value pair for the resource tag.
17126	Tags map[string]*string `locationName:"tags" type:"map"`
17127}
17128
17129// String returns the string representation
17130func (s TagResourceInput) String() string {
17131	return awsutil.Prettify(s)
17132}
17133
17134// GoString returns the string representation
17135func (s TagResourceInput) GoString() string {
17136	return s.String()
17137}
17138
17139// Validate inspects the fields of the type to determine if they are valid.
17140func (s *TagResourceInput) Validate() error {
17141	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
17142	if s.ResourceArn == nil {
17143		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17144	}
17145	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
17146		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
17147	}
17148
17149	if invalidParams.Len() > 0 {
17150		return invalidParams
17151	}
17152	return nil
17153}
17154
17155// SetResourceArn sets the ResourceArn field's value.
17156func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
17157	s.ResourceArn = &v
17158	return s
17159}
17160
17161// SetTags sets the Tags field's value.
17162func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
17163	s.Tags = v
17164	return s
17165}
17166
17167type TagResourceOutput struct {
17168	_ struct{} `type:"structure"`
17169}
17170
17171// String returns the string representation
17172func (s TagResourceOutput) String() string {
17173	return awsutil.Prettify(s)
17174}
17175
17176// GoString returns the string representation
17177func (s TagResourceOutput) GoString() string {
17178	return s.String()
17179}
17180
17181// Configuration settings for running telemetry.
17182type TelemetryConfiguration struct {
17183	_ struct{} `type:"structure"`
17184
17185	// Synchronization status of the device reported configuration with the desired
17186	// configuration.
17187	ConfigurationSyncStatus *string `type:"string" enum:"ConfigurationSyncStatus"`
17188
17189	// Configure telemetry to be on or off.
17190	//
17191	// Telemetry is a required field
17192	Telemetry *string `type:"string" required:"true" enum:"Telemetry"`
17193}
17194
17195// String returns the string representation
17196func (s TelemetryConfiguration) String() string {
17197	return awsutil.Prettify(s)
17198}
17199
17200// GoString returns the string representation
17201func (s TelemetryConfiguration) GoString() string {
17202	return s.String()
17203}
17204
17205// SetConfigurationSyncStatus sets the ConfigurationSyncStatus field's value.
17206func (s *TelemetryConfiguration) SetConfigurationSyncStatus(v string) *TelemetryConfiguration {
17207	s.ConfigurationSyncStatus = &v
17208	return s
17209}
17210
17211// SetTelemetry sets the Telemetry field's value.
17212func (s *TelemetryConfiguration) SetTelemetry(v string) *TelemetryConfiguration {
17213	s.Telemetry = &v
17214	return s
17215}
17216
17217// Configuration settings for running telemetry.
17218type TelemetryConfigurationUpdate struct {
17219	_ struct{} `type:"structure"`
17220
17221	// Configure telemetry to be on or off.
17222	//
17223	// Telemetry is a required field
17224	Telemetry *string `type:"string" required:"true" enum:"Telemetry"`
17225}
17226
17227// String returns the string representation
17228func (s TelemetryConfigurationUpdate) String() string {
17229	return awsutil.Prettify(s)
17230}
17231
17232// GoString returns the string representation
17233func (s TelemetryConfigurationUpdate) GoString() string {
17234	return s.String()
17235}
17236
17237// Validate inspects the fields of the type to determine if they are valid.
17238func (s *TelemetryConfigurationUpdate) Validate() error {
17239	invalidParams := request.ErrInvalidParams{Context: "TelemetryConfigurationUpdate"}
17240	if s.Telemetry == nil {
17241		invalidParams.Add(request.NewErrParamRequired("Telemetry"))
17242	}
17243
17244	if invalidParams.Len() > 0 {
17245		return invalidParams
17246	}
17247	return nil
17248}
17249
17250// SetTelemetry sets the Telemetry field's value.
17251func (s *TelemetryConfigurationUpdate) SetTelemetry(v string) *TelemetryConfigurationUpdate {
17252	s.Telemetry = &v
17253	return s
17254}
17255
17256type UntagResourceInput struct {
17257	_ struct{} `type:"structure"`
17258
17259	// ResourceArn is a required field
17260	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
17261
17262	// TagKeys is a required field
17263	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
17264}
17265
17266// String returns the string representation
17267func (s UntagResourceInput) String() string {
17268	return awsutil.Prettify(s)
17269}
17270
17271// GoString returns the string representation
17272func (s UntagResourceInput) GoString() string {
17273	return s.String()
17274}
17275
17276// Validate inspects the fields of the type to determine if they are valid.
17277func (s *UntagResourceInput) Validate() error {
17278	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
17279	if s.ResourceArn == nil {
17280		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17281	}
17282	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
17283		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
17284	}
17285	if s.TagKeys == nil {
17286		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
17287	}
17288
17289	if invalidParams.Len() > 0 {
17290		return invalidParams
17291	}
17292	return nil
17293}
17294
17295// SetResourceArn sets the ResourceArn field's value.
17296func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
17297	s.ResourceArn = &v
17298	return s
17299}
17300
17301// SetTagKeys sets the TagKeys field's value.
17302func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
17303	s.TagKeys = v
17304	return s
17305}
17306
17307type UntagResourceOutput struct {
17308	_ struct{} `type:"structure"`
17309}
17310
17311// String returns the string representation
17312func (s UntagResourceOutput) String() string {
17313	return awsutil.Prettify(s)
17314}
17315
17316// GoString returns the string representation
17317func (s UntagResourceOutput) GoString() string {
17318	return s.String()
17319}
17320
17321// Information required to update a Greengrass core's connectivity.
17322type UpdateConnectivityInfoInput struct {
17323	_ struct{} `type:"structure"`
17324
17325	// A list of connectivity info.
17326	ConnectivityInfo []*ConnectivityInfo `type:"list"`
17327
17328	// ThingName is a required field
17329	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
17330}
17331
17332// String returns the string representation
17333func (s UpdateConnectivityInfoInput) String() string {
17334	return awsutil.Prettify(s)
17335}
17336
17337// GoString returns the string representation
17338func (s UpdateConnectivityInfoInput) GoString() string {
17339	return s.String()
17340}
17341
17342// Validate inspects the fields of the type to determine if they are valid.
17343func (s *UpdateConnectivityInfoInput) Validate() error {
17344	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectivityInfoInput"}
17345	if s.ThingName == nil {
17346		invalidParams.Add(request.NewErrParamRequired("ThingName"))
17347	}
17348	if s.ThingName != nil && len(*s.ThingName) < 1 {
17349		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
17350	}
17351
17352	if invalidParams.Len() > 0 {
17353		return invalidParams
17354	}
17355	return nil
17356}
17357
17358// SetConnectivityInfo sets the ConnectivityInfo field's value.
17359func (s *UpdateConnectivityInfoInput) SetConnectivityInfo(v []*ConnectivityInfo) *UpdateConnectivityInfoInput {
17360	s.ConnectivityInfo = v
17361	return s
17362}
17363
17364// SetThingName sets the ThingName field's value.
17365func (s *UpdateConnectivityInfoInput) SetThingName(v string) *UpdateConnectivityInfoInput {
17366	s.ThingName = &v
17367	return s
17368}
17369
17370type UpdateConnectivityInfoOutput struct {
17371	_ struct{} `type:"structure"`
17372
17373	// A message about the connectivity info update request.
17374	Message *string `locationName:"message" type:"string"`
17375
17376	// The new version of the connectivity info.
17377	Version *string `type:"string"`
17378}
17379
17380// String returns the string representation
17381func (s UpdateConnectivityInfoOutput) String() string {
17382	return awsutil.Prettify(s)
17383}
17384
17385// GoString returns the string representation
17386func (s UpdateConnectivityInfoOutput) GoString() string {
17387	return s.String()
17388}
17389
17390// SetMessage sets the Message field's value.
17391func (s *UpdateConnectivityInfoOutput) SetMessage(v string) *UpdateConnectivityInfoOutput {
17392	s.Message = &v
17393	return s
17394}
17395
17396// SetVersion sets the Version field's value.
17397func (s *UpdateConnectivityInfoOutput) SetVersion(v string) *UpdateConnectivityInfoOutput {
17398	s.Version = &v
17399	return s
17400}
17401
17402type UpdateConnectorDefinitionInput struct {
17403	_ struct{} `type:"structure"`
17404
17405	// ConnectorDefinitionId is a required field
17406	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
17407
17408	Name *string `type:"string"`
17409}
17410
17411// String returns the string representation
17412func (s UpdateConnectorDefinitionInput) String() string {
17413	return awsutil.Prettify(s)
17414}
17415
17416// GoString returns the string representation
17417func (s UpdateConnectorDefinitionInput) GoString() string {
17418	return s.String()
17419}
17420
17421// Validate inspects the fields of the type to determine if they are valid.
17422func (s *UpdateConnectorDefinitionInput) Validate() error {
17423	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectorDefinitionInput"}
17424	if s.ConnectorDefinitionId == nil {
17425		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
17426	}
17427	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
17428		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
17429	}
17430
17431	if invalidParams.Len() > 0 {
17432		return invalidParams
17433	}
17434	return nil
17435}
17436
17437// SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
17438func (s *UpdateConnectorDefinitionInput) SetConnectorDefinitionId(v string) *UpdateConnectorDefinitionInput {
17439	s.ConnectorDefinitionId = &v
17440	return s
17441}
17442
17443// SetName sets the Name field's value.
17444func (s *UpdateConnectorDefinitionInput) SetName(v string) *UpdateConnectorDefinitionInput {
17445	s.Name = &v
17446	return s
17447}
17448
17449type UpdateConnectorDefinitionOutput struct {
17450	_ struct{} `type:"structure"`
17451}
17452
17453// String returns the string representation
17454func (s UpdateConnectorDefinitionOutput) String() string {
17455	return awsutil.Prettify(s)
17456}
17457
17458// GoString returns the string representation
17459func (s UpdateConnectorDefinitionOutput) GoString() string {
17460	return s.String()
17461}
17462
17463type UpdateCoreDefinitionInput struct {
17464	_ struct{} `type:"structure"`
17465
17466	// CoreDefinitionId is a required field
17467	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
17468
17469	Name *string `type:"string"`
17470}
17471
17472// String returns the string representation
17473func (s UpdateCoreDefinitionInput) String() string {
17474	return awsutil.Prettify(s)
17475}
17476
17477// GoString returns the string representation
17478func (s UpdateCoreDefinitionInput) GoString() string {
17479	return s.String()
17480}
17481
17482// Validate inspects the fields of the type to determine if they are valid.
17483func (s *UpdateCoreDefinitionInput) Validate() error {
17484	invalidParams := request.ErrInvalidParams{Context: "UpdateCoreDefinitionInput"}
17485	if s.CoreDefinitionId == nil {
17486		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
17487	}
17488	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
17489		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
17490	}
17491
17492	if invalidParams.Len() > 0 {
17493		return invalidParams
17494	}
17495	return nil
17496}
17497
17498// SetCoreDefinitionId sets the CoreDefinitionId field's value.
17499func (s *UpdateCoreDefinitionInput) SetCoreDefinitionId(v string) *UpdateCoreDefinitionInput {
17500	s.CoreDefinitionId = &v
17501	return s
17502}
17503
17504// SetName sets the Name field's value.
17505func (s *UpdateCoreDefinitionInput) SetName(v string) *UpdateCoreDefinitionInput {
17506	s.Name = &v
17507	return s
17508}
17509
17510type UpdateCoreDefinitionOutput struct {
17511	_ struct{} `type:"structure"`
17512}
17513
17514// String returns the string representation
17515func (s UpdateCoreDefinitionOutput) String() string {
17516	return awsutil.Prettify(s)
17517}
17518
17519// GoString returns the string representation
17520func (s UpdateCoreDefinitionOutput) GoString() string {
17521	return s.String()
17522}
17523
17524type UpdateDeviceDefinitionInput struct {
17525	_ struct{} `type:"structure"`
17526
17527	// DeviceDefinitionId is a required field
17528	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
17529
17530	Name *string `type:"string"`
17531}
17532
17533// String returns the string representation
17534func (s UpdateDeviceDefinitionInput) String() string {
17535	return awsutil.Prettify(s)
17536}
17537
17538// GoString returns the string representation
17539func (s UpdateDeviceDefinitionInput) GoString() string {
17540	return s.String()
17541}
17542
17543// Validate inspects the fields of the type to determine if they are valid.
17544func (s *UpdateDeviceDefinitionInput) Validate() error {
17545	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceDefinitionInput"}
17546	if s.DeviceDefinitionId == nil {
17547		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
17548	}
17549	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
17550		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
17551	}
17552
17553	if invalidParams.Len() > 0 {
17554		return invalidParams
17555	}
17556	return nil
17557}
17558
17559// SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
17560func (s *UpdateDeviceDefinitionInput) SetDeviceDefinitionId(v string) *UpdateDeviceDefinitionInput {
17561	s.DeviceDefinitionId = &v
17562	return s
17563}
17564
17565// SetName sets the Name field's value.
17566func (s *UpdateDeviceDefinitionInput) SetName(v string) *UpdateDeviceDefinitionInput {
17567	s.Name = &v
17568	return s
17569}
17570
17571type UpdateDeviceDefinitionOutput struct {
17572	_ struct{} `type:"structure"`
17573}
17574
17575// String returns the string representation
17576func (s UpdateDeviceDefinitionOutput) String() string {
17577	return awsutil.Prettify(s)
17578}
17579
17580// GoString returns the string representation
17581func (s UpdateDeviceDefinitionOutput) GoString() string {
17582	return s.String()
17583}
17584
17585type UpdateFunctionDefinitionInput struct {
17586	_ struct{} `type:"structure"`
17587
17588	// FunctionDefinitionId is a required field
17589	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
17590
17591	Name *string `type:"string"`
17592}
17593
17594// String returns the string representation
17595func (s UpdateFunctionDefinitionInput) String() string {
17596	return awsutil.Prettify(s)
17597}
17598
17599// GoString returns the string representation
17600func (s UpdateFunctionDefinitionInput) GoString() string {
17601	return s.String()
17602}
17603
17604// Validate inspects the fields of the type to determine if they are valid.
17605func (s *UpdateFunctionDefinitionInput) Validate() error {
17606	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionDefinitionInput"}
17607	if s.FunctionDefinitionId == nil {
17608		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
17609	}
17610	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
17611		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
17612	}
17613
17614	if invalidParams.Len() > 0 {
17615		return invalidParams
17616	}
17617	return nil
17618}
17619
17620// SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
17621func (s *UpdateFunctionDefinitionInput) SetFunctionDefinitionId(v string) *UpdateFunctionDefinitionInput {
17622	s.FunctionDefinitionId = &v
17623	return s
17624}
17625
17626// SetName sets the Name field's value.
17627func (s *UpdateFunctionDefinitionInput) SetName(v string) *UpdateFunctionDefinitionInput {
17628	s.Name = &v
17629	return s
17630}
17631
17632type UpdateFunctionDefinitionOutput struct {
17633	_ struct{} `type:"structure"`
17634}
17635
17636// String returns the string representation
17637func (s UpdateFunctionDefinitionOutput) String() string {
17638	return awsutil.Prettify(s)
17639}
17640
17641// GoString returns the string representation
17642func (s UpdateFunctionDefinitionOutput) GoString() string {
17643	return s.String()
17644}
17645
17646type UpdateGroupCertificateConfigurationInput struct {
17647	_ struct{} `type:"structure"`
17648
17649	// The amount of time remaining before the certificate expires, in milliseconds.
17650	CertificateExpiryInMilliseconds *string `type:"string"`
17651
17652	// GroupId is a required field
17653	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
17654}
17655
17656// String returns the string representation
17657func (s UpdateGroupCertificateConfigurationInput) String() string {
17658	return awsutil.Prettify(s)
17659}
17660
17661// GoString returns the string representation
17662func (s UpdateGroupCertificateConfigurationInput) GoString() string {
17663	return s.String()
17664}
17665
17666// Validate inspects the fields of the type to determine if they are valid.
17667func (s *UpdateGroupCertificateConfigurationInput) Validate() error {
17668	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupCertificateConfigurationInput"}
17669	if s.GroupId == nil {
17670		invalidParams.Add(request.NewErrParamRequired("GroupId"))
17671	}
17672	if s.GroupId != nil && len(*s.GroupId) < 1 {
17673		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
17674	}
17675
17676	if invalidParams.Len() > 0 {
17677		return invalidParams
17678	}
17679	return nil
17680}
17681
17682// SetCertificateExpiryInMilliseconds sets the CertificateExpiryInMilliseconds field's value.
17683func (s *UpdateGroupCertificateConfigurationInput) SetCertificateExpiryInMilliseconds(v string) *UpdateGroupCertificateConfigurationInput {
17684	s.CertificateExpiryInMilliseconds = &v
17685	return s
17686}
17687
17688// SetGroupId sets the GroupId field's value.
17689func (s *UpdateGroupCertificateConfigurationInput) SetGroupId(v string) *UpdateGroupCertificateConfigurationInput {
17690	s.GroupId = &v
17691	return s
17692}
17693
17694type UpdateGroupCertificateConfigurationOutput struct {
17695	_ struct{} `type:"structure"`
17696
17697	CertificateAuthorityExpiryInMilliseconds *string `type:"string"`
17698
17699	CertificateExpiryInMilliseconds *string `type:"string"`
17700
17701	GroupId *string `type:"string"`
17702}
17703
17704// String returns the string representation
17705func (s UpdateGroupCertificateConfigurationOutput) String() string {
17706	return awsutil.Prettify(s)
17707}
17708
17709// GoString returns the string representation
17710func (s UpdateGroupCertificateConfigurationOutput) GoString() string {
17711	return s.String()
17712}
17713
17714// SetCertificateAuthorityExpiryInMilliseconds sets the CertificateAuthorityExpiryInMilliseconds field's value.
17715func (s *UpdateGroupCertificateConfigurationOutput) SetCertificateAuthorityExpiryInMilliseconds(v string) *UpdateGroupCertificateConfigurationOutput {
17716	s.CertificateAuthorityExpiryInMilliseconds = &v
17717	return s
17718}
17719
17720// SetCertificateExpiryInMilliseconds sets the CertificateExpiryInMilliseconds field's value.
17721func (s *UpdateGroupCertificateConfigurationOutput) SetCertificateExpiryInMilliseconds(v string) *UpdateGroupCertificateConfigurationOutput {
17722	s.CertificateExpiryInMilliseconds = &v
17723	return s
17724}
17725
17726// SetGroupId sets the GroupId field's value.
17727func (s *UpdateGroupCertificateConfigurationOutput) SetGroupId(v string) *UpdateGroupCertificateConfigurationOutput {
17728	s.GroupId = &v
17729	return s
17730}
17731
17732type UpdateGroupInput struct {
17733	_ struct{} `type:"structure"`
17734
17735	// GroupId is a required field
17736	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
17737
17738	Name *string `type:"string"`
17739}
17740
17741// String returns the string representation
17742func (s UpdateGroupInput) String() string {
17743	return awsutil.Prettify(s)
17744}
17745
17746// GoString returns the string representation
17747func (s UpdateGroupInput) GoString() string {
17748	return s.String()
17749}
17750
17751// Validate inspects the fields of the type to determine if they are valid.
17752func (s *UpdateGroupInput) Validate() error {
17753	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
17754	if s.GroupId == nil {
17755		invalidParams.Add(request.NewErrParamRequired("GroupId"))
17756	}
17757	if s.GroupId != nil && len(*s.GroupId) < 1 {
17758		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
17759	}
17760
17761	if invalidParams.Len() > 0 {
17762		return invalidParams
17763	}
17764	return nil
17765}
17766
17767// SetGroupId sets the GroupId field's value.
17768func (s *UpdateGroupInput) SetGroupId(v string) *UpdateGroupInput {
17769	s.GroupId = &v
17770	return s
17771}
17772
17773// SetName sets the Name field's value.
17774func (s *UpdateGroupInput) SetName(v string) *UpdateGroupInput {
17775	s.Name = &v
17776	return s
17777}
17778
17779type UpdateGroupOutput struct {
17780	_ struct{} `type:"structure"`
17781}
17782
17783// String returns the string representation
17784func (s UpdateGroupOutput) String() string {
17785	return awsutil.Prettify(s)
17786}
17787
17788// GoString returns the string representation
17789func (s UpdateGroupOutput) GoString() string {
17790	return s.String()
17791}
17792
17793type UpdateLoggerDefinitionInput struct {
17794	_ struct{} `type:"structure"`
17795
17796	// LoggerDefinitionId is a required field
17797	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
17798
17799	Name *string `type:"string"`
17800}
17801
17802// String returns the string representation
17803func (s UpdateLoggerDefinitionInput) String() string {
17804	return awsutil.Prettify(s)
17805}
17806
17807// GoString returns the string representation
17808func (s UpdateLoggerDefinitionInput) GoString() string {
17809	return s.String()
17810}
17811
17812// Validate inspects the fields of the type to determine if they are valid.
17813func (s *UpdateLoggerDefinitionInput) Validate() error {
17814	invalidParams := request.ErrInvalidParams{Context: "UpdateLoggerDefinitionInput"}
17815	if s.LoggerDefinitionId == nil {
17816		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
17817	}
17818	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
17819		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
17820	}
17821
17822	if invalidParams.Len() > 0 {
17823		return invalidParams
17824	}
17825	return nil
17826}
17827
17828// SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
17829func (s *UpdateLoggerDefinitionInput) SetLoggerDefinitionId(v string) *UpdateLoggerDefinitionInput {
17830	s.LoggerDefinitionId = &v
17831	return s
17832}
17833
17834// SetName sets the Name field's value.
17835func (s *UpdateLoggerDefinitionInput) SetName(v string) *UpdateLoggerDefinitionInput {
17836	s.Name = &v
17837	return s
17838}
17839
17840type UpdateLoggerDefinitionOutput struct {
17841	_ struct{} `type:"structure"`
17842}
17843
17844// String returns the string representation
17845func (s UpdateLoggerDefinitionOutput) String() string {
17846	return awsutil.Prettify(s)
17847}
17848
17849// GoString returns the string representation
17850func (s UpdateLoggerDefinitionOutput) GoString() string {
17851	return s.String()
17852}
17853
17854type UpdateResourceDefinitionInput struct {
17855	_ struct{} `type:"structure"`
17856
17857	Name *string `type:"string"`
17858
17859	// ResourceDefinitionId is a required field
17860	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
17861}
17862
17863// String returns the string representation
17864func (s UpdateResourceDefinitionInput) String() string {
17865	return awsutil.Prettify(s)
17866}
17867
17868// GoString returns the string representation
17869func (s UpdateResourceDefinitionInput) GoString() string {
17870	return s.String()
17871}
17872
17873// Validate inspects the fields of the type to determine if they are valid.
17874func (s *UpdateResourceDefinitionInput) Validate() error {
17875	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceDefinitionInput"}
17876	if s.ResourceDefinitionId == nil {
17877		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
17878	}
17879	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
17880		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
17881	}
17882
17883	if invalidParams.Len() > 0 {
17884		return invalidParams
17885	}
17886	return nil
17887}
17888
17889// SetName sets the Name field's value.
17890func (s *UpdateResourceDefinitionInput) SetName(v string) *UpdateResourceDefinitionInput {
17891	s.Name = &v
17892	return s
17893}
17894
17895// SetResourceDefinitionId sets the ResourceDefinitionId field's value.
17896func (s *UpdateResourceDefinitionInput) SetResourceDefinitionId(v string) *UpdateResourceDefinitionInput {
17897	s.ResourceDefinitionId = &v
17898	return s
17899}
17900
17901type UpdateResourceDefinitionOutput struct {
17902	_ struct{} `type:"structure"`
17903}
17904
17905// String returns the string representation
17906func (s UpdateResourceDefinitionOutput) String() string {
17907	return awsutil.Prettify(s)
17908}
17909
17910// GoString returns the string representation
17911func (s UpdateResourceDefinitionOutput) GoString() string {
17912	return s.String()
17913}
17914
17915type UpdateSubscriptionDefinitionInput struct {
17916	_ struct{} `type:"structure"`
17917
17918	Name *string `type:"string"`
17919
17920	// SubscriptionDefinitionId is a required field
17921	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
17922}
17923
17924// String returns the string representation
17925func (s UpdateSubscriptionDefinitionInput) String() string {
17926	return awsutil.Prettify(s)
17927}
17928
17929// GoString returns the string representation
17930func (s UpdateSubscriptionDefinitionInput) GoString() string {
17931	return s.String()
17932}
17933
17934// Validate inspects the fields of the type to determine if they are valid.
17935func (s *UpdateSubscriptionDefinitionInput) Validate() error {
17936	invalidParams := request.ErrInvalidParams{Context: "UpdateSubscriptionDefinitionInput"}
17937	if s.SubscriptionDefinitionId == nil {
17938		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
17939	}
17940	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
17941		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
17942	}
17943
17944	if invalidParams.Len() > 0 {
17945		return invalidParams
17946	}
17947	return nil
17948}
17949
17950// SetName sets the Name field's value.
17951func (s *UpdateSubscriptionDefinitionInput) SetName(v string) *UpdateSubscriptionDefinitionInput {
17952	s.Name = &v
17953	return s
17954}
17955
17956// SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
17957func (s *UpdateSubscriptionDefinitionInput) SetSubscriptionDefinitionId(v string) *UpdateSubscriptionDefinitionInput {
17958	s.SubscriptionDefinitionId = &v
17959	return s
17960}
17961
17962type UpdateSubscriptionDefinitionOutput struct {
17963	_ struct{} `type:"structure"`
17964}
17965
17966// String returns the string representation
17967func (s UpdateSubscriptionDefinitionOutput) String() string {
17968	return awsutil.Prettify(s)
17969}
17970
17971// GoString returns the string representation
17972func (s UpdateSubscriptionDefinitionOutput) GoString() string {
17973	return s.String()
17974}
17975
17976type UpdateThingRuntimeConfigurationInput struct {
17977	_ struct{} `type:"structure"`
17978
17979	// Configuration settings for running telemetry.
17980	TelemetryConfiguration *TelemetryConfigurationUpdate `type:"structure"`
17981
17982	// ThingName is a required field
17983	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
17984}
17985
17986// String returns the string representation
17987func (s UpdateThingRuntimeConfigurationInput) String() string {
17988	return awsutil.Prettify(s)
17989}
17990
17991// GoString returns the string representation
17992func (s UpdateThingRuntimeConfigurationInput) GoString() string {
17993	return s.String()
17994}
17995
17996// Validate inspects the fields of the type to determine if they are valid.
17997func (s *UpdateThingRuntimeConfigurationInput) Validate() error {
17998	invalidParams := request.ErrInvalidParams{Context: "UpdateThingRuntimeConfigurationInput"}
17999	if s.ThingName == nil {
18000		invalidParams.Add(request.NewErrParamRequired("ThingName"))
18001	}
18002	if s.ThingName != nil && len(*s.ThingName) < 1 {
18003		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
18004	}
18005	if s.TelemetryConfiguration != nil {
18006		if err := s.TelemetryConfiguration.Validate(); err != nil {
18007			invalidParams.AddNested("TelemetryConfiguration", err.(request.ErrInvalidParams))
18008		}
18009	}
18010
18011	if invalidParams.Len() > 0 {
18012		return invalidParams
18013	}
18014	return nil
18015}
18016
18017// SetTelemetryConfiguration sets the TelemetryConfiguration field's value.
18018func (s *UpdateThingRuntimeConfigurationInput) SetTelemetryConfiguration(v *TelemetryConfigurationUpdate) *UpdateThingRuntimeConfigurationInput {
18019	s.TelemetryConfiguration = v
18020	return s
18021}
18022
18023// SetThingName sets the ThingName field's value.
18024func (s *UpdateThingRuntimeConfigurationInput) SetThingName(v string) *UpdateThingRuntimeConfigurationInput {
18025	s.ThingName = &v
18026	return s
18027}
18028
18029type UpdateThingRuntimeConfigurationOutput struct {
18030	_ struct{} `type:"structure"`
18031}
18032
18033// String returns the string representation
18034func (s UpdateThingRuntimeConfigurationOutput) String() string {
18035	return awsutil.Prettify(s)
18036}
18037
18038// GoString returns the string representation
18039func (s UpdateThingRuntimeConfigurationOutput) GoString() string {
18040	return s.String()
18041}
18042
18043// Information about a version.
18044type VersionInformation struct {
18045	_ struct{} `type:"structure"`
18046
18047	// The ARN of the version.
18048	Arn *string `type:"string"`
18049
18050	// The time, in milliseconds since the epoch, when the version was created.
18051	CreationTimestamp *string `type:"string"`
18052
18053	// The ID of the parent definition that the version is associated with.
18054	Id *string `type:"string"`
18055
18056	// The ID of the version.
18057	Version *string `type:"string"`
18058}
18059
18060// String returns the string representation
18061func (s VersionInformation) String() string {
18062	return awsutil.Prettify(s)
18063}
18064
18065// GoString returns the string representation
18066func (s VersionInformation) GoString() string {
18067	return s.String()
18068}
18069
18070// SetArn sets the Arn field's value.
18071func (s *VersionInformation) SetArn(v string) *VersionInformation {
18072	s.Arn = &v
18073	return s
18074}
18075
18076// SetCreationTimestamp sets the CreationTimestamp field's value.
18077func (s *VersionInformation) SetCreationTimestamp(v string) *VersionInformation {
18078	s.CreationTimestamp = &v
18079	return s
18080}
18081
18082// SetId sets the Id field's value.
18083func (s *VersionInformation) SetId(v string) *VersionInformation {
18084	s.Id = &v
18085	return s
18086}
18087
18088// SetVersion sets the Version field's value.
18089func (s *VersionInformation) SetVersion(v string) *VersionInformation {
18090	s.Version = &v
18091	return s
18092}
18093
18094// The current status of the bulk deployment.
18095const (
18096	// BulkDeploymentStatusInitializing is a BulkDeploymentStatus enum value
18097	BulkDeploymentStatusInitializing = "Initializing"
18098
18099	// BulkDeploymentStatusRunning is a BulkDeploymentStatus enum value
18100	BulkDeploymentStatusRunning = "Running"
18101
18102	// BulkDeploymentStatusCompleted is a BulkDeploymentStatus enum value
18103	BulkDeploymentStatusCompleted = "Completed"
18104
18105	// BulkDeploymentStatusStopping is a BulkDeploymentStatus enum value
18106	BulkDeploymentStatusStopping = "Stopping"
18107
18108	// BulkDeploymentStatusStopped is a BulkDeploymentStatus enum value
18109	BulkDeploymentStatusStopped = "Stopped"
18110
18111	// BulkDeploymentStatusFailed is a BulkDeploymentStatus enum value
18112	BulkDeploymentStatusFailed = "Failed"
18113)
18114
18115// BulkDeploymentStatus_Values returns all elements of the BulkDeploymentStatus enum
18116func BulkDeploymentStatus_Values() []string {
18117	return []string{
18118		BulkDeploymentStatusInitializing,
18119		BulkDeploymentStatusRunning,
18120		BulkDeploymentStatusCompleted,
18121		BulkDeploymentStatusStopping,
18122		BulkDeploymentStatusStopped,
18123		BulkDeploymentStatusFailed,
18124	}
18125}
18126
18127const (
18128	// ConfigurationSyncStatusInSync is a ConfigurationSyncStatus enum value
18129	ConfigurationSyncStatusInSync = "InSync"
18130
18131	// ConfigurationSyncStatusOutOfSync is a ConfigurationSyncStatus enum value
18132	ConfigurationSyncStatusOutOfSync = "OutOfSync"
18133)
18134
18135// ConfigurationSyncStatus_Values returns all elements of the ConfigurationSyncStatus enum
18136func ConfigurationSyncStatus_Values() []string {
18137	return []string{
18138		ConfigurationSyncStatusInSync,
18139		ConfigurationSyncStatusOutOfSync,
18140	}
18141}
18142
18143// The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment''
18144// and ''Redeployment'' are valid.
18145const (
18146	// DeploymentTypeNewDeployment is a DeploymentType enum value
18147	DeploymentTypeNewDeployment = "NewDeployment"
18148
18149	// DeploymentTypeRedeployment is a DeploymentType enum value
18150	DeploymentTypeRedeployment = "Redeployment"
18151
18152	// DeploymentTypeResetDeployment is a DeploymentType enum value
18153	DeploymentTypeResetDeployment = "ResetDeployment"
18154
18155	// DeploymentTypeForceResetDeployment is a DeploymentType enum value
18156	DeploymentTypeForceResetDeployment = "ForceResetDeployment"
18157)
18158
18159// DeploymentType_Values returns all elements of the DeploymentType enum
18160func DeploymentType_Values() []string {
18161	return []string{
18162		DeploymentTypeNewDeployment,
18163		DeploymentTypeRedeployment,
18164		DeploymentTypeResetDeployment,
18165		DeploymentTypeForceResetDeployment,
18166	}
18167}
18168
18169const (
18170	// EncodingTypeBinary is a EncodingType enum value
18171	EncodingTypeBinary = "binary"
18172
18173	// EncodingTypeJson is a EncodingType enum value
18174	EncodingTypeJson = "json"
18175)
18176
18177// EncodingType_Values returns all elements of the EncodingType enum
18178func EncodingType_Values() []string {
18179	return []string{
18180		EncodingTypeBinary,
18181		EncodingTypeJson,
18182	}
18183}
18184
18185// Specifies whether the Lambda function runs in a Greengrass container (default)
18186// or without containerization. Unless your scenario requires that you run without
18187// containerization, we recommend that you run in a Greengrass container. Omit
18188// this value to run the Lambda function with the default containerization for
18189// the group.
18190const (
18191	// FunctionIsolationModeGreengrassContainer is a FunctionIsolationMode enum value
18192	FunctionIsolationModeGreengrassContainer = "GreengrassContainer"
18193
18194	// FunctionIsolationModeNoContainer is a FunctionIsolationMode enum value
18195	FunctionIsolationModeNoContainer = "NoContainer"
18196)
18197
18198// FunctionIsolationMode_Values returns all elements of the FunctionIsolationMode enum
18199func FunctionIsolationMode_Values() []string {
18200	return []string{
18201		FunctionIsolationModeGreengrassContainer,
18202		FunctionIsolationModeNoContainer,
18203	}
18204}
18205
18206const (
18207	// LoggerComponentGreengrassSystem is a LoggerComponent enum value
18208	LoggerComponentGreengrassSystem = "GreengrassSystem"
18209
18210	// LoggerComponentLambda is a LoggerComponent enum value
18211	LoggerComponentLambda = "Lambda"
18212)
18213
18214// LoggerComponent_Values returns all elements of the LoggerComponent enum
18215func LoggerComponent_Values() []string {
18216	return []string{
18217		LoggerComponentGreengrassSystem,
18218		LoggerComponentLambda,
18219	}
18220}
18221
18222const (
18223	// LoggerLevelDebug is a LoggerLevel enum value
18224	LoggerLevelDebug = "DEBUG"
18225
18226	// LoggerLevelInfo is a LoggerLevel enum value
18227	LoggerLevelInfo = "INFO"
18228
18229	// LoggerLevelWarn is a LoggerLevel enum value
18230	LoggerLevelWarn = "WARN"
18231
18232	// LoggerLevelError is a LoggerLevel enum value
18233	LoggerLevelError = "ERROR"
18234
18235	// LoggerLevelFatal is a LoggerLevel enum value
18236	LoggerLevelFatal = "FATAL"
18237)
18238
18239// LoggerLevel_Values returns all elements of the LoggerLevel enum
18240func LoggerLevel_Values() []string {
18241	return []string{
18242		LoggerLevelDebug,
18243		LoggerLevelInfo,
18244		LoggerLevelWarn,
18245		LoggerLevelError,
18246		LoggerLevelFatal,
18247	}
18248}
18249
18250const (
18251	// LoggerTypeFileSystem is a LoggerType enum value
18252	LoggerTypeFileSystem = "FileSystem"
18253
18254	// LoggerTypeAwscloudWatch is a LoggerType enum value
18255	LoggerTypeAwscloudWatch = "AWSCloudWatch"
18256)
18257
18258// LoggerType_Values returns all elements of the LoggerType enum
18259func LoggerType_Values() []string {
18260	return []string{
18261		LoggerTypeFileSystem,
18262		LoggerTypeAwscloudWatch,
18263	}
18264}
18265
18266// The type of permission a function has to access a resource.
18267const (
18268	// PermissionRo is a Permission enum value
18269	PermissionRo = "ro"
18270
18271	// PermissionRw is a Permission enum value
18272	PermissionRw = "rw"
18273)
18274
18275// Permission_Values returns all elements of the Permission enum
18276func Permission_Values() []string {
18277	return []string{
18278		PermissionRo,
18279		PermissionRw,
18280	}
18281}
18282
18283// The piece of software on the Greengrass core that will be updated.
18284const (
18285	// SoftwareToUpdateCore is a SoftwareToUpdate enum value
18286	SoftwareToUpdateCore = "core"
18287
18288	// SoftwareToUpdateOtaAgent is a SoftwareToUpdate enum value
18289	SoftwareToUpdateOtaAgent = "ota_agent"
18290)
18291
18292// SoftwareToUpdate_Values returns all elements of the SoftwareToUpdate enum
18293func SoftwareToUpdate_Values() []string {
18294	return []string{
18295		SoftwareToUpdateCore,
18296		SoftwareToUpdateOtaAgent,
18297	}
18298}
18299
18300const (
18301	// TelemetryOn is a Telemetry enum value
18302	TelemetryOn = "On"
18303
18304	// TelemetryOff is a Telemetry enum value
18305	TelemetryOff = "Off"
18306)
18307
18308// Telemetry_Values returns all elements of the Telemetry enum
18309func Telemetry_Values() []string {
18310	return []string{
18311		TelemetryOn,
18312		TelemetryOff,
18313	}
18314}
18315
18316// The minimum level of log statements that should be logged by the OTA Agent
18317// during an update.
18318const (
18319	// UpdateAgentLogLevelNone is a UpdateAgentLogLevel enum value
18320	UpdateAgentLogLevelNone = "NONE"
18321
18322	// UpdateAgentLogLevelTrace is a UpdateAgentLogLevel enum value
18323	UpdateAgentLogLevelTrace = "TRACE"
18324
18325	// UpdateAgentLogLevelDebug is a UpdateAgentLogLevel enum value
18326	UpdateAgentLogLevelDebug = "DEBUG"
18327
18328	// UpdateAgentLogLevelVerbose is a UpdateAgentLogLevel enum value
18329	UpdateAgentLogLevelVerbose = "VERBOSE"
18330
18331	// UpdateAgentLogLevelInfo is a UpdateAgentLogLevel enum value
18332	UpdateAgentLogLevelInfo = "INFO"
18333
18334	// UpdateAgentLogLevelWarn is a UpdateAgentLogLevel enum value
18335	UpdateAgentLogLevelWarn = "WARN"
18336
18337	// UpdateAgentLogLevelError is a UpdateAgentLogLevel enum value
18338	UpdateAgentLogLevelError = "ERROR"
18339
18340	// UpdateAgentLogLevelFatal is a UpdateAgentLogLevel enum value
18341	UpdateAgentLogLevelFatal = "FATAL"
18342)
18343
18344// UpdateAgentLogLevel_Values returns all elements of the UpdateAgentLogLevel enum
18345func UpdateAgentLogLevel_Values() []string {
18346	return []string{
18347		UpdateAgentLogLevelNone,
18348		UpdateAgentLogLevelTrace,
18349		UpdateAgentLogLevelDebug,
18350		UpdateAgentLogLevelVerbose,
18351		UpdateAgentLogLevelInfo,
18352		UpdateAgentLogLevelWarn,
18353		UpdateAgentLogLevelError,
18354		UpdateAgentLogLevelFatal,
18355	}
18356}
18357
18358// The architecture of the cores which are the targets of an update.
18359const (
18360	// UpdateTargetsArchitectureArmv6l is a UpdateTargetsArchitecture enum value
18361	UpdateTargetsArchitectureArmv6l = "armv6l"
18362
18363	// UpdateTargetsArchitectureArmv7l is a UpdateTargetsArchitecture enum value
18364	UpdateTargetsArchitectureArmv7l = "armv7l"
18365
18366	// UpdateTargetsArchitectureX8664 is a UpdateTargetsArchitecture enum value
18367	UpdateTargetsArchitectureX8664 = "x86_64"
18368
18369	// UpdateTargetsArchitectureAarch64 is a UpdateTargetsArchitecture enum value
18370	UpdateTargetsArchitectureAarch64 = "aarch64"
18371)
18372
18373// UpdateTargetsArchitecture_Values returns all elements of the UpdateTargetsArchitecture enum
18374func UpdateTargetsArchitecture_Values() []string {
18375	return []string{
18376		UpdateTargetsArchitectureArmv6l,
18377		UpdateTargetsArchitectureArmv7l,
18378		UpdateTargetsArchitectureX8664,
18379		UpdateTargetsArchitectureAarch64,
18380	}
18381}
18382
18383// The operating system of the cores which are the targets of an update.
18384const (
18385	// UpdateTargetsOperatingSystemUbuntu is a UpdateTargetsOperatingSystem enum value
18386	UpdateTargetsOperatingSystemUbuntu = "ubuntu"
18387
18388	// UpdateTargetsOperatingSystemRaspbian is a UpdateTargetsOperatingSystem enum value
18389	UpdateTargetsOperatingSystemRaspbian = "raspbian"
18390
18391	// UpdateTargetsOperatingSystemAmazonLinux is a UpdateTargetsOperatingSystem enum value
18392	UpdateTargetsOperatingSystemAmazonLinux = "amazon_linux"
18393
18394	// UpdateTargetsOperatingSystemOpenwrt is a UpdateTargetsOperatingSystem enum value
18395	UpdateTargetsOperatingSystemOpenwrt = "openwrt"
18396)
18397
18398// UpdateTargetsOperatingSystem_Values returns all elements of the UpdateTargetsOperatingSystem enum
18399func UpdateTargetsOperatingSystem_Values() []string {
18400	return []string{
18401		UpdateTargetsOperatingSystemUbuntu,
18402		UpdateTargetsOperatingSystemRaspbian,
18403		UpdateTargetsOperatingSystemAmazonLinux,
18404		UpdateTargetsOperatingSystemOpenwrt,
18405	}
18406}
18407