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