github.com/aavshr/aws-sdk-go@v1.41.3/service/greengrassv2/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package greengrassv2 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 14 ) 15 16 const 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 42 func (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 101 func (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. 115 func (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 122 const 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 148 func (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 198 func (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. 212 func (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 219 const 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 245 func (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 298 func (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. 312 func (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 319 const 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 345 func (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 424 func (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. 438 func (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 445 const 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 471 func (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 538 func (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. 552 func (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 559 const 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 585 func (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 642 func (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. 656 func (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 663 const 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 689 func (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 745 func (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. 759 func (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 766 const 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 792 func (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 839 func (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. 853 func (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 860 const 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 886 func (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 934 func (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. 948 func (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 955 const 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 981 func (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 1030 func (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. 1044 func (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 1051 const 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 1077 func (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 1124 func (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. 1138 func (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 1145 const 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 1171 func (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 1219 func (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. 1233 func (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 1240 const 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 1266 func (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 1320 func (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. 1334 func (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 // 1358 func (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. 1369 func (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 1393 const 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 1419 func (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 1473 func (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. 1487 func (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 // 1511 func (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. 1522 func (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 1546 const 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 1572 func (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 1623 func (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. 1637 func (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 // 1661 func (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. 1672 func (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 1696 const 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 1722 func (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 1772 func (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. 1786 func (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 // 1810 func (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. 1821 func (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 1845 const 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 1871 func (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 1921 func (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. 1935 func (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 // 1959 func (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. 1970 func (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 1994 const 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 2020 func (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 2074 func (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. 2088 func (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 // 2112 func (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. 2123 func (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 2147 const 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 2173 func (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 2227 func (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. 2241 func (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 // 2265 func (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. 2276 func (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 2300 const 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 2326 func (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 2365 func (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. 2379 func (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 2386 const 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 2412 func (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 2480 func (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. 2494 func (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 2501 const 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 2527 func (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 2568 func (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. 2582 func (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 2589 const 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 2615 func (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 2655 func (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. 2669 func (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. 2677 type 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. 2685 // 2686 // API parameter values that are decorated as "sensitive" in the API will not 2687 // be included in the string output. The member name will be present, but the 2688 // value will be replaced with "sensitive". 2689 func (s AccessDeniedException) String() string { 2690 return awsutil.Prettify(s) 2691 } 2692 2693 // GoString returns the string representation. 2694 // 2695 // API parameter values that are decorated as "sensitive" in the API will not 2696 // be included in the string output. The member name will be present, but the 2697 // value will be replaced with "sensitive". 2698 func (s AccessDeniedException) GoString() string { 2699 return s.String() 2700 } 2701 2702 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 2703 return &AccessDeniedException{ 2704 RespMetadata: v, 2705 } 2706 } 2707 2708 // Code returns the exception type name. 2709 func (s *AccessDeniedException) Code() string { 2710 return "AccessDeniedException" 2711 } 2712 2713 // Message returns the exception's message. 2714 func (s *AccessDeniedException) Message() string { 2715 if s.Message_ != nil { 2716 return *s.Message_ 2717 } 2718 return "" 2719 } 2720 2721 // OrigErr always returns nil, satisfies awserr.Error interface. 2722 func (s *AccessDeniedException) OrigErr() error { 2723 return nil 2724 } 2725 2726 func (s *AccessDeniedException) Error() string { 2727 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2728 } 2729 2730 // Status code returns the HTTP status code for the request's response error. 2731 func (s *AccessDeniedException) StatusCode() int { 2732 return s.RespMetadata.StatusCode 2733 } 2734 2735 // RequestID returns the service's response RequestID for request. 2736 func (s *AccessDeniedException) RequestID() string { 2737 return s.RespMetadata.RequestID 2738 } 2739 2740 // Contains a request to associate a client device with a core device. The BatchAssociateClientDeviceWithCoreDevice 2741 // (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html) 2742 // operation consumes a list of these requests. 2743 type AssociateClientDeviceWithCoreDeviceEntry struct { 2744 _ struct{} `type:"structure"` 2745 2746 // The name of the IoT thing that represents the client device to associate. 2747 // 2748 // ThingName is a required field 2749 ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"` 2750 } 2751 2752 // String returns the string representation. 2753 // 2754 // API parameter values that are decorated as "sensitive" in the API will not 2755 // be included in the string output. The member name will be present, but the 2756 // value will be replaced with "sensitive". 2757 func (s AssociateClientDeviceWithCoreDeviceEntry) String() string { 2758 return awsutil.Prettify(s) 2759 } 2760 2761 // GoString returns the string representation. 2762 // 2763 // API parameter values that are decorated as "sensitive" in the API will not 2764 // be included in the string output. The member name will be present, but the 2765 // value will be replaced with "sensitive". 2766 func (s AssociateClientDeviceWithCoreDeviceEntry) GoString() string { 2767 return s.String() 2768 } 2769 2770 // Validate inspects the fields of the type to determine if they are valid. 2771 func (s *AssociateClientDeviceWithCoreDeviceEntry) Validate() error { 2772 invalidParams := request.ErrInvalidParams{Context: "AssociateClientDeviceWithCoreDeviceEntry"} 2773 if s.ThingName == nil { 2774 invalidParams.Add(request.NewErrParamRequired("ThingName")) 2775 } 2776 if s.ThingName != nil && len(*s.ThingName) < 1 { 2777 invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) 2778 } 2779 2780 if invalidParams.Len() > 0 { 2781 return invalidParams 2782 } 2783 return nil 2784 } 2785 2786 // SetThingName sets the ThingName field's value. 2787 func (s *AssociateClientDeviceWithCoreDeviceEntry) SetThingName(v string) *AssociateClientDeviceWithCoreDeviceEntry { 2788 s.ThingName = &v 2789 return s 2790 } 2791 2792 // Contains an error that occurs from a request to associate a client device 2793 // with a core device. The BatchAssociateClientDeviceWithCoreDevice (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html) 2794 // operation returns a list of these errors. 2795 type AssociateClientDeviceWithCoreDeviceErrorEntry struct { 2796 _ struct{} `type:"structure"` 2797 2798 // The error code for the request. 2799 Code *string `locationName:"code" min:"1" type:"string"` 2800 2801 // A message that provides additional information about the error. 2802 Message *string `locationName:"message" min:"1" type:"string"` 2803 2804 // The name of the IoT thing whose associate request failed. 2805 ThingName *string `locationName:"thingName" min:"1" type:"string"` 2806 } 2807 2808 // String returns the string representation. 2809 // 2810 // API parameter values that are decorated as "sensitive" in the API will not 2811 // be included in the string output. The member name will be present, but the 2812 // value will be replaced with "sensitive". 2813 func (s AssociateClientDeviceWithCoreDeviceErrorEntry) String() string { 2814 return awsutil.Prettify(s) 2815 } 2816 2817 // GoString returns the string representation. 2818 // 2819 // API parameter values that are decorated as "sensitive" in the API will not 2820 // be included in the string output. The member name will be present, but the 2821 // value will be replaced with "sensitive". 2822 func (s AssociateClientDeviceWithCoreDeviceErrorEntry) GoString() string { 2823 return s.String() 2824 } 2825 2826 // SetCode sets the Code field's value. 2827 func (s *AssociateClientDeviceWithCoreDeviceErrorEntry) SetCode(v string) *AssociateClientDeviceWithCoreDeviceErrorEntry { 2828 s.Code = &v 2829 return s 2830 } 2831 2832 // SetMessage sets the Message field's value. 2833 func (s *AssociateClientDeviceWithCoreDeviceErrorEntry) SetMessage(v string) *AssociateClientDeviceWithCoreDeviceErrorEntry { 2834 s.Message = &v 2835 return s 2836 } 2837 2838 // SetThingName sets the ThingName field's value. 2839 func (s *AssociateClientDeviceWithCoreDeviceErrorEntry) SetThingName(v string) *AssociateClientDeviceWithCoreDeviceErrorEntry { 2840 s.ThingName = &v 2841 return s 2842 } 2843 2844 // Contains information about a client device that is associated to a core device 2845 // for cloud discovery. 2846 type AssociatedClientDevice struct { 2847 _ struct{} `type:"structure"` 2848 2849 // The time that the client device was associated, expressed in ISO 8601 format. 2850 AssociationTimestamp *time.Time `locationName:"associationTimestamp" type:"timestamp"` 2851 2852 // The name of the IoT thing that represents the associated client device. 2853 ThingName *string `locationName:"thingName" min:"1" type:"string"` 2854 } 2855 2856 // String returns the string representation. 2857 // 2858 // API parameter values that are decorated as "sensitive" in the API will not 2859 // be included in the string output. The member name will be present, but the 2860 // value will be replaced with "sensitive". 2861 func (s AssociatedClientDevice) String() string { 2862 return awsutil.Prettify(s) 2863 } 2864 2865 // GoString returns the string representation. 2866 // 2867 // API parameter values that are decorated as "sensitive" in the API will not 2868 // be included in the string output. The member name will be present, but the 2869 // value will be replaced with "sensitive". 2870 func (s AssociatedClientDevice) GoString() string { 2871 return s.String() 2872 } 2873 2874 // SetAssociationTimestamp sets the AssociationTimestamp field's value. 2875 func (s *AssociatedClientDevice) SetAssociationTimestamp(v time.Time) *AssociatedClientDevice { 2876 s.AssociationTimestamp = &v 2877 return s 2878 } 2879 2880 // SetThingName sets the ThingName field's value. 2881 func (s *AssociatedClientDevice) SetThingName(v string) *AssociatedClientDevice { 2882 s.ThingName = &v 2883 return s 2884 } 2885 2886 type BatchAssociateClientDeviceWithCoreDeviceInput struct { 2887 _ struct{} `type:"structure"` 2888 2889 // The name of the core device. This is also the name of the IoT thing. 2890 // 2891 // CoreDeviceThingName is a required field 2892 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 2893 2894 // The list of client devices to associate. 2895 Entries []*AssociateClientDeviceWithCoreDeviceEntry `locationName:"entries" min:"1" type:"list"` 2896 } 2897 2898 // String returns the string representation. 2899 // 2900 // API parameter values that are decorated as "sensitive" in the API will not 2901 // be included in the string output. The member name will be present, but the 2902 // value will be replaced with "sensitive". 2903 func (s BatchAssociateClientDeviceWithCoreDeviceInput) String() string { 2904 return awsutil.Prettify(s) 2905 } 2906 2907 // GoString returns the string representation. 2908 // 2909 // API parameter values that are decorated as "sensitive" in the API will not 2910 // be included in the string output. The member name will be present, but the 2911 // value will be replaced with "sensitive". 2912 func (s BatchAssociateClientDeviceWithCoreDeviceInput) GoString() string { 2913 return s.String() 2914 } 2915 2916 // Validate inspects the fields of the type to determine if they are valid. 2917 func (s *BatchAssociateClientDeviceWithCoreDeviceInput) Validate() error { 2918 invalidParams := request.ErrInvalidParams{Context: "BatchAssociateClientDeviceWithCoreDeviceInput"} 2919 if s.CoreDeviceThingName == nil { 2920 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 2921 } 2922 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 2923 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 2924 } 2925 if s.Entries != nil && len(s.Entries) < 1 { 2926 invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) 2927 } 2928 if s.Entries != nil { 2929 for i, v := range s.Entries { 2930 if v == nil { 2931 continue 2932 } 2933 if err := v.Validate(); err != nil { 2934 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) 2935 } 2936 } 2937 } 2938 2939 if invalidParams.Len() > 0 { 2940 return invalidParams 2941 } 2942 return nil 2943 } 2944 2945 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 2946 func (s *BatchAssociateClientDeviceWithCoreDeviceInput) SetCoreDeviceThingName(v string) *BatchAssociateClientDeviceWithCoreDeviceInput { 2947 s.CoreDeviceThingName = &v 2948 return s 2949 } 2950 2951 // SetEntries sets the Entries field's value. 2952 func (s *BatchAssociateClientDeviceWithCoreDeviceInput) SetEntries(v []*AssociateClientDeviceWithCoreDeviceEntry) *BatchAssociateClientDeviceWithCoreDeviceInput { 2953 s.Entries = v 2954 return s 2955 } 2956 2957 type BatchAssociateClientDeviceWithCoreDeviceOutput struct { 2958 _ struct{} `type:"structure"` 2959 2960 // The list of any errors for the entries in the request. Each error entry contains 2961 // the name of the IoT thing that failed to associate. 2962 ErrorEntries []*AssociateClientDeviceWithCoreDeviceErrorEntry `locationName:"errorEntries" min:"1" type:"list"` 2963 } 2964 2965 // String returns the string representation. 2966 // 2967 // API parameter values that are decorated as "sensitive" in the API will not 2968 // be included in the string output. The member name will be present, but the 2969 // value will be replaced with "sensitive". 2970 func (s BatchAssociateClientDeviceWithCoreDeviceOutput) String() string { 2971 return awsutil.Prettify(s) 2972 } 2973 2974 // GoString returns the string representation. 2975 // 2976 // API parameter values that are decorated as "sensitive" in the API will not 2977 // be included in the string output. The member name will be present, but the 2978 // value will be replaced with "sensitive". 2979 func (s BatchAssociateClientDeviceWithCoreDeviceOutput) GoString() string { 2980 return s.String() 2981 } 2982 2983 // SetErrorEntries sets the ErrorEntries field's value. 2984 func (s *BatchAssociateClientDeviceWithCoreDeviceOutput) SetErrorEntries(v []*AssociateClientDeviceWithCoreDeviceErrorEntry) *BatchAssociateClientDeviceWithCoreDeviceOutput { 2985 s.ErrorEntries = v 2986 return s 2987 } 2988 2989 type BatchDisassociateClientDeviceFromCoreDeviceInput struct { 2990 _ struct{} `type:"structure"` 2991 2992 // The name of the core device. This is also the name of the IoT thing. 2993 // 2994 // CoreDeviceThingName is a required field 2995 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 2996 2997 // The list of client devices to disassociate. 2998 Entries []*DisassociateClientDeviceFromCoreDeviceEntry `locationName:"entries" min:"1" type:"list"` 2999 } 3000 3001 // String returns the string representation. 3002 // 3003 // API parameter values that are decorated as "sensitive" in the API will not 3004 // be included in the string output. The member name will be present, but the 3005 // value will be replaced with "sensitive". 3006 func (s BatchDisassociateClientDeviceFromCoreDeviceInput) String() string { 3007 return awsutil.Prettify(s) 3008 } 3009 3010 // GoString returns the string representation. 3011 // 3012 // API parameter values that are decorated as "sensitive" in the API will not 3013 // be included in the string output. The member name will be present, but the 3014 // value will be replaced with "sensitive". 3015 func (s BatchDisassociateClientDeviceFromCoreDeviceInput) GoString() string { 3016 return s.String() 3017 } 3018 3019 // Validate inspects the fields of the type to determine if they are valid. 3020 func (s *BatchDisassociateClientDeviceFromCoreDeviceInput) Validate() error { 3021 invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateClientDeviceFromCoreDeviceInput"} 3022 if s.CoreDeviceThingName == nil { 3023 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 3024 } 3025 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 3026 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 3027 } 3028 if s.Entries != nil && len(s.Entries) < 1 { 3029 invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) 3030 } 3031 if s.Entries != nil { 3032 for i, v := range s.Entries { 3033 if v == nil { 3034 continue 3035 } 3036 if err := v.Validate(); err != nil { 3037 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) 3038 } 3039 } 3040 } 3041 3042 if invalidParams.Len() > 0 { 3043 return invalidParams 3044 } 3045 return nil 3046 } 3047 3048 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 3049 func (s *BatchDisassociateClientDeviceFromCoreDeviceInput) SetCoreDeviceThingName(v string) *BatchDisassociateClientDeviceFromCoreDeviceInput { 3050 s.CoreDeviceThingName = &v 3051 return s 3052 } 3053 3054 // SetEntries sets the Entries field's value. 3055 func (s *BatchDisassociateClientDeviceFromCoreDeviceInput) SetEntries(v []*DisassociateClientDeviceFromCoreDeviceEntry) *BatchDisassociateClientDeviceFromCoreDeviceInput { 3056 s.Entries = v 3057 return s 3058 } 3059 3060 type BatchDisassociateClientDeviceFromCoreDeviceOutput struct { 3061 _ struct{} `type:"structure"` 3062 3063 // The list of errors (if any) for the entries in the request. Each error entry 3064 // contains the name of the IoT thing that failed to disassociate. 3065 ErrorEntries []*DisassociateClientDeviceFromCoreDeviceErrorEntry `locationName:"errorEntries" min:"1" type:"list"` 3066 } 3067 3068 // String returns the string representation. 3069 // 3070 // API parameter values that are decorated as "sensitive" in the API will not 3071 // be included in the string output. The member name will be present, but the 3072 // value will be replaced with "sensitive". 3073 func (s BatchDisassociateClientDeviceFromCoreDeviceOutput) String() string { 3074 return awsutil.Prettify(s) 3075 } 3076 3077 // GoString returns the string representation. 3078 // 3079 // API parameter values that are decorated as "sensitive" in the API will not 3080 // be included in the string output. The member name will be present, but the 3081 // value will be replaced with "sensitive". 3082 func (s BatchDisassociateClientDeviceFromCoreDeviceOutput) GoString() string { 3083 return s.String() 3084 } 3085 3086 // SetErrorEntries sets the ErrorEntries field's value. 3087 func (s *BatchDisassociateClientDeviceFromCoreDeviceOutput) SetErrorEntries(v []*DisassociateClientDeviceFromCoreDeviceErrorEntry) *BatchDisassociateClientDeviceFromCoreDeviceOutput { 3088 s.ErrorEntries = v 3089 return s 3090 } 3091 3092 type CancelDeploymentInput struct { 3093 _ struct{} `type:"structure" nopayload:"true"` 3094 3095 // The ID of the deployment. 3096 // 3097 // DeploymentId is a required field 3098 DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` 3099 } 3100 3101 // String returns the string representation. 3102 // 3103 // API parameter values that are decorated as "sensitive" in the API will not 3104 // be included in the string output. The member name will be present, but the 3105 // value will be replaced with "sensitive". 3106 func (s CancelDeploymentInput) String() string { 3107 return awsutil.Prettify(s) 3108 } 3109 3110 // GoString returns the string representation. 3111 // 3112 // API parameter values that are decorated as "sensitive" in the API will not 3113 // be included in the string output. The member name will be present, but the 3114 // value will be replaced with "sensitive". 3115 func (s CancelDeploymentInput) GoString() string { 3116 return s.String() 3117 } 3118 3119 // Validate inspects the fields of the type to determine if they are valid. 3120 func (s *CancelDeploymentInput) Validate() error { 3121 invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentInput"} 3122 if s.DeploymentId == nil { 3123 invalidParams.Add(request.NewErrParamRequired("DeploymentId")) 3124 } 3125 if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { 3126 invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) 3127 } 3128 3129 if invalidParams.Len() > 0 { 3130 return invalidParams 3131 } 3132 return nil 3133 } 3134 3135 // SetDeploymentId sets the DeploymentId field's value. 3136 func (s *CancelDeploymentInput) SetDeploymentId(v string) *CancelDeploymentInput { 3137 s.DeploymentId = &v 3138 return s 3139 } 3140 3141 type CancelDeploymentOutput struct { 3142 _ struct{} `type:"structure"` 3143 3144 // A message that communicates if the cancel was successful. 3145 Message *string `locationName:"message" min:"1" type:"string"` 3146 } 3147 3148 // String returns the string representation. 3149 // 3150 // API parameter values that are decorated as "sensitive" in the API will not 3151 // be included in the string output. The member name will be present, but the 3152 // value will be replaced with "sensitive". 3153 func (s CancelDeploymentOutput) String() string { 3154 return awsutil.Prettify(s) 3155 } 3156 3157 // GoString returns the string representation. 3158 // 3159 // API parameter values that are decorated as "sensitive" in the API will not 3160 // be included in the string output. The member name will be present, but the 3161 // value will be replaced with "sensitive". 3162 func (s CancelDeploymentOutput) GoString() string { 3163 return s.String() 3164 } 3165 3166 // SetMessage sets the Message field's value. 3167 func (s *CancelDeploymentOutput) SetMessage(v string) *CancelDeploymentOutput { 3168 s.Message = &v 3169 return s 3170 } 3171 3172 // Contains the status of a component in the IoT Greengrass service. 3173 type CloudComponentStatus struct { 3174 _ struct{} `type:"structure"` 3175 3176 // The state of the component. 3177 ComponentState *string `locationName:"componentState" type:"string" enum:"CloudComponentState"` 3178 3179 // A dictionary of errors that communicate why the component is in an error 3180 // state. For example, if IoT Greengrass can't access an artifact for the component, 3181 // then errors contains the artifact's URI as a key, and the error message as 3182 // the value for that key. 3183 Errors map[string]*string `locationName:"errors" type:"map"` 3184 3185 // A message that communicates details, such as errors, about the status of 3186 // the component. 3187 Message *string `locationName:"message" min:"1" type:"string"` 3188 } 3189 3190 // String returns the string representation. 3191 // 3192 // API parameter values that are decorated as "sensitive" in the API will not 3193 // be included in the string output. The member name will be present, but the 3194 // value will be replaced with "sensitive". 3195 func (s CloudComponentStatus) String() string { 3196 return awsutil.Prettify(s) 3197 } 3198 3199 // GoString returns the string representation. 3200 // 3201 // API parameter values that are decorated as "sensitive" in the API will not 3202 // be included in the string output. The member name will be present, but the 3203 // value will be replaced with "sensitive". 3204 func (s CloudComponentStatus) GoString() string { 3205 return s.String() 3206 } 3207 3208 // SetComponentState sets the ComponentState field's value. 3209 func (s *CloudComponentStatus) SetComponentState(v string) *CloudComponentStatus { 3210 s.ComponentState = &v 3211 return s 3212 } 3213 3214 // SetErrors sets the Errors field's value. 3215 func (s *CloudComponentStatus) SetErrors(v map[string]*string) *CloudComponentStatus { 3216 s.Errors = v 3217 return s 3218 } 3219 3220 // SetMessage sets the Message field's value. 3221 func (s *CloudComponentStatus) SetMessage(v string) *CloudComponentStatus { 3222 s.Message = &v 3223 return s 3224 } 3225 3226 // Contains information about a component. 3227 type Component struct { 3228 _ struct{} `type:"structure"` 3229 3230 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 3231 // of the component version. 3232 Arn *string `locationName:"arn" type:"string"` 3233 3234 // The name of the component. 3235 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 3236 3237 // The latest version of the component and its details. 3238 LatestVersion *ComponentLatestVersion `locationName:"latestVersion" type:"structure"` 3239 } 3240 3241 // String returns the string representation. 3242 // 3243 // API parameter values that are decorated as "sensitive" in the API will not 3244 // be included in the string output. The member name will be present, but the 3245 // value will be replaced with "sensitive". 3246 func (s Component) String() string { 3247 return awsutil.Prettify(s) 3248 } 3249 3250 // GoString returns the string representation. 3251 // 3252 // API parameter values that are decorated as "sensitive" in the API will not 3253 // be included in the string output. The member name will be present, but the 3254 // value will be replaced with "sensitive". 3255 func (s Component) GoString() string { 3256 return s.String() 3257 } 3258 3259 // SetArn sets the Arn field's value. 3260 func (s *Component) SetArn(v string) *Component { 3261 s.Arn = &v 3262 return s 3263 } 3264 3265 // SetComponentName sets the ComponentName field's value. 3266 func (s *Component) SetComponentName(v string) *Component { 3267 s.ComponentName = &v 3268 return s 3269 } 3270 3271 // SetLatestVersion sets the LatestVersion field's value. 3272 func (s *Component) SetLatestVersion(v *ComponentLatestVersion) *Component { 3273 s.LatestVersion = v 3274 return s 3275 } 3276 3277 // Contains information about a component that is a candidate to deploy to a 3278 // Greengrass core device. 3279 type ComponentCandidate struct { 3280 _ struct{} `type:"structure"` 3281 3282 // The name of the component. 3283 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 3284 3285 // The version of the component. 3286 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 3287 3288 // The version requirements for the component's dependencies. Greengrass core 3289 // devices get the version requirements from component recipes. 3290 // 3291 // IoT Greengrass V2 uses semantic version constraints. For more information, 3292 // see Semantic Versioning (https://semver.org/). 3293 VersionRequirements map[string]*string `locationName:"versionRequirements" type:"map"` 3294 } 3295 3296 // String returns the string representation. 3297 // 3298 // API parameter values that are decorated as "sensitive" in the API will not 3299 // be included in the string output. The member name will be present, but the 3300 // value will be replaced with "sensitive". 3301 func (s ComponentCandidate) String() string { 3302 return awsutil.Prettify(s) 3303 } 3304 3305 // GoString returns the string representation. 3306 // 3307 // API parameter values that are decorated as "sensitive" in the API will not 3308 // be included in the string output. The member name will be present, but the 3309 // value will be replaced with "sensitive". 3310 func (s ComponentCandidate) GoString() string { 3311 return s.String() 3312 } 3313 3314 // Validate inspects the fields of the type to determine if they are valid. 3315 func (s *ComponentCandidate) Validate() error { 3316 invalidParams := request.ErrInvalidParams{Context: "ComponentCandidate"} 3317 if s.ComponentName != nil && len(*s.ComponentName) < 1 { 3318 invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) 3319 } 3320 if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { 3321 invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) 3322 } 3323 3324 if invalidParams.Len() > 0 { 3325 return invalidParams 3326 } 3327 return nil 3328 } 3329 3330 // SetComponentName sets the ComponentName field's value. 3331 func (s *ComponentCandidate) SetComponentName(v string) *ComponentCandidate { 3332 s.ComponentName = &v 3333 return s 3334 } 3335 3336 // SetComponentVersion sets the ComponentVersion field's value. 3337 func (s *ComponentCandidate) SetComponentVersion(v string) *ComponentCandidate { 3338 s.ComponentVersion = &v 3339 return s 3340 } 3341 3342 // SetVersionRequirements sets the VersionRequirements field's value. 3343 func (s *ComponentCandidate) SetVersionRequirements(v map[string]*string) *ComponentCandidate { 3344 s.VersionRequirements = v 3345 return s 3346 } 3347 3348 // Contains information about a deployment's update to a component's configuration 3349 // on Greengrass core devices. For more information, see Update component configurations 3350 // (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html) 3351 // in the IoT Greengrass V2 Developer Guide. 3352 type ComponentConfigurationUpdate struct { 3353 _ struct{} `type:"structure"` 3354 3355 // A serialized JSON string that contains the configuration object to merge 3356 // to target devices. The core device merges this configuration with the component's 3357 // existing configuration. If this is the first time a component deploys on 3358 // a device, the core device merges this configuration with the component's 3359 // default configuration. This means that the core device keeps it's existing 3360 // configuration for keys and values that you don't specify in this object. 3361 // For more information, see Merge configuration updates (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#merge-configuration-update) 3362 // in the IoT Greengrass V2 Developer Guide. 3363 Merge *string `locationName:"merge" min:"1" type:"string"` 3364 3365 // The list of configuration nodes to reset to default values on target devices. 3366 // Use JSON pointers to specify each node to reset. JSON pointers start with 3367 // a forward slash (/) and use forward slashes to separate the key for each 3368 // level in the object. For more information, see the JSON pointer specification 3369 // (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) 3370 // in the IoT Greengrass V2 Developer Guide. 3371 Reset []*string `locationName:"reset" type:"list"` 3372 } 3373 3374 // String returns the string representation. 3375 // 3376 // API parameter values that are decorated as "sensitive" in the API will not 3377 // be included in the string output. The member name will be present, but the 3378 // value will be replaced with "sensitive". 3379 func (s ComponentConfigurationUpdate) String() string { 3380 return awsutil.Prettify(s) 3381 } 3382 3383 // GoString returns the string representation. 3384 // 3385 // API parameter values that are decorated as "sensitive" in the API will not 3386 // be included in the string output. The member name will be present, but the 3387 // value will be replaced with "sensitive". 3388 func (s ComponentConfigurationUpdate) GoString() string { 3389 return s.String() 3390 } 3391 3392 // Validate inspects the fields of the type to determine if they are valid. 3393 func (s *ComponentConfigurationUpdate) Validate() error { 3394 invalidParams := request.ErrInvalidParams{Context: "ComponentConfigurationUpdate"} 3395 if s.Merge != nil && len(*s.Merge) < 1 { 3396 invalidParams.Add(request.NewErrParamMinLen("Merge", 1)) 3397 } 3398 3399 if invalidParams.Len() > 0 { 3400 return invalidParams 3401 } 3402 return nil 3403 } 3404 3405 // SetMerge sets the Merge field's value. 3406 func (s *ComponentConfigurationUpdate) SetMerge(v string) *ComponentConfigurationUpdate { 3407 s.Merge = &v 3408 return s 3409 } 3410 3411 // SetReset sets the Reset field's value. 3412 func (s *ComponentConfigurationUpdate) SetReset(v []*string) *ComponentConfigurationUpdate { 3413 s.Reset = v 3414 return s 3415 } 3416 3417 // Contains information about a component dependency for a Lambda function component. 3418 type ComponentDependencyRequirement struct { 3419 _ struct{} `type:"structure"` 3420 3421 // The type of this dependency. Choose from the following options: 3422 // 3423 // * SOFT – The component doesn't restart if the dependency changes state. 3424 // 3425 // * HARD – The component restarts if the dependency changes state. 3426 // 3427 // Default: HARD 3428 DependencyType *string `locationName:"dependencyType" type:"string" enum:"ComponentDependencyType"` 3429 3430 // The component version requirement for the component dependency. 3431 // 3432 // IoT Greengrass V2 uses semantic version constraints. For more information, 3433 // see Semantic Versioning (https://semver.org/). 3434 VersionRequirement *string `locationName:"versionRequirement" min:"1" type:"string"` 3435 } 3436 3437 // String returns the string representation. 3438 // 3439 // API parameter values that are decorated as "sensitive" in the API will not 3440 // be included in the string output. The member name will be present, but the 3441 // value will be replaced with "sensitive". 3442 func (s ComponentDependencyRequirement) String() string { 3443 return awsutil.Prettify(s) 3444 } 3445 3446 // GoString returns the string representation. 3447 // 3448 // API parameter values that are decorated as "sensitive" in the API will not 3449 // be included in the string output. The member name will be present, but the 3450 // value will be replaced with "sensitive". 3451 func (s ComponentDependencyRequirement) GoString() string { 3452 return s.String() 3453 } 3454 3455 // Validate inspects the fields of the type to determine if they are valid. 3456 func (s *ComponentDependencyRequirement) Validate() error { 3457 invalidParams := request.ErrInvalidParams{Context: "ComponentDependencyRequirement"} 3458 if s.VersionRequirement != nil && len(*s.VersionRequirement) < 1 { 3459 invalidParams.Add(request.NewErrParamMinLen("VersionRequirement", 1)) 3460 } 3461 3462 if invalidParams.Len() > 0 { 3463 return invalidParams 3464 } 3465 return nil 3466 } 3467 3468 // SetDependencyType sets the DependencyType field's value. 3469 func (s *ComponentDependencyRequirement) SetDependencyType(v string) *ComponentDependencyRequirement { 3470 s.DependencyType = &v 3471 return s 3472 } 3473 3474 // SetVersionRequirement sets the VersionRequirement field's value. 3475 func (s *ComponentDependencyRequirement) SetVersionRequirement(v string) *ComponentDependencyRequirement { 3476 s.VersionRequirement = &v 3477 return s 3478 } 3479 3480 // Contains information about a component to deploy. 3481 type ComponentDeploymentSpecification struct { 3482 _ struct{} `type:"structure"` 3483 3484 // The version of the component. 3485 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 3486 3487 // The configuration updates to deploy for the component. You can define reset 3488 // updates and merge updates. A reset updates the keys that you specify to the 3489 // default configuration for the component. A merge updates the core device's 3490 // component configuration with the keys and values that you specify. The IoT 3491 // Greengrass Core software applies reset updates before it applies merge updates. 3492 // For more information, see Update component configurations (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html) 3493 // in the IoT Greengrass V2 Developer Guide. 3494 ConfigurationUpdate *ComponentConfigurationUpdate `locationName:"configurationUpdate" type:"structure"` 3495 3496 // The system user and group that the IoT Greengrass Core software uses to run 3497 // component processes on the core device. If you omit this parameter, the IoT 3498 // Greengrass Core software uses the system user and group that you configure 3499 // for the core device. For more information, see Configure the user and group 3500 // that run components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user) 3501 // in the IoT Greengrass V2 Developer Guide. 3502 RunWith *ComponentRunWith `locationName:"runWith" type:"structure"` 3503 } 3504 3505 // String returns the string representation. 3506 // 3507 // API parameter values that are decorated as "sensitive" in the API will not 3508 // be included in the string output. The member name will be present, but the 3509 // value will be replaced with "sensitive". 3510 func (s ComponentDeploymentSpecification) String() string { 3511 return awsutil.Prettify(s) 3512 } 3513 3514 // GoString returns the string representation. 3515 // 3516 // API parameter values that are decorated as "sensitive" in the API will not 3517 // be included in the string output. The member name will be present, but the 3518 // value will be replaced with "sensitive". 3519 func (s ComponentDeploymentSpecification) GoString() string { 3520 return s.String() 3521 } 3522 3523 // Validate inspects the fields of the type to determine if they are valid. 3524 func (s *ComponentDeploymentSpecification) Validate() error { 3525 invalidParams := request.ErrInvalidParams{Context: "ComponentDeploymentSpecification"} 3526 if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { 3527 invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) 3528 } 3529 if s.ConfigurationUpdate != nil { 3530 if err := s.ConfigurationUpdate.Validate(); err != nil { 3531 invalidParams.AddNested("ConfigurationUpdate", err.(request.ErrInvalidParams)) 3532 } 3533 } 3534 if s.RunWith != nil { 3535 if err := s.RunWith.Validate(); err != nil { 3536 invalidParams.AddNested("RunWith", err.(request.ErrInvalidParams)) 3537 } 3538 } 3539 3540 if invalidParams.Len() > 0 { 3541 return invalidParams 3542 } 3543 return nil 3544 } 3545 3546 // SetComponentVersion sets the ComponentVersion field's value. 3547 func (s *ComponentDeploymentSpecification) SetComponentVersion(v string) *ComponentDeploymentSpecification { 3548 s.ComponentVersion = &v 3549 return s 3550 } 3551 3552 // SetConfigurationUpdate sets the ConfigurationUpdate field's value. 3553 func (s *ComponentDeploymentSpecification) SetConfigurationUpdate(v *ComponentConfigurationUpdate) *ComponentDeploymentSpecification { 3554 s.ConfigurationUpdate = v 3555 return s 3556 } 3557 3558 // SetRunWith sets the RunWith field's value. 3559 func (s *ComponentDeploymentSpecification) SetRunWith(v *ComponentRunWith) *ComponentDeploymentSpecification { 3560 s.RunWith = v 3561 return s 3562 } 3563 3564 // Contains information about the latest version of a component. 3565 type ComponentLatestVersion struct { 3566 _ struct{} `type:"structure"` 3567 3568 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 3569 // of the component version. 3570 Arn *string `locationName:"arn" type:"string"` 3571 3572 // The version of the component. 3573 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 3574 3575 // The time at which the component was created, expressed in ISO 8601 format. 3576 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` 3577 3578 // The description of the component version. 3579 Description *string `locationName:"description" min:"1" type:"string"` 3580 3581 // The platforms that the component version supports. 3582 Platforms []*ComponentPlatform `locationName:"platforms" type:"list"` 3583 3584 // The publisher of the component version. 3585 Publisher *string `locationName:"publisher" min:"1" type:"string"` 3586 } 3587 3588 // String returns the string representation. 3589 // 3590 // API parameter values that are decorated as "sensitive" in the API will not 3591 // be included in the string output. The member name will be present, but the 3592 // value will be replaced with "sensitive". 3593 func (s ComponentLatestVersion) String() string { 3594 return awsutil.Prettify(s) 3595 } 3596 3597 // GoString returns the string representation. 3598 // 3599 // API parameter values that are decorated as "sensitive" in the API will not 3600 // be included in the string output. The member name will be present, but the 3601 // value will be replaced with "sensitive". 3602 func (s ComponentLatestVersion) GoString() string { 3603 return s.String() 3604 } 3605 3606 // SetArn sets the Arn field's value. 3607 func (s *ComponentLatestVersion) SetArn(v string) *ComponentLatestVersion { 3608 s.Arn = &v 3609 return s 3610 } 3611 3612 // SetComponentVersion sets the ComponentVersion field's value. 3613 func (s *ComponentLatestVersion) SetComponentVersion(v string) *ComponentLatestVersion { 3614 s.ComponentVersion = &v 3615 return s 3616 } 3617 3618 // SetCreationTimestamp sets the CreationTimestamp field's value. 3619 func (s *ComponentLatestVersion) SetCreationTimestamp(v time.Time) *ComponentLatestVersion { 3620 s.CreationTimestamp = &v 3621 return s 3622 } 3623 3624 // SetDescription sets the Description field's value. 3625 func (s *ComponentLatestVersion) SetDescription(v string) *ComponentLatestVersion { 3626 s.Description = &v 3627 return s 3628 } 3629 3630 // SetPlatforms sets the Platforms field's value. 3631 func (s *ComponentLatestVersion) SetPlatforms(v []*ComponentPlatform) *ComponentLatestVersion { 3632 s.Platforms = v 3633 return s 3634 } 3635 3636 // SetPublisher sets the Publisher field's value. 3637 func (s *ComponentLatestVersion) SetPublisher(v string) *ComponentLatestVersion { 3638 s.Publisher = &v 3639 return s 3640 } 3641 3642 // Contains information about a platform that a component supports. 3643 type ComponentPlatform struct { 3644 _ struct{} `type:"structure"` 3645 3646 // A dictionary of attributes for the platform. The IoT Greengrass Core software 3647 // defines the os and platform by default. You can specify additional platform 3648 // attributes for a core device when you deploy the Greengrass nucleus component. 3649 // For more information, see the Greengrass nucleus component (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) 3650 // in the IoT Greengrass V2 Developer Guide. 3651 Attributes map[string]*string `locationName:"attributes" type:"map"` 3652 3653 // The friendly name of the platform. This name helps you identify the platform. 3654 // 3655 // If you omit this parameter, IoT Greengrass creates a friendly name from the 3656 // os and architecture of the platform. 3657 Name *string `locationName:"name" min:"1" type:"string"` 3658 } 3659 3660 // String returns the string representation. 3661 // 3662 // API parameter values that are decorated as "sensitive" in the API will not 3663 // be included in the string output. The member name will be present, but the 3664 // value will be replaced with "sensitive". 3665 func (s ComponentPlatform) String() string { 3666 return awsutil.Prettify(s) 3667 } 3668 3669 // GoString returns the string representation. 3670 // 3671 // API parameter values that are decorated as "sensitive" in the API will not 3672 // be included in the string output. The member name will be present, but the 3673 // value will be replaced with "sensitive". 3674 func (s ComponentPlatform) GoString() string { 3675 return s.String() 3676 } 3677 3678 // Validate inspects the fields of the type to determine if they are valid. 3679 func (s *ComponentPlatform) Validate() error { 3680 invalidParams := request.ErrInvalidParams{Context: "ComponentPlatform"} 3681 if s.Name != nil && len(*s.Name) < 1 { 3682 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3683 } 3684 3685 if invalidParams.Len() > 0 { 3686 return invalidParams 3687 } 3688 return nil 3689 } 3690 3691 // SetAttributes sets the Attributes field's value. 3692 func (s *ComponentPlatform) SetAttributes(v map[string]*string) *ComponentPlatform { 3693 s.Attributes = v 3694 return s 3695 } 3696 3697 // SetName sets the Name field's value. 3698 func (s *ComponentPlatform) SetName(v string) *ComponentPlatform { 3699 s.Name = &v 3700 return s 3701 } 3702 3703 // Contains information system user and group that the IoT Greengrass Core software 3704 // uses to run component processes on the core device. For more information, 3705 // 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) 3706 // in the IoT Greengrass V2 Developer Guide. 3707 type ComponentRunWith struct { 3708 _ struct{} `type:"structure"` 3709 3710 // The POSIX system user and (optional) group to use to run this component. 3711 // Specify the user and group separated by a colon (:) in the following format: 3712 // user:group. The group is optional. If you don't specify a group, the IoT 3713 // Greengrass Core software uses the primary user for the group. 3714 // 3715 // If you omit this parameter, the IoT Greengrass Core software uses the default 3716 // system user and group that you configure on the Greengrass nucleus component. 3717 // For more information, see Configure the user and group that run components 3718 // (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user). 3719 PosixUser *string `locationName:"posixUser" min:"1" type:"string"` 3720 3721 // The system resource limits to apply to this component's process on the core 3722 // device. 3723 // 3724 // If you omit this parameter, the IoT Greengrass Core software uses the default 3725 // system resource limits that you configure on the Greengrass nucleus component. 3726 // For more information, see Configure system resource limits for components 3727 // (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits). 3728 SystemResourceLimits *SystemResourceLimits `locationName:"systemResourceLimits" type:"structure"` 3729 } 3730 3731 // String returns the string representation. 3732 // 3733 // API parameter values that are decorated as "sensitive" in the API will not 3734 // be included in the string output. The member name will be present, but the 3735 // value will be replaced with "sensitive". 3736 func (s ComponentRunWith) String() string { 3737 return awsutil.Prettify(s) 3738 } 3739 3740 // GoString returns the string representation. 3741 // 3742 // API parameter values that are decorated as "sensitive" in the API will not 3743 // be included in the string output. The member name will be present, but the 3744 // value will be replaced with "sensitive". 3745 func (s ComponentRunWith) GoString() string { 3746 return s.String() 3747 } 3748 3749 // Validate inspects the fields of the type to determine if they are valid. 3750 func (s *ComponentRunWith) Validate() error { 3751 invalidParams := request.ErrInvalidParams{Context: "ComponentRunWith"} 3752 if s.PosixUser != nil && len(*s.PosixUser) < 1 { 3753 invalidParams.Add(request.NewErrParamMinLen("PosixUser", 1)) 3754 } 3755 3756 if invalidParams.Len() > 0 { 3757 return invalidParams 3758 } 3759 return nil 3760 } 3761 3762 // SetPosixUser sets the PosixUser field's value. 3763 func (s *ComponentRunWith) SetPosixUser(v string) *ComponentRunWith { 3764 s.PosixUser = &v 3765 return s 3766 } 3767 3768 // SetSystemResourceLimits sets the SystemResourceLimits field's value. 3769 func (s *ComponentRunWith) SetSystemResourceLimits(v *SystemResourceLimits) *ComponentRunWith { 3770 s.SystemResourceLimits = v 3771 return s 3772 } 3773 3774 // Contains information about a component version in a list. 3775 type ComponentVersionListItem struct { 3776 _ struct{} `type:"structure"` 3777 3778 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 3779 // of the component version. 3780 Arn *string `locationName:"arn" min:"1" type:"string"` 3781 3782 // The name of the component. 3783 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 3784 3785 // The version of the component. 3786 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 3787 } 3788 3789 // String returns the string representation. 3790 // 3791 // API parameter values that are decorated as "sensitive" in the API will not 3792 // be included in the string output. The member name will be present, but the 3793 // value will be replaced with "sensitive". 3794 func (s ComponentVersionListItem) String() string { 3795 return awsutil.Prettify(s) 3796 } 3797 3798 // GoString returns the string representation. 3799 // 3800 // API parameter values that are decorated as "sensitive" in the API will not 3801 // be included in the string output. The member name will be present, but the 3802 // value will be replaced with "sensitive". 3803 func (s ComponentVersionListItem) GoString() string { 3804 return s.String() 3805 } 3806 3807 // SetArn sets the Arn field's value. 3808 func (s *ComponentVersionListItem) SetArn(v string) *ComponentVersionListItem { 3809 s.Arn = &v 3810 return s 3811 } 3812 3813 // SetComponentName sets the ComponentName field's value. 3814 func (s *ComponentVersionListItem) SetComponentName(v string) *ComponentVersionListItem { 3815 s.ComponentName = &v 3816 return s 3817 } 3818 3819 // SetComponentVersion sets the ComponentVersion field's value. 3820 func (s *ComponentVersionListItem) SetComponentVersion(v string) *ComponentVersionListItem { 3821 s.ComponentVersion = &v 3822 return s 3823 } 3824 3825 // Your request has conflicting operations. This can occur if you're trying 3826 // to perform more than one operation on the same resource at the same time. 3827 type ConflictException struct { 3828 _ struct{} `type:"structure"` 3829 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3830 3831 Message_ *string `locationName:"message" type:"string"` 3832 3833 // The ID of the resource that conflicts with the request. 3834 // 3835 // ResourceId is a required field 3836 ResourceId *string `locationName:"resourceId" type:"string" required:"true"` 3837 3838 // The type of the resource that conflicts with the request. 3839 // 3840 // ResourceType is a required field 3841 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 3842 } 3843 3844 // String returns the string representation. 3845 // 3846 // API parameter values that are decorated as "sensitive" in the API will not 3847 // be included in the string output. The member name will be present, but the 3848 // value will be replaced with "sensitive". 3849 func (s ConflictException) String() string { 3850 return awsutil.Prettify(s) 3851 } 3852 3853 // GoString returns the string representation. 3854 // 3855 // API parameter values that are decorated as "sensitive" in the API will not 3856 // be included in the string output. The member name will be present, but the 3857 // value will be replaced with "sensitive". 3858 func (s ConflictException) GoString() string { 3859 return s.String() 3860 } 3861 3862 func newErrorConflictException(v protocol.ResponseMetadata) error { 3863 return &ConflictException{ 3864 RespMetadata: v, 3865 } 3866 } 3867 3868 // Code returns the exception type name. 3869 func (s *ConflictException) Code() string { 3870 return "ConflictException" 3871 } 3872 3873 // Message returns the exception's message. 3874 func (s *ConflictException) Message() string { 3875 if s.Message_ != nil { 3876 return *s.Message_ 3877 } 3878 return "" 3879 } 3880 3881 // OrigErr always returns nil, satisfies awserr.Error interface. 3882 func (s *ConflictException) OrigErr() error { 3883 return nil 3884 } 3885 3886 func (s *ConflictException) Error() string { 3887 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3888 } 3889 3890 // Status code returns the HTTP status code for the request's response error. 3891 func (s *ConflictException) StatusCode() int { 3892 return s.RespMetadata.StatusCode 3893 } 3894 3895 // RequestID returns the service's response RequestID for request. 3896 func (s *ConflictException) RequestID() string { 3897 return s.RespMetadata.RequestID 3898 } 3899 3900 // Contains information about a Greengrass core device, which is an IoT thing 3901 // that runs the IoT Greengrass Core software. 3902 type CoreDevice struct { 3903 _ struct{} `type:"structure"` 3904 3905 // The name of the core device. This is also the name of the IoT thing. 3906 CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string"` 3907 3908 // The time at which the core device's status last updated, expressed in ISO 3909 // 8601 format. 3910 LastStatusUpdateTimestamp *time.Time `locationName:"lastStatusUpdateTimestamp" type:"timestamp"` 3911 3912 // The status of the core device. Core devices can have the following statuses: 3913 // 3914 // * HEALTHY – The IoT Greengrass Core software and all components run 3915 // on the core device without issue. 3916 // 3917 // * UNHEALTHY – The IoT Greengrass Core software or a component is in 3918 // a failed state on the core device. 3919 Status *string `locationName:"status" type:"string" enum:"CoreDeviceStatus"` 3920 } 3921 3922 // String returns the string representation. 3923 // 3924 // API parameter values that are decorated as "sensitive" in the API will not 3925 // be included in the string output. The member name will be present, but the 3926 // value will be replaced with "sensitive". 3927 func (s CoreDevice) String() string { 3928 return awsutil.Prettify(s) 3929 } 3930 3931 // GoString returns the string representation. 3932 // 3933 // API parameter values that are decorated as "sensitive" in the API will not 3934 // be included in the string output. The member name will be present, but the 3935 // value will be replaced with "sensitive". 3936 func (s CoreDevice) GoString() string { 3937 return s.String() 3938 } 3939 3940 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 3941 func (s *CoreDevice) SetCoreDeviceThingName(v string) *CoreDevice { 3942 s.CoreDeviceThingName = &v 3943 return s 3944 } 3945 3946 // SetLastStatusUpdateTimestamp sets the LastStatusUpdateTimestamp field's value. 3947 func (s *CoreDevice) SetLastStatusUpdateTimestamp(v time.Time) *CoreDevice { 3948 s.LastStatusUpdateTimestamp = &v 3949 return s 3950 } 3951 3952 // SetStatus sets the Status field's value. 3953 func (s *CoreDevice) SetStatus(v string) *CoreDevice { 3954 s.Status = &v 3955 return s 3956 } 3957 3958 type CreateComponentVersionInput struct { 3959 _ struct{} `type:"structure"` 3960 3961 // A unique, case-sensitive identifier that you can provide to ensure that the 3962 // request is idempotent. Idempotency means that the request is successfully 3963 // processed only once, even if you send the request multiple times. When a 3964 // request succeeds, and you specify the same client token for subsequent successful 3965 // requests, the IoT Greengrass V2 service returns the successful response that 3966 // it caches from the previous request. IoT Greengrass V2 caches successful 3967 // responses for idempotent requests for up to 8 hours. 3968 ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 3969 3970 // The recipe to use to create the component. The recipe defines the component's 3971 // metadata, parameters, dependencies, lifecycle, artifacts, and platform compatibility. 3972 // 3973 // You must specify either inlineRecipe or lambdaFunction. 3974 // InlineRecipe is automatically base64 encoded/decoded by the SDK. 3975 InlineRecipe []byte `locationName:"inlineRecipe" type:"blob"` 3976 3977 // The parameters to create a component from a Lambda function. 3978 // 3979 // You must specify either inlineRecipe or lambdaFunction. 3980 LambdaFunction *LambdaFunctionRecipeSource `locationName:"lambdaFunction" type:"structure"` 3981 3982 // A list of key-value pairs that contain metadata for the resource. For more 3983 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 3984 // in the IoT Greengrass V2 Developer Guide. 3985 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 3986 } 3987 3988 // String returns the string representation. 3989 // 3990 // API parameter values that are decorated as "sensitive" in the API will not 3991 // be included in the string output. The member name will be present, but the 3992 // value will be replaced with "sensitive". 3993 func (s CreateComponentVersionInput) String() string { 3994 return awsutil.Prettify(s) 3995 } 3996 3997 // GoString returns the string representation. 3998 // 3999 // API parameter values that are decorated as "sensitive" in the API will not 4000 // be included in the string output. The member name will be present, but the 4001 // value will be replaced with "sensitive". 4002 func (s CreateComponentVersionInput) GoString() string { 4003 return s.String() 4004 } 4005 4006 // Validate inspects the fields of the type to determine if they are valid. 4007 func (s *CreateComponentVersionInput) Validate() error { 4008 invalidParams := request.ErrInvalidParams{Context: "CreateComponentVersionInput"} 4009 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 4010 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 4011 } 4012 if s.Tags != nil && len(s.Tags) < 1 { 4013 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4014 } 4015 if s.LambdaFunction != nil { 4016 if err := s.LambdaFunction.Validate(); err != nil { 4017 invalidParams.AddNested("LambdaFunction", err.(request.ErrInvalidParams)) 4018 } 4019 } 4020 4021 if invalidParams.Len() > 0 { 4022 return invalidParams 4023 } 4024 return nil 4025 } 4026 4027 // SetClientToken sets the ClientToken field's value. 4028 func (s *CreateComponentVersionInput) SetClientToken(v string) *CreateComponentVersionInput { 4029 s.ClientToken = &v 4030 return s 4031 } 4032 4033 // SetInlineRecipe sets the InlineRecipe field's value. 4034 func (s *CreateComponentVersionInput) SetInlineRecipe(v []byte) *CreateComponentVersionInput { 4035 s.InlineRecipe = v 4036 return s 4037 } 4038 4039 // SetLambdaFunction sets the LambdaFunction field's value. 4040 func (s *CreateComponentVersionInput) SetLambdaFunction(v *LambdaFunctionRecipeSource) *CreateComponentVersionInput { 4041 s.LambdaFunction = v 4042 return s 4043 } 4044 4045 // SetTags sets the Tags field's value. 4046 func (s *CreateComponentVersionInput) SetTags(v map[string]*string) *CreateComponentVersionInput { 4047 s.Tags = v 4048 return s 4049 } 4050 4051 type CreateComponentVersionOutput struct { 4052 _ struct{} `type:"structure"` 4053 4054 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4055 // of the component version. 4056 Arn *string `locationName:"arn" type:"string"` 4057 4058 // The name of the component. 4059 // 4060 // ComponentName is a required field 4061 ComponentName *string `locationName:"componentName" min:"1" type:"string" required:"true"` 4062 4063 // The version of the component. 4064 // 4065 // ComponentVersion is a required field 4066 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string" required:"true"` 4067 4068 // The time at which the component was created, expressed in ISO 8601 format. 4069 // 4070 // CreationTimestamp is a required field 4071 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" required:"true"` 4072 4073 // The status of the component version in IoT Greengrass V2. This status is 4074 // different from the status of the component on a core device. 4075 // 4076 // Status is a required field 4077 Status *CloudComponentStatus `locationName:"status" type:"structure" required:"true"` 4078 } 4079 4080 // String returns the string representation. 4081 // 4082 // API parameter values that are decorated as "sensitive" in the API will not 4083 // be included in the string output. The member name will be present, but the 4084 // value will be replaced with "sensitive". 4085 func (s CreateComponentVersionOutput) String() string { 4086 return awsutil.Prettify(s) 4087 } 4088 4089 // GoString returns the string representation. 4090 // 4091 // API parameter values that are decorated as "sensitive" in the API will not 4092 // be included in the string output. The member name will be present, but the 4093 // value will be replaced with "sensitive". 4094 func (s CreateComponentVersionOutput) GoString() string { 4095 return s.String() 4096 } 4097 4098 // SetArn sets the Arn field's value. 4099 func (s *CreateComponentVersionOutput) SetArn(v string) *CreateComponentVersionOutput { 4100 s.Arn = &v 4101 return s 4102 } 4103 4104 // SetComponentName sets the ComponentName field's value. 4105 func (s *CreateComponentVersionOutput) SetComponentName(v string) *CreateComponentVersionOutput { 4106 s.ComponentName = &v 4107 return s 4108 } 4109 4110 // SetComponentVersion sets the ComponentVersion field's value. 4111 func (s *CreateComponentVersionOutput) SetComponentVersion(v string) *CreateComponentVersionOutput { 4112 s.ComponentVersion = &v 4113 return s 4114 } 4115 4116 // SetCreationTimestamp sets the CreationTimestamp field's value. 4117 func (s *CreateComponentVersionOutput) SetCreationTimestamp(v time.Time) *CreateComponentVersionOutput { 4118 s.CreationTimestamp = &v 4119 return s 4120 } 4121 4122 // SetStatus sets the Status field's value. 4123 func (s *CreateComponentVersionOutput) SetStatus(v *CloudComponentStatus) *CreateComponentVersionOutput { 4124 s.Status = v 4125 return s 4126 } 4127 4128 type CreateDeploymentInput struct { 4129 _ struct{} `type:"structure"` 4130 4131 // A unique, case-sensitive identifier that you can provide to ensure that the 4132 // request is idempotent. Idempotency means that the request is successfully 4133 // processed only once, even if you send the request multiple times. When a 4134 // request succeeds, and you specify the same client token for subsequent successful 4135 // requests, the IoT Greengrass V2 service returns the successful response that 4136 // it caches from the previous request. IoT Greengrass V2 caches successful 4137 // responses for idempotent requests for up to 8 hours. 4138 ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 4139 4140 // The components to deploy. This is a dictionary, where each key is the name 4141 // of a component, and each key's value is the version and configuration to 4142 // deploy for that component. 4143 Components map[string]*ComponentDeploymentSpecification `locationName:"components" type:"map"` 4144 4145 // The name of the deployment. 4146 DeploymentName *string `locationName:"deploymentName" min:"1" type:"string"` 4147 4148 // The deployment policies for the deployment. These policies define how the 4149 // deployment updates components and handles failure. 4150 DeploymentPolicies *DeploymentPolicies `locationName:"deploymentPolicies" type:"structure"` 4151 4152 // The job configuration for the deployment configuration. The job configuration 4153 // specifies the rollout, timeout, and stop configurations for the deployment 4154 // configuration. 4155 IotJobConfiguration *DeploymentIoTJobConfiguration `locationName:"iotJobConfiguration" type:"structure"` 4156 4157 // A list of key-value pairs that contain metadata for the resource. For more 4158 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 4159 // in the IoT Greengrass V2 Developer Guide. 4160 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4161 4162 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4163 // of the target IoT thing or thing group. 4164 // 4165 // TargetArn is a required field 4166 TargetArn *string `locationName:"targetArn" type:"string" required:"true"` 4167 } 4168 4169 // String returns the string representation. 4170 // 4171 // API parameter values that are decorated as "sensitive" in the API will not 4172 // be included in the string output. The member name will be present, but the 4173 // value will be replaced with "sensitive". 4174 func (s CreateDeploymentInput) String() string { 4175 return awsutil.Prettify(s) 4176 } 4177 4178 // GoString returns the string representation. 4179 // 4180 // API parameter values that are decorated as "sensitive" in the API will not 4181 // be included in the string output. The member name will be present, but the 4182 // value will be replaced with "sensitive". 4183 func (s CreateDeploymentInput) GoString() string { 4184 return s.String() 4185 } 4186 4187 // Validate inspects the fields of the type to determine if they are valid. 4188 func (s *CreateDeploymentInput) Validate() error { 4189 invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"} 4190 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 4191 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 4192 } 4193 if s.DeploymentName != nil && len(*s.DeploymentName) < 1 { 4194 invalidParams.Add(request.NewErrParamMinLen("DeploymentName", 1)) 4195 } 4196 if s.Tags != nil && len(s.Tags) < 1 { 4197 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4198 } 4199 if s.TargetArn == nil { 4200 invalidParams.Add(request.NewErrParamRequired("TargetArn")) 4201 } 4202 if s.Components != nil { 4203 for i, v := range s.Components { 4204 if v == nil { 4205 continue 4206 } 4207 if err := v.Validate(); err != nil { 4208 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) 4209 } 4210 } 4211 } 4212 if s.IotJobConfiguration != nil { 4213 if err := s.IotJobConfiguration.Validate(); err != nil { 4214 invalidParams.AddNested("IotJobConfiguration", err.(request.ErrInvalidParams)) 4215 } 4216 } 4217 4218 if invalidParams.Len() > 0 { 4219 return invalidParams 4220 } 4221 return nil 4222 } 4223 4224 // SetClientToken sets the ClientToken field's value. 4225 func (s *CreateDeploymentInput) SetClientToken(v string) *CreateDeploymentInput { 4226 s.ClientToken = &v 4227 return s 4228 } 4229 4230 // SetComponents sets the Components field's value. 4231 func (s *CreateDeploymentInput) SetComponents(v map[string]*ComponentDeploymentSpecification) *CreateDeploymentInput { 4232 s.Components = v 4233 return s 4234 } 4235 4236 // SetDeploymentName sets the DeploymentName field's value. 4237 func (s *CreateDeploymentInput) SetDeploymentName(v string) *CreateDeploymentInput { 4238 s.DeploymentName = &v 4239 return s 4240 } 4241 4242 // SetDeploymentPolicies sets the DeploymentPolicies field's value. 4243 func (s *CreateDeploymentInput) SetDeploymentPolicies(v *DeploymentPolicies) *CreateDeploymentInput { 4244 s.DeploymentPolicies = v 4245 return s 4246 } 4247 4248 // SetIotJobConfiguration sets the IotJobConfiguration field's value. 4249 func (s *CreateDeploymentInput) SetIotJobConfiguration(v *DeploymentIoTJobConfiguration) *CreateDeploymentInput { 4250 s.IotJobConfiguration = v 4251 return s 4252 } 4253 4254 // SetTags sets the Tags field's value. 4255 func (s *CreateDeploymentInput) SetTags(v map[string]*string) *CreateDeploymentInput { 4256 s.Tags = v 4257 return s 4258 } 4259 4260 // SetTargetArn sets the TargetArn field's value. 4261 func (s *CreateDeploymentInput) SetTargetArn(v string) *CreateDeploymentInput { 4262 s.TargetArn = &v 4263 return s 4264 } 4265 4266 type CreateDeploymentOutput struct { 4267 _ struct{} `type:"structure"` 4268 4269 // The ID of the deployment. 4270 DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` 4271 4272 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4273 // of the IoT job that applies the deployment to target devices. 4274 IotJobArn *string `locationName:"iotJobArn" type:"string"` 4275 4276 // The ID of the IoT job that applies the deployment to target devices. 4277 IotJobId *string `locationName:"iotJobId" min:"1" type:"string"` 4278 } 4279 4280 // String returns the string representation. 4281 // 4282 // API parameter values that are decorated as "sensitive" in the API will not 4283 // be included in the string output. The member name will be present, but the 4284 // value will be replaced with "sensitive". 4285 func (s CreateDeploymentOutput) String() string { 4286 return awsutil.Prettify(s) 4287 } 4288 4289 // GoString returns the string representation. 4290 // 4291 // API parameter values that are decorated as "sensitive" in the API will not 4292 // be included in the string output. The member name will be present, but the 4293 // value will be replaced with "sensitive". 4294 func (s CreateDeploymentOutput) GoString() string { 4295 return s.String() 4296 } 4297 4298 // SetDeploymentId sets the DeploymentId field's value. 4299 func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput { 4300 s.DeploymentId = &v 4301 return s 4302 } 4303 4304 // SetIotJobArn sets the IotJobArn field's value. 4305 func (s *CreateDeploymentOutput) SetIotJobArn(v string) *CreateDeploymentOutput { 4306 s.IotJobArn = &v 4307 return s 4308 } 4309 4310 // SetIotJobId sets the IotJobId field's value. 4311 func (s *CreateDeploymentOutput) SetIotJobId(v string) *CreateDeploymentOutput { 4312 s.IotJobId = &v 4313 return s 4314 } 4315 4316 type DeleteComponentInput struct { 4317 _ struct{} `type:"structure" nopayload:"true"` 4318 4319 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4320 // of the component version. 4321 // 4322 // Arn is a required field 4323 Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` 4324 } 4325 4326 // String returns the string representation. 4327 // 4328 // API parameter values that are decorated as "sensitive" in the API will not 4329 // be included in the string output. The member name will be present, but the 4330 // value will be replaced with "sensitive". 4331 func (s DeleteComponentInput) String() string { 4332 return awsutil.Prettify(s) 4333 } 4334 4335 // GoString returns the string representation. 4336 // 4337 // API parameter values that are decorated as "sensitive" in the API will not 4338 // be included in the string output. The member name will be present, but the 4339 // value will be replaced with "sensitive". 4340 func (s DeleteComponentInput) GoString() string { 4341 return s.String() 4342 } 4343 4344 // Validate inspects the fields of the type to determine if they are valid. 4345 func (s *DeleteComponentInput) Validate() error { 4346 invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"} 4347 if s.Arn == nil { 4348 invalidParams.Add(request.NewErrParamRequired("Arn")) 4349 } 4350 if s.Arn != nil && len(*s.Arn) < 1 { 4351 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 4352 } 4353 4354 if invalidParams.Len() > 0 { 4355 return invalidParams 4356 } 4357 return nil 4358 } 4359 4360 // SetArn sets the Arn field's value. 4361 func (s *DeleteComponentInput) SetArn(v string) *DeleteComponentInput { 4362 s.Arn = &v 4363 return s 4364 } 4365 4366 type DeleteComponentOutput struct { 4367 _ struct{} `type:"structure" nopayload:"true"` 4368 } 4369 4370 // String returns the string representation. 4371 // 4372 // API parameter values that are decorated as "sensitive" in the API will not 4373 // be included in the string output. The member name will be present, but the 4374 // value will be replaced with "sensitive". 4375 func (s DeleteComponentOutput) String() string { 4376 return awsutil.Prettify(s) 4377 } 4378 4379 // GoString returns the string representation. 4380 // 4381 // API parameter values that are decorated as "sensitive" in the API will not 4382 // be included in the string output. The member name will be present, but the 4383 // value will be replaced with "sensitive". 4384 func (s DeleteComponentOutput) GoString() string { 4385 return s.String() 4386 } 4387 4388 type DeleteCoreDeviceInput struct { 4389 _ struct{} `type:"structure" nopayload:"true"` 4390 4391 // The name of the core device. This is also the name of the IoT thing. 4392 // 4393 // CoreDeviceThingName is a required field 4394 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 4395 } 4396 4397 // String returns the string representation. 4398 // 4399 // API parameter values that are decorated as "sensitive" in the API will not 4400 // be included in the string output. The member name will be present, but the 4401 // value will be replaced with "sensitive". 4402 func (s DeleteCoreDeviceInput) String() string { 4403 return awsutil.Prettify(s) 4404 } 4405 4406 // GoString returns the string representation. 4407 // 4408 // API parameter values that are decorated as "sensitive" in the API will not 4409 // be included in the string output. The member name will be present, but the 4410 // value will be replaced with "sensitive". 4411 func (s DeleteCoreDeviceInput) GoString() string { 4412 return s.String() 4413 } 4414 4415 // Validate inspects the fields of the type to determine if they are valid. 4416 func (s *DeleteCoreDeviceInput) Validate() error { 4417 invalidParams := request.ErrInvalidParams{Context: "DeleteCoreDeviceInput"} 4418 if s.CoreDeviceThingName == nil { 4419 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 4420 } 4421 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 4422 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 4423 } 4424 4425 if invalidParams.Len() > 0 { 4426 return invalidParams 4427 } 4428 return nil 4429 } 4430 4431 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 4432 func (s *DeleteCoreDeviceInput) SetCoreDeviceThingName(v string) *DeleteCoreDeviceInput { 4433 s.CoreDeviceThingName = &v 4434 return s 4435 } 4436 4437 type DeleteCoreDeviceOutput struct { 4438 _ struct{} `type:"structure" nopayload:"true"` 4439 } 4440 4441 // String returns the string representation. 4442 // 4443 // API parameter values that are decorated as "sensitive" in the API will not 4444 // be included in the string output. The member name will be present, but the 4445 // value will be replaced with "sensitive". 4446 func (s DeleteCoreDeviceOutput) String() string { 4447 return awsutil.Prettify(s) 4448 } 4449 4450 // GoString returns the string representation. 4451 // 4452 // API parameter values that are decorated as "sensitive" in the API will not 4453 // be included in the string output. The member name will be present, but the 4454 // value will be replaced with "sensitive". 4455 func (s DeleteCoreDeviceOutput) GoString() string { 4456 return s.String() 4457 } 4458 4459 // Contains information about a deployment. 4460 type Deployment struct { 4461 _ struct{} `type:"structure"` 4462 4463 // The time at which the deployment was created, expressed in ISO 8601 format. 4464 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` 4465 4466 // The ID of the deployment. 4467 DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` 4468 4469 // The name of the deployment. 4470 DeploymentName *string `locationName:"deploymentName" min:"1" type:"string"` 4471 4472 // The status of the deployment. 4473 DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` 4474 4475 // Whether or not the deployment is the latest revision for its target. 4476 IsLatestForTarget *bool `locationName:"isLatestForTarget" type:"boolean"` 4477 4478 // The revision number of the deployment. 4479 RevisionId *string `locationName:"revisionId" min:"1" type:"string"` 4480 4481 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4482 // of the target IoT thing or thing group. 4483 TargetArn *string `locationName:"targetArn" type:"string"` 4484 } 4485 4486 // String returns the string representation. 4487 // 4488 // API parameter values that are decorated as "sensitive" in the API will not 4489 // be included in the string output. The member name will be present, but the 4490 // value will be replaced with "sensitive". 4491 func (s Deployment) String() string { 4492 return awsutil.Prettify(s) 4493 } 4494 4495 // GoString returns the string representation. 4496 // 4497 // API parameter values that are decorated as "sensitive" in the API will not 4498 // be included in the string output. The member name will be present, but the 4499 // value will be replaced with "sensitive". 4500 func (s Deployment) GoString() string { 4501 return s.String() 4502 } 4503 4504 // SetCreationTimestamp sets the CreationTimestamp field's value. 4505 func (s *Deployment) SetCreationTimestamp(v time.Time) *Deployment { 4506 s.CreationTimestamp = &v 4507 return s 4508 } 4509 4510 // SetDeploymentId sets the DeploymentId field's value. 4511 func (s *Deployment) SetDeploymentId(v string) *Deployment { 4512 s.DeploymentId = &v 4513 return s 4514 } 4515 4516 // SetDeploymentName sets the DeploymentName field's value. 4517 func (s *Deployment) SetDeploymentName(v string) *Deployment { 4518 s.DeploymentName = &v 4519 return s 4520 } 4521 4522 // SetDeploymentStatus sets the DeploymentStatus field's value. 4523 func (s *Deployment) SetDeploymentStatus(v string) *Deployment { 4524 s.DeploymentStatus = &v 4525 return s 4526 } 4527 4528 // SetIsLatestForTarget sets the IsLatestForTarget field's value. 4529 func (s *Deployment) SetIsLatestForTarget(v bool) *Deployment { 4530 s.IsLatestForTarget = &v 4531 return s 4532 } 4533 4534 // SetRevisionId sets the RevisionId field's value. 4535 func (s *Deployment) SetRevisionId(v string) *Deployment { 4536 s.RevisionId = &v 4537 return s 4538 } 4539 4540 // SetTargetArn sets the TargetArn field's value. 4541 func (s *Deployment) SetTargetArn(v string) *Deployment { 4542 s.TargetArn = &v 4543 return s 4544 } 4545 4546 // Contains information about a deployment's policy that defines when components 4547 // are safe to update. 4548 // 4549 // Each component on a device can report whether or not it's ready to update. 4550 // After a component and its dependencies are ready, they can apply the update 4551 // in the deployment. You can configure whether or not the deployment notifies 4552 // components of an update and waits for a response. You specify the amount 4553 // of time each component has to respond to the update notification. 4554 type DeploymentComponentUpdatePolicy struct { 4555 _ struct{} `type:"structure"` 4556 4557 // Whether or not to notify components and wait for components to become safe 4558 // to update. Choose from the following options: 4559 // 4560 // * NOTIFY_COMPONENTS – The deployment notifies each component before 4561 // it stops and updates that component. Components can use the SubscribeToComponentUpdates 4562 // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetocomponentupdates) 4563 // IPC operation to receive these notifications. Then, components can respond 4564 // with the DeferComponentUpdate (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-defercomponentupdate) 4565 // IPC operation. For more information, see Create deployments (https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) 4566 // in the IoT Greengrass V2 Developer Guide. 4567 // 4568 // * SKIP_NOTIFY_COMPONENTS – The deployment doesn't notify components 4569 // or wait for them to be safe to update. 4570 // 4571 // Default: NOTIFY_COMPONENTS 4572 Action *string `locationName:"action" type:"string" enum:"DeploymentComponentUpdatePolicyAction"` 4573 4574 // The amount of time in seconds that each component on a device has to report 4575 // that it's safe to update. If the component waits for longer than this timeout, 4576 // then the deployment proceeds on the device. 4577 // 4578 // Default: 60 4579 TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` 4580 } 4581 4582 // String returns the string representation. 4583 // 4584 // API parameter values that are decorated as "sensitive" in the API will not 4585 // be included in the string output. The member name will be present, but the 4586 // value will be replaced with "sensitive". 4587 func (s DeploymentComponentUpdatePolicy) String() string { 4588 return awsutil.Prettify(s) 4589 } 4590 4591 // GoString returns the string representation. 4592 // 4593 // API parameter values that are decorated as "sensitive" in the API will not 4594 // be included in the string output. The member name will be present, but the 4595 // value will be replaced with "sensitive". 4596 func (s DeploymentComponentUpdatePolicy) GoString() string { 4597 return s.String() 4598 } 4599 4600 // SetAction sets the Action field's value. 4601 func (s *DeploymentComponentUpdatePolicy) SetAction(v string) *DeploymentComponentUpdatePolicy { 4602 s.Action = &v 4603 return s 4604 } 4605 4606 // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. 4607 func (s *DeploymentComponentUpdatePolicy) SetTimeoutInSeconds(v int64) *DeploymentComponentUpdatePolicy { 4608 s.TimeoutInSeconds = &v 4609 return s 4610 } 4611 4612 // Contains information about how long a component on a core device can validate 4613 // its configuration updates before it times out. Components can use the SubscribeToValidateConfigurationUpdates 4614 // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetovalidateconfigurationupdates) 4615 // IPC operation to receive notifications when a deployment specifies a configuration 4616 // update. Then, components can respond with the SendConfigurationValidityReport 4617 // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-sendconfigurationvalidityreport) 4618 // IPC operation. For more information, see Create deployments (https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) 4619 // in the IoT Greengrass V2 Developer Guide. 4620 type DeploymentConfigurationValidationPolicy struct { 4621 _ struct{} `type:"structure"` 4622 4623 // The amount of time in seconds that a component can validate its configuration 4624 // updates. If the validation time exceeds this timeout, then the deployment 4625 // proceeds for the device. 4626 // 4627 // Default: 30 4628 TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` 4629 } 4630 4631 // String returns the string representation. 4632 // 4633 // API parameter values that are decorated as "sensitive" in the API will not 4634 // be included in the string output. The member name will be present, but the 4635 // value will be replaced with "sensitive". 4636 func (s DeploymentConfigurationValidationPolicy) String() string { 4637 return awsutil.Prettify(s) 4638 } 4639 4640 // GoString returns the string representation. 4641 // 4642 // API parameter values that are decorated as "sensitive" in the API will not 4643 // be included in the string output. The member name will be present, but the 4644 // value will be replaced with "sensitive". 4645 func (s DeploymentConfigurationValidationPolicy) GoString() string { 4646 return s.String() 4647 } 4648 4649 // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. 4650 func (s *DeploymentConfigurationValidationPolicy) SetTimeoutInSeconds(v int64) *DeploymentConfigurationValidationPolicy { 4651 s.TimeoutInSeconds = &v 4652 return s 4653 } 4654 4655 // Contains information about an IoT job configuration. 4656 type DeploymentIoTJobConfiguration struct { 4657 _ struct{} `type:"structure"` 4658 4659 // The stop configuration for the job. This configuration defines when and how 4660 // to stop a job rollout. 4661 AbortConfig *IoTJobAbortConfig `locationName:"abortConfig" type:"structure"` 4662 4663 // The rollout configuration for the job. This configuration defines the rate 4664 // at which the job rolls out to the fleet of target devices. 4665 JobExecutionsRolloutConfig *IoTJobExecutionsRolloutConfig `locationName:"jobExecutionsRolloutConfig" type:"structure"` 4666 4667 // The timeout configuration for the job. This configuration defines the amount 4668 // of time each device has to complete the job. 4669 TimeoutConfig *IoTJobTimeoutConfig `locationName:"timeoutConfig" type:"structure"` 4670 } 4671 4672 // String returns the string representation. 4673 // 4674 // API parameter values that are decorated as "sensitive" in the API will not 4675 // be included in the string output. The member name will be present, but the 4676 // value will be replaced with "sensitive". 4677 func (s DeploymentIoTJobConfiguration) String() string { 4678 return awsutil.Prettify(s) 4679 } 4680 4681 // GoString returns the string representation. 4682 // 4683 // API parameter values that are decorated as "sensitive" in the API will not 4684 // be included in the string output. The member name will be present, but the 4685 // value will be replaced with "sensitive". 4686 func (s DeploymentIoTJobConfiguration) GoString() string { 4687 return s.String() 4688 } 4689 4690 // Validate inspects the fields of the type to determine if they are valid. 4691 func (s *DeploymentIoTJobConfiguration) Validate() error { 4692 invalidParams := request.ErrInvalidParams{Context: "DeploymentIoTJobConfiguration"} 4693 if s.AbortConfig != nil { 4694 if err := s.AbortConfig.Validate(); err != nil { 4695 invalidParams.AddNested("AbortConfig", err.(request.ErrInvalidParams)) 4696 } 4697 } 4698 if s.JobExecutionsRolloutConfig != nil { 4699 if err := s.JobExecutionsRolloutConfig.Validate(); err != nil { 4700 invalidParams.AddNested("JobExecutionsRolloutConfig", err.(request.ErrInvalidParams)) 4701 } 4702 } 4703 4704 if invalidParams.Len() > 0 { 4705 return invalidParams 4706 } 4707 return nil 4708 } 4709 4710 // SetAbortConfig sets the AbortConfig field's value. 4711 func (s *DeploymentIoTJobConfiguration) SetAbortConfig(v *IoTJobAbortConfig) *DeploymentIoTJobConfiguration { 4712 s.AbortConfig = v 4713 return s 4714 } 4715 4716 // SetJobExecutionsRolloutConfig sets the JobExecutionsRolloutConfig field's value. 4717 func (s *DeploymentIoTJobConfiguration) SetJobExecutionsRolloutConfig(v *IoTJobExecutionsRolloutConfig) *DeploymentIoTJobConfiguration { 4718 s.JobExecutionsRolloutConfig = v 4719 return s 4720 } 4721 4722 // SetTimeoutConfig sets the TimeoutConfig field's value. 4723 func (s *DeploymentIoTJobConfiguration) SetTimeoutConfig(v *IoTJobTimeoutConfig) *DeploymentIoTJobConfiguration { 4724 s.TimeoutConfig = v 4725 return s 4726 } 4727 4728 // Contains information about policies that define how a deployment updates 4729 // components and handles failure. 4730 type DeploymentPolicies struct { 4731 _ struct{} `type:"structure"` 4732 4733 // The component update policy for the configuration deployment. This policy 4734 // defines when it's safe to deploy the configuration to devices. 4735 ComponentUpdatePolicy *DeploymentComponentUpdatePolicy `locationName:"componentUpdatePolicy" type:"structure"` 4736 4737 // The configuration validation policy for the configuration deployment. This 4738 // policy defines how long each component has to validate its configure updates. 4739 ConfigurationValidationPolicy *DeploymentConfigurationValidationPolicy `locationName:"configurationValidationPolicy" type:"structure"` 4740 4741 // The failure handling policy for the configuration deployment. This policy 4742 // defines what to do if the deployment fails. 4743 // 4744 // Default: ROLLBACK 4745 FailureHandlingPolicy *string `locationName:"failureHandlingPolicy" type:"string" enum:"DeploymentFailureHandlingPolicy"` 4746 } 4747 4748 // String returns the string representation. 4749 // 4750 // API parameter values that are decorated as "sensitive" in the API will not 4751 // be included in the string output. The member name will be present, but the 4752 // value will be replaced with "sensitive". 4753 func (s DeploymentPolicies) String() string { 4754 return awsutil.Prettify(s) 4755 } 4756 4757 // GoString returns the string representation. 4758 // 4759 // API parameter values that are decorated as "sensitive" in the API will not 4760 // be included in the string output. The member name will be present, but the 4761 // value will be replaced with "sensitive". 4762 func (s DeploymentPolicies) GoString() string { 4763 return s.String() 4764 } 4765 4766 // SetComponentUpdatePolicy sets the ComponentUpdatePolicy field's value. 4767 func (s *DeploymentPolicies) SetComponentUpdatePolicy(v *DeploymentComponentUpdatePolicy) *DeploymentPolicies { 4768 s.ComponentUpdatePolicy = v 4769 return s 4770 } 4771 4772 // SetConfigurationValidationPolicy sets the ConfigurationValidationPolicy field's value. 4773 func (s *DeploymentPolicies) SetConfigurationValidationPolicy(v *DeploymentConfigurationValidationPolicy) *DeploymentPolicies { 4774 s.ConfigurationValidationPolicy = v 4775 return s 4776 } 4777 4778 // SetFailureHandlingPolicy sets the FailureHandlingPolicy field's value. 4779 func (s *DeploymentPolicies) SetFailureHandlingPolicy(v string) *DeploymentPolicies { 4780 s.FailureHandlingPolicy = &v 4781 return s 4782 } 4783 4784 type DescribeComponentInput struct { 4785 _ struct{} `type:"structure" nopayload:"true"` 4786 4787 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4788 // of the component version. 4789 // 4790 // Arn is a required field 4791 Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` 4792 } 4793 4794 // String returns the string representation. 4795 // 4796 // API parameter values that are decorated as "sensitive" in the API will not 4797 // be included in the string output. The member name will be present, but the 4798 // value will be replaced with "sensitive". 4799 func (s DescribeComponentInput) String() string { 4800 return awsutil.Prettify(s) 4801 } 4802 4803 // GoString returns the string representation. 4804 // 4805 // API parameter values that are decorated as "sensitive" in the API will not 4806 // be included in the string output. The member name will be present, but the 4807 // value will be replaced with "sensitive". 4808 func (s DescribeComponentInput) GoString() string { 4809 return s.String() 4810 } 4811 4812 // Validate inspects the fields of the type to determine if they are valid. 4813 func (s *DescribeComponentInput) Validate() error { 4814 invalidParams := request.ErrInvalidParams{Context: "DescribeComponentInput"} 4815 if s.Arn == nil { 4816 invalidParams.Add(request.NewErrParamRequired("Arn")) 4817 } 4818 if s.Arn != nil && len(*s.Arn) < 1 { 4819 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 4820 } 4821 4822 if invalidParams.Len() > 0 { 4823 return invalidParams 4824 } 4825 return nil 4826 } 4827 4828 // SetArn sets the Arn field's value. 4829 func (s *DescribeComponentInput) SetArn(v string) *DescribeComponentInput { 4830 s.Arn = &v 4831 return s 4832 } 4833 4834 type DescribeComponentOutput struct { 4835 _ struct{} `type:"structure"` 4836 4837 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 4838 // of the component version. 4839 Arn *string `locationName:"arn" type:"string"` 4840 4841 // The name of the component. 4842 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 4843 4844 // The version of the component. 4845 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 4846 4847 // The time at which the component was created, expressed in ISO 8601 format. 4848 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` 4849 4850 // The description of the component version. 4851 Description *string `locationName:"description" type:"string"` 4852 4853 // The platforms that the component version supports. 4854 Platforms []*ComponentPlatform `locationName:"platforms" type:"list"` 4855 4856 // The publisher of the component version. 4857 Publisher *string `locationName:"publisher" type:"string"` 4858 4859 // The status of the component version in IoT Greengrass V2. This status is 4860 // different from the status of the component on a core device. 4861 Status *CloudComponentStatus `locationName:"status" type:"structure"` 4862 4863 // A list of key-value pairs that contain metadata for the resource. For more 4864 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 4865 // in the IoT Greengrass V2 Developer Guide. 4866 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4867 } 4868 4869 // String returns the string representation. 4870 // 4871 // API parameter values that are decorated as "sensitive" in the API will not 4872 // be included in the string output. The member name will be present, but the 4873 // value will be replaced with "sensitive". 4874 func (s DescribeComponentOutput) String() string { 4875 return awsutil.Prettify(s) 4876 } 4877 4878 // GoString returns the string representation. 4879 // 4880 // API parameter values that are decorated as "sensitive" in the API will not 4881 // be included in the string output. The member name will be present, but the 4882 // value will be replaced with "sensitive". 4883 func (s DescribeComponentOutput) GoString() string { 4884 return s.String() 4885 } 4886 4887 // SetArn sets the Arn field's value. 4888 func (s *DescribeComponentOutput) SetArn(v string) *DescribeComponentOutput { 4889 s.Arn = &v 4890 return s 4891 } 4892 4893 // SetComponentName sets the ComponentName field's value. 4894 func (s *DescribeComponentOutput) SetComponentName(v string) *DescribeComponentOutput { 4895 s.ComponentName = &v 4896 return s 4897 } 4898 4899 // SetComponentVersion sets the ComponentVersion field's value. 4900 func (s *DescribeComponentOutput) SetComponentVersion(v string) *DescribeComponentOutput { 4901 s.ComponentVersion = &v 4902 return s 4903 } 4904 4905 // SetCreationTimestamp sets the CreationTimestamp field's value. 4906 func (s *DescribeComponentOutput) SetCreationTimestamp(v time.Time) *DescribeComponentOutput { 4907 s.CreationTimestamp = &v 4908 return s 4909 } 4910 4911 // SetDescription sets the Description field's value. 4912 func (s *DescribeComponentOutput) SetDescription(v string) *DescribeComponentOutput { 4913 s.Description = &v 4914 return s 4915 } 4916 4917 // SetPlatforms sets the Platforms field's value. 4918 func (s *DescribeComponentOutput) SetPlatforms(v []*ComponentPlatform) *DescribeComponentOutput { 4919 s.Platforms = v 4920 return s 4921 } 4922 4923 // SetPublisher sets the Publisher field's value. 4924 func (s *DescribeComponentOutput) SetPublisher(v string) *DescribeComponentOutput { 4925 s.Publisher = &v 4926 return s 4927 } 4928 4929 // SetStatus sets the Status field's value. 4930 func (s *DescribeComponentOutput) SetStatus(v *CloudComponentStatus) *DescribeComponentOutput { 4931 s.Status = v 4932 return s 4933 } 4934 4935 // SetTags sets the Tags field's value. 4936 func (s *DescribeComponentOutput) SetTags(v map[string]*string) *DescribeComponentOutput { 4937 s.Tags = v 4938 return s 4939 } 4940 4941 // Contains a request to disassociate a client device from a core device. The 4942 // BatchDisassociateClientDeviceWithCoreDevice (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html) 4943 // operation consumes a list of these requests. 4944 type DisassociateClientDeviceFromCoreDeviceEntry struct { 4945 _ struct{} `type:"structure"` 4946 4947 // The name of the IoT thing that represents the client device to disassociate. 4948 // 4949 // ThingName is a required field 4950 ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"` 4951 } 4952 4953 // String returns the string representation. 4954 // 4955 // API parameter values that are decorated as "sensitive" in the API will not 4956 // be included in the string output. The member name will be present, but the 4957 // value will be replaced with "sensitive". 4958 func (s DisassociateClientDeviceFromCoreDeviceEntry) String() string { 4959 return awsutil.Prettify(s) 4960 } 4961 4962 // GoString returns the string representation. 4963 // 4964 // API parameter values that are decorated as "sensitive" in the API will not 4965 // be included in the string output. The member name will be present, but the 4966 // value will be replaced with "sensitive". 4967 func (s DisassociateClientDeviceFromCoreDeviceEntry) GoString() string { 4968 return s.String() 4969 } 4970 4971 // Validate inspects the fields of the type to determine if they are valid. 4972 func (s *DisassociateClientDeviceFromCoreDeviceEntry) Validate() error { 4973 invalidParams := request.ErrInvalidParams{Context: "DisassociateClientDeviceFromCoreDeviceEntry"} 4974 if s.ThingName == nil { 4975 invalidParams.Add(request.NewErrParamRequired("ThingName")) 4976 } 4977 if s.ThingName != nil && len(*s.ThingName) < 1 { 4978 invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) 4979 } 4980 4981 if invalidParams.Len() > 0 { 4982 return invalidParams 4983 } 4984 return nil 4985 } 4986 4987 // SetThingName sets the ThingName field's value. 4988 func (s *DisassociateClientDeviceFromCoreDeviceEntry) SetThingName(v string) *DisassociateClientDeviceFromCoreDeviceEntry { 4989 s.ThingName = &v 4990 return s 4991 } 4992 4993 // Contains an error that occurs from a request to disassociate a client device 4994 // from a core device. The BatchDisassociateClientDeviceWithCoreDevice (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html) 4995 // operation returns a list of these errors. 4996 type DisassociateClientDeviceFromCoreDeviceErrorEntry struct { 4997 _ struct{} `type:"structure"` 4998 4999 // The error code for the request. 5000 Code *string `locationName:"code" min:"1" type:"string"` 5001 5002 // A message that provides additional information about the error. 5003 Message *string `locationName:"message" min:"1" type:"string"` 5004 5005 // The name of the IoT thing whose disassociate request failed. 5006 ThingName *string `locationName:"thingName" min:"1" type:"string"` 5007 } 5008 5009 // String returns the string representation. 5010 // 5011 // API parameter values that are decorated as "sensitive" in the API will not 5012 // be included in the string output. The member name will be present, but the 5013 // value will be replaced with "sensitive". 5014 func (s DisassociateClientDeviceFromCoreDeviceErrorEntry) String() string { 5015 return awsutil.Prettify(s) 5016 } 5017 5018 // GoString returns the string representation. 5019 // 5020 // API parameter values that are decorated as "sensitive" in the API will not 5021 // be included in the string output. The member name will be present, but the 5022 // value will be replaced with "sensitive". 5023 func (s DisassociateClientDeviceFromCoreDeviceErrorEntry) GoString() string { 5024 return s.String() 5025 } 5026 5027 // SetCode sets the Code field's value. 5028 func (s *DisassociateClientDeviceFromCoreDeviceErrorEntry) SetCode(v string) *DisassociateClientDeviceFromCoreDeviceErrorEntry { 5029 s.Code = &v 5030 return s 5031 } 5032 5033 // SetMessage sets the Message field's value. 5034 func (s *DisassociateClientDeviceFromCoreDeviceErrorEntry) SetMessage(v string) *DisassociateClientDeviceFromCoreDeviceErrorEntry { 5035 s.Message = &v 5036 return s 5037 } 5038 5039 // SetThingName sets the ThingName field's value. 5040 func (s *DisassociateClientDeviceFromCoreDeviceErrorEntry) SetThingName(v string) *DisassociateClientDeviceFromCoreDeviceErrorEntry { 5041 s.ThingName = &v 5042 return s 5043 } 5044 5045 // Contains information about a deployment job that IoT Greengrass sends to 5046 // a Greengrass core device. 5047 type EffectiveDeployment struct { 5048 _ struct{} `type:"structure"` 5049 5050 // The status of the deployment job on the Greengrass core device. 5051 // 5052 // CoreDeviceExecutionStatus is a required field 5053 CoreDeviceExecutionStatus *string `locationName:"coreDeviceExecutionStatus" type:"string" required:"true" enum:"EffectiveDeploymentExecutionStatus"` 5054 5055 // The time at which the deployment was created, expressed in ISO 8601 format. 5056 // 5057 // CreationTimestamp is a required field 5058 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" required:"true"` 5059 5060 // The ID of the deployment. 5061 // 5062 // DeploymentId is a required field 5063 DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` 5064 5065 // The name of the deployment. 5066 // 5067 // DeploymentName is a required field 5068 DeploymentName *string `locationName:"deploymentName" type:"string" required:"true"` 5069 5070 // The description of the deployment job. 5071 Description *string `locationName:"description" min:"1" type:"string"` 5072 5073 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 5074 // of the IoT job that applies the deployment to target devices. 5075 IotJobArn *string `locationName:"iotJobArn" type:"string"` 5076 5077 // The ID of the IoT job that applies the deployment to target devices. 5078 IotJobId *string `locationName:"iotJobId" min:"1" type:"string"` 5079 5080 // The time at which the deployment job was last modified, expressed in ISO 5081 // 8601 format. 5082 // 5083 // ModifiedTimestamp is a required field 5084 ModifiedTimestamp *time.Time `locationName:"modifiedTimestamp" type:"timestamp" required:"true"` 5085 5086 // The reason code for the update, if the job was updated. 5087 Reason *string `locationName:"reason" type:"string"` 5088 5089 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 5090 // of the target IoT thing or thing group. 5091 // 5092 // TargetArn is a required field 5093 TargetArn *string `locationName:"targetArn" type:"string" required:"true"` 5094 } 5095 5096 // String returns the string representation. 5097 // 5098 // API parameter values that are decorated as "sensitive" in the API will not 5099 // be included in the string output. The member name will be present, but the 5100 // value will be replaced with "sensitive". 5101 func (s EffectiveDeployment) String() string { 5102 return awsutil.Prettify(s) 5103 } 5104 5105 // GoString returns the string representation. 5106 // 5107 // API parameter values that are decorated as "sensitive" in the API will not 5108 // be included in the string output. The member name will be present, but the 5109 // value will be replaced with "sensitive". 5110 func (s EffectiveDeployment) GoString() string { 5111 return s.String() 5112 } 5113 5114 // SetCoreDeviceExecutionStatus sets the CoreDeviceExecutionStatus field's value. 5115 func (s *EffectiveDeployment) SetCoreDeviceExecutionStatus(v string) *EffectiveDeployment { 5116 s.CoreDeviceExecutionStatus = &v 5117 return s 5118 } 5119 5120 // SetCreationTimestamp sets the CreationTimestamp field's value. 5121 func (s *EffectiveDeployment) SetCreationTimestamp(v time.Time) *EffectiveDeployment { 5122 s.CreationTimestamp = &v 5123 return s 5124 } 5125 5126 // SetDeploymentId sets the DeploymentId field's value. 5127 func (s *EffectiveDeployment) SetDeploymentId(v string) *EffectiveDeployment { 5128 s.DeploymentId = &v 5129 return s 5130 } 5131 5132 // SetDeploymentName sets the DeploymentName field's value. 5133 func (s *EffectiveDeployment) SetDeploymentName(v string) *EffectiveDeployment { 5134 s.DeploymentName = &v 5135 return s 5136 } 5137 5138 // SetDescription sets the Description field's value. 5139 func (s *EffectiveDeployment) SetDescription(v string) *EffectiveDeployment { 5140 s.Description = &v 5141 return s 5142 } 5143 5144 // SetIotJobArn sets the IotJobArn field's value. 5145 func (s *EffectiveDeployment) SetIotJobArn(v string) *EffectiveDeployment { 5146 s.IotJobArn = &v 5147 return s 5148 } 5149 5150 // SetIotJobId sets the IotJobId field's value. 5151 func (s *EffectiveDeployment) SetIotJobId(v string) *EffectiveDeployment { 5152 s.IotJobId = &v 5153 return s 5154 } 5155 5156 // SetModifiedTimestamp sets the ModifiedTimestamp field's value. 5157 func (s *EffectiveDeployment) SetModifiedTimestamp(v time.Time) *EffectiveDeployment { 5158 s.ModifiedTimestamp = &v 5159 return s 5160 } 5161 5162 // SetReason sets the Reason field's value. 5163 func (s *EffectiveDeployment) SetReason(v string) *EffectiveDeployment { 5164 s.Reason = &v 5165 return s 5166 } 5167 5168 // SetTargetArn sets the TargetArn field's value. 5169 func (s *EffectiveDeployment) SetTargetArn(v string) *EffectiveDeployment { 5170 s.TargetArn = &v 5171 return s 5172 } 5173 5174 type GetComponentInput struct { 5175 _ struct{} `type:"structure" nopayload:"true"` 5176 5177 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 5178 // of the component version. 5179 // 5180 // Arn is a required field 5181 Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` 5182 5183 // The format of the recipe. 5184 RecipeOutputFormat *string `location:"querystring" locationName:"recipeOutputFormat" type:"string" enum:"RecipeOutputFormat"` 5185 } 5186 5187 // String returns the string representation. 5188 // 5189 // API parameter values that are decorated as "sensitive" in the API will not 5190 // be included in the string output. The member name will be present, but the 5191 // value will be replaced with "sensitive". 5192 func (s GetComponentInput) String() string { 5193 return awsutil.Prettify(s) 5194 } 5195 5196 // GoString returns the string representation. 5197 // 5198 // API parameter values that are decorated as "sensitive" in the API will not 5199 // be included in the string output. The member name will be present, but the 5200 // value will be replaced with "sensitive". 5201 func (s GetComponentInput) GoString() string { 5202 return s.String() 5203 } 5204 5205 // Validate inspects the fields of the type to determine if they are valid. 5206 func (s *GetComponentInput) Validate() error { 5207 invalidParams := request.ErrInvalidParams{Context: "GetComponentInput"} 5208 if s.Arn == nil { 5209 invalidParams.Add(request.NewErrParamRequired("Arn")) 5210 } 5211 if s.Arn != nil && len(*s.Arn) < 1 { 5212 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 5213 } 5214 5215 if invalidParams.Len() > 0 { 5216 return invalidParams 5217 } 5218 return nil 5219 } 5220 5221 // SetArn sets the Arn field's value. 5222 func (s *GetComponentInput) SetArn(v string) *GetComponentInput { 5223 s.Arn = &v 5224 return s 5225 } 5226 5227 // SetRecipeOutputFormat sets the RecipeOutputFormat field's value. 5228 func (s *GetComponentInput) SetRecipeOutputFormat(v string) *GetComponentInput { 5229 s.RecipeOutputFormat = &v 5230 return s 5231 } 5232 5233 type GetComponentOutput struct { 5234 _ struct{} `type:"structure"` 5235 5236 // The recipe of the component version. 5237 // Recipe is automatically base64 encoded/decoded by the SDK. 5238 // 5239 // Recipe is a required field 5240 Recipe []byte `locationName:"recipe" type:"blob" required:"true"` 5241 5242 // The format of the recipe. 5243 // 5244 // RecipeOutputFormat is a required field 5245 RecipeOutputFormat *string `locationName:"recipeOutputFormat" type:"string" required:"true" enum:"RecipeOutputFormat"` 5246 5247 // A list of key-value pairs that contain metadata for the resource. For more 5248 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 5249 // in the IoT Greengrass V2 Developer Guide. 5250 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5251 } 5252 5253 // String returns the string representation. 5254 // 5255 // API parameter values that are decorated as "sensitive" in the API will not 5256 // be included in the string output. The member name will be present, but the 5257 // value will be replaced with "sensitive". 5258 func (s GetComponentOutput) String() string { 5259 return awsutil.Prettify(s) 5260 } 5261 5262 // GoString returns the string representation. 5263 // 5264 // API parameter values that are decorated as "sensitive" in the API will not 5265 // be included in the string output. The member name will be present, but the 5266 // value will be replaced with "sensitive". 5267 func (s GetComponentOutput) GoString() string { 5268 return s.String() 5269 } 5270 5271 // SetRecipe sets the Recipe field's value. 5272 func (s *GetComponentOutput) SetRecipe(v []byte) *GetComponentOutput { 5273 s.Recipe = v 5274 return s 5275 } 5276 5277 // SetRecipeOutputFormat sets the RecipeOutputFormat field's value. 5278 func (s *GetComponentOutput) SetRecipeOutputFormat(v string) *GetComponentOutput { 5279 s.RecipeOutputFormat = &v 5280 return s 5281 } 5282 5283 // SetTags sets the Tags field's value. 5284 func (s *GetComponentOutput) SetTags(v map[string]*string) *GetComponentOutput { 5285 s.Tags = v 5286 return s 5287 } 5288 5289 type GetComponentVersionArtifactInput struct { 5290 _ struct{} `type:"structure" nopayload:"true"` 5291 5292 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 5293 // of the component version. Specify the ARN of a public component version. 5294 // 5295 // Arn is a required field 5296 Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` 5297 5298 // The name of the artifact. 5299 // 5300 // You can use the GetComponent (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html) 5301 // operation to download the component recipe, which includes the URI of the 5302 // artifact. The artifact name is the section of the URI after the scheme. For 5303 // example, in the artifact URI greengrass:SomeArtifact.zip, the artifact name 5304 // is SomeArtifact.zip. 5305 // 5306 // ArtifactName is a required field 5307 ArtifactName *string `location:"uri" locationName:"artifactName" min:"1" type:"string" required:"true"` 5308 } 5309 5310 // String returns the string representation. 5311 // 5312 // API parameter values that are decorated as "sensitive" in the API will not 5313 // be included in the string output. The member name will be present, but the 5314 // value will be replaced with "sensitive". 5315 func (s GetComponentVersionArtifactInput) String() string { 5316 return awsutil.Prettify(s) 5317 } 5318 5319 // GoString returns the string representation. 5320 // 5321 // API parameter values that are decorated as "sensitive" in the API will not 5322 // be included in the string output. The member name will be present, but the 5323 // value will be replaced with "sensitive". 5324 func (s GetComponentVersionArtifactInput) GoString() string { 5325 return s.String() 5326 } 5327 5328 // Validate inspects the fields of the type to determine if they are valid. 5329 func (s *GetComponentVersionArtifactInput) Validate() error { 5330 invalidParams := request.ErrInvalidParams{Context: "GetComponentVersionArtifactInput"} 5331 if s.Arn == nil { 5332 invalidParams.Add(request.NewErrParamRequired("Arn")) 5333 } 5334 if s.Arn != nil && len(*s.Arn) < 1 { 5335 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 5336 } 5337 if s.ArtifactName == nil { 5338 invalidParams.Add(request.NewErrParamRequired("ArtifactName")) 5339 } 5340 if s.ArtifactName != nil && len(*s.ArtifactName) < 1 { 5341 invalidParams.Add(request.NewErrParamMinLen("ArtifactName", 1)) 5342 } 5343 5344 if invalidParams.Len() > 0 { 5345 return invalidParams 5346 } 5347 return nil 5348 } 5349 5350 // SetArn sets the Arn field's value. 5351 func (s *GetComponentVersionArtifactInput) SetArn(v string) *GetComponentVersionArtifactInput { 5352 s.Arn = &v 5353 return s 5354 } 5355 5356 // SetArtifactName sets the ArtifactName field's value. 5357 func (s *GetComponentVersionArtifactInput) SetArtifactName(v string) *GetComponentVersionArtifactInput { 5358 s.ArtifactName = &v 5359 return s 5360 } 5361 5362 type GetComponentVersionArtifactOutput struct { 5363 _ struct{} `type:"structure"` 5364 5365 // The URL of the artifact. 5366 // 5367 // PreSignedUrl is a required field 5368 PreSignedUrl *string `locationName:"preSignedUrl" min:"1" type:"string" required:"true"` 5369 } 5370 5371 // String returns the string representation. 5372 // 5373 // API parameter values that are decorated as "sensitive" in the API will not 5374 // be included in the string output. The member name will be present, but the 5375 // value will be replaced with "sensitive". 5376 func (s GetComponentVersionArtifactOutput) String() string { 5377 return awsutil.Prettify(s) 5378 } 5379 5380 // GoString returns the string representation. 5381 // 5382 // API parameter values that are decorated as "sensitive" in the API will not 5383 // be included in the string output. The member name will be present, but the 5384 // value will be replaced with "sensitive". 5385 func (s GetComponentVersionArtifactOutput) GoString() string { 5386 return s.String() 5387 } 5388 5389 // SetPreSignedUrl sets the PreSignedUrl field's value. 5390 func (s *GetComponentVersionArtifactOutput) SetPreSignedUrl(v string) *GetComponentVersionArtifactOutput { 5391 s.PreSignedUrl = &v 5392 return s 5393 } 5394 5395 type GetCoreDeviceInput struct { 5396 _ struct{} `type:"structure" nopayload:"true"` 5397 5398 // The name of the core device. This is also the name of the IoT thing. 5399 // 5400 // CoreDeviceThingName is a required field 5401 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 5402 } 5403 5404 // String returns the string representation. 5405 // 5406 // API parameter values that are decorated as "sensitive" in the API will not 5407 // be included in the string output. The member name will be present, but the 5408 // value will be replaced with "sensitive". 5409 func (s GetCoreDeviceInput) String() string { 5410 return awsutil.Prettify(s) 5411 } 5412 5413 // GoString returns the string representation. 5414 // 5415 // API parameter values that are decorated as "sensitive" in the API will not 5416 // be included in the string output. The member name will be present, but the 5417 // value will be replaced with "sensitive". 5418 func (s GetCoreDeviceInput) GoString() string { 5419 return s.String() 5420 } 5421 5422 // Validate inspects the fields of the type to determine if they are valid. 5423 func (s *GetCoreDeviceInput) Validate() error { 5424 invalidParams := request.ErrInvalidParams{Context: "GetCoreDeviceInput"} 5425 if s.CoreDeviceThingName == nil { 5426 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 5427 } 5428 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 5429 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 5430 } 5431 5432 if invalidParams.Len() > 0 { 5433 return invalidParams 5434 } 5435 return nil 5436 } 5437 5438 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 5439 func (s *GetCoreDeviceInput) SetCoreDeviceThingName(v string) *GetCoreDeviceInput { 5440 s.CoreDeviceThingName = &v 5441 return s 5442 } 5443 5444 type GetCoreDeviceOutput struct { 5445 _ struct{} `type:"structure"` 5446 5447 // The computer architecture of the core device. 5448 Architecture *string `locationName:"architecture" min:"1" type:"string"` 5449 5450 // The name of the core device. This is also the name of the IoT thing. 5451 CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string"` 5452 5453 // The version of the IoT Greengrass Core software that the core device runs. 5454 // This version is equivalent to the version of the Greengrass nucleus component 5455 // that runs on the core device. For more information, see the Greengrass nucleus 5456 // component (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) 5457 // in the IoT Greengrass V2 Developer Guide. 5458 CoreVersion *string `locationName:"coreVersion" min:"1" type:"string"` 5459 5460 // The time at which the core device's status last updated, expressed in ISO 5461 // 8601 format. 5462 LastStatusUpdateTimestamp *time.Time `locationName:"lastStatusUpdateTimestamp" type:"timestamp"` 5463 5464 // The operating system platform that the core device runs. 5465 Platform *string `locationName:"platform" min:"1" type:"string"` 5466 5467 // The status of the core device. The core device status can be: 5468 // 5469 // * HEALTHY – The IoT Greengrass Core software and all components run 5470 // on the core device without issue. 5471 // 5472 // * UNHEALTHY – The IoT Greengrass Core software or a component is in 5473 // a failed state on the core device. 5474 Status *string `locationName:"status" type:"string" enum:"CoreDeviceStatus"` 5475 5476 // A list of key-value pairs that contain metadata for the resource. For more 5477 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 5478 // in the IoT Greengrass V2 Developer Guide. 5479 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5480 } 5481 5482 // String returns the string representation. 5483 // 5484 // API parameter values that are decorated as "sensitive" in the API will not 5485 // be included in the string output. The member name will be present, but the 5486 // value will be replaced with "sensitive". 5487 func (s GetCoreDeviceOutput) String() string { 5488 return awsutil.Prettify(s) 5489 } 5490 5491 // GoString returns the string representation. 5492 // 5493 // API parameter values that are decorated as "sensitive" in the API will not 5494 // be included in the string output. The member name will be present, but the 5495 // value will be replaced with "sensitive". 5496 func (s GetCoreDeviceOutput) GoString() string { 5497 return s.String() 5498 } 5499 5500 // SetArchitecture sets the Architecture field's value. 5501 func (s *GetCoreDeviceOutput) SetArchitecture(v string) *GetCoreDeviceOutput { 5502 s.Architecture = &v 5503 return s 5504 } 5505 5506 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 5507 func (s *GetCoreDeviceOutput) SetCoreDeviceThingName(v string) *GetCoreDeviceOutput { 5508 s.CoreDeviceThingName = &v 5509 return s 5510 } 5511 5512 // SetCoreVersion sets the CoreVersion field's value. 5513 func (s *GetCoreDeviceOutput) SetCoreVersion(v string) *GetCoreDeviceOutput { 5514 s.CoreVersion = &v 5515 return s 5516 } 5517 5518 // SetLastStatusUpdateTimestamp sets the LastStatusUpdateTimestamp field's value. 5519 func (s *GetCoreDeviceOutput) SetLastStatusUpdateTimestamp(v time.Time) *GetCoreDeviceOutput { 5520 s.LastStatusUpdateTimestamp = &v 5521 return s 5522 } 5523 5524 // SetPlatform sets the Platform field's value. 5525 func (s *GetCoreDeviceOutput) SetPlatform(v string) *GetCoreDeviceOutput { 5526 s.Platform = &v 5527 return s 5528 } 5529 5530 // SetStatus sets the Status field's value. 5531 func (s *GetCoreDeviceOutput) SetStatus(v string) *GetCoreDeviceOutput { 5532 s.Status = &v 5533 return s 5534 } 5535 5536 // SetTags sets the Tags field's value. 5537 func (s *GetCoreDeviceOutput) SetTags(v map[string]*string) *GetCoreDeviceOutput { 5538 s.Tags = v 5539 return s 5540 } 5541 5542 type GetDeploymentInput struct { 5543 _ struct{} `type:"structure" nopayload:"true"` 5544 5545 // The ID of the deployment. 5546 // 5547 // DeploymentId is a required field 5548 DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` 5549 } 5550 5551 // String returns the string representation. 5552 // 5553 // API parameter values that are decorated as "sensitive" in the API will not 5554 // be included in the string output. The member name will be present, but the 5555 // value will be replaced with "sensitive". 5556 func (s GetDeploymentInput) String() string { 5557 return awsutil.Prettify(s) 5558 } 5559 5560 // GoString returns the string representation. 5561 // 5562 // API parameter values that are decorated as "sensitive" in the API will not 5563 // be included in the string output. The member name will be present, but the 5564 // value will be replaced with "sensitive". 5565 func (s GetDeploymentInput) GoString() string { 5566 return s.String() 5567 } 5568 5569 // Validate inspects the fields of the type to determine if they are valid. 5570 func (s *GetDeploymentInput) Validate() error { 5571 invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"} 5572 if s.DeploymentId == nil { 5573 invalidParams.Add(request.NewErrParamRequired("DeploymentId")) 5574 } 5575 if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { 5576 invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) 5577 } 5578 5579 if invalidParams.Len() > 0 { 5580 return invalidParams 5581 } 5582 return nil 5583 } 5584 5585 // SetDeploymentId sets the DeploymentId field's value. 5586 func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput { 5587 s.DeploymentId = &v 5588 return s 5589 } 5590 5591 type GetDeploymentOutput struct { 5592 _ struct{} `type:"structure"` 5593 5594 // The components to deploy. This is a dictionary, where each key is the name 5595 // of a component, and each key's value is the version and configuration to 5596 // deploy for that component. 5597 Components map[string]*ComponentDeploymentSpecification `locationName:"components" type:"map"` 5598 5599 // The time at which the deployment was created, expressed in ISO 8601 format. 5600 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` 5601 5602 // The ID of the deployment. 5603 DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` 5604 5605 // The name of the deployment. 5606 DeploymentName *string `locationName:"deploymentName" type:"string"` 5607 5608 // The deployment policies for the deployment. These policies define how the 5609 // deployment updates components and handles failure. 5610 DeploymentPolicies *DeploymentPolicies `locationName:"deploymentPolicies" type:"structure"` 5611 5612 // The status of the deployment. 5613 DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` 5614 5615 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 5616 // of the IoT job that applies the deployment to target devices. 5617 IotJobArn *string `locationName:"iotJobArn" type:"string"` 5618 5619 // The job configuration for the deployment configuration. The job configuration 5620 // specifies the rollout, timeout, and stop configurations for the deployment 5621 // configuration. 5622 IotJobConfiguration *DeploymentIoTJobConfiguration `locationName:"iotJobConfiguration" type:"structure"` 5623 5624 // The ID of the IoT job that applies the deployment to target devices. 5625 IotJobId *string `locationName:"iotJobId" type:"string"` 5626 5627 // Whether or not the deployment is the latest revision for its target. 5628 IsLatestForTarget *bool `locationName:"isLatestForTarget" type:"boolean"` 5629 5630 // The revision number of the deployment. 5631 RevisionId *string `locationName:"revisionId" min:"1" type:"string"` 5632 5633 // A list of key-value pairs that contain metadata for the resource. For more 5634 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 5635 // in the IoT Greengrass V2 Developer Guide. 5636 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5637 5638 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 5639 // of the target IoT thing or thing group. 5640 TargetArn *string `locationName:"targetArn" type:"string"` 5641 } 5642 5643 // String returns the string representation. 5644 // 5645 // API parameter values that are decorated as "sensitive" in the API will not 5646 // be included in the string output. The member name will be present, but the 5647 // value will be replaced with "sensitive". 5648 func (s GetDeploymentOutput) String() string { 5649 return awsutil.Prettify(s) 5650 } 5651 5652 // GoString returns the string representation. 5653 // 5654 // API parameter values that are decorated as "sensitive" in the API will not 5655 // be included in the string output. The member name will be present, but the 5656 // value will be replaced with "sensitive". 5657 func (s GetDeploymentOutput) GoString() string { 5658 return s.String() 5659 } 5660 5661 // SetComponents sets the Components field's value. 5662 func (s *GetDeploymentOutput) SetComponents(v map[string]*ComponentDeploymentSpecification) *GetDeploymentOutput { 5663 s.Components = v 5664 return s 5665 } 5666 5667 // SetCreationTimestamp sets the CreationTimestamp field's value. 5668 func (s *GetDeploymentOutput) SetCreationTimestamp(v time.Time) *GetDeploymentOutput { 5669 s.CreationTimestamp = &v 5670 return s 5671 } 5672 5673 // SetDeploymentId sets the DeploymentId field's value. 5674 func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput { 5675 s.DeploymentId = &v 5676 return s 5677 } 5678 5679 // SetDeploymentName sets the DeploymentName field's value. 5680 func (s *GetDeploymentOutput) SetDeploymentName(v string) *GetDeploymentOutput { 5681 s.DeploymentName = &v 5682 return s 5683 } 5684 5685 // SetDeploymentPolicies sets the DeploymentPolicies field's value. 5686 func (s *GetDeploymentOutput) SetDeploymentPolicies(v *DeploymentPolicies) *GetDeploymentOutput { 5687 s.DeploymentPolicies = v 5688 return s 5689 } 5690 5691 // SetDeploymentStatus sets the DeploymentStatus field's value. 5692 func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput { 5693 s.DeploymentStatus = &v 5694 return s 5695 } 5696 5697 // SetIotJobArn sets the IotJobArn field's value. 5698 func (s *GetDeploymentOutput) SetIotJobArn(v string) *GetDeploymentOutput { 5699 s.IotJobArn = &v 5700 return s 5701 } 5702 5703 // SetIotJobConfiguration sets the IotJobConfiguration field's value. 5704 func (s *GetDeploymentOutput) SetIotJobConfiguration(v *DeploymentIoTJobConfiguration) *GetDeploymentOutput { 5705 s.IotJobConfiguration = v 5706 return s 5707 } 5708 5709 // SetIotJobId sets the IotJobId field's value. 5710 func (s *GetDeploymentOutput) SetIotJobId(v string) *GetDeploymentOutput { 5711 s.IotJobId = &v 5712 return s 5713 } 5714 5715 // SetIsLatestForTarget sets the IsLatestForTarget field's value. 5716 func (s *GetDeploymentOutput) SetIsLatestForTarget(v bool) *GetDeploymentOutput { 5717 s.IsLatestForTarget = &v 5718 return s 5719 } 5720 5721 // SetRevisionId sets the RevisionId field's value. 5722 func (s *GetDeploymentOutput) SetRevisionId(v string) *GetDeploymentOutput { 5723 s.RevisionId = &v 5724 return s 5725 } 5726 5727 // SetTags sets the Tags field's value. 5728 func (s *GetDeploymentOutput) SetTags(v map[string]*string) *GetDeploymentOutput { 5729 s.Tags = v 5730 return s 5731 } 5732 5733 // SetTargetArn sets the TargetArn field's value. 5734 func (s *GetDeploymentOutput) SetTargetArn(v string) *GetDeploymentOutput { 5735 s.TargetArn = &v 5736 return s 5737 } 5738 5739 // Contains information about a component on a Greengrass core device. 5740 type InstalledComponent struct { 5741 _ struct{} `type:"structure"` 5742 5743 // The name of the component. 5744 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 5745 5746 // The version of the component. 5747 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 5748 5749 // Whether or not the component is a root component. 5750 IsRoot *bool `locationName:"isRoot" type:"boolean"` 5751 5752 // The lifecycle state of the component. 5753 LifecycleState *string `locationName:"lifecycleState" type:"string" enum:"InstalledComponentLifecycleState"` 5754 5755 // The details about the lifecycle state of the component. 5756 LifecycleStateDetails *string `locationName:"lifecycleStateDetails" min:"1" type:"string"` 5757 } 5758 5759 // String returns the string representation. 5760 // 5761 // API parameter values that are decorated as "sensitive" in the API will not 5762 // be included in the string output. The member name will be present, but the 5763 // value will be replaced with "sensitive". 5764 func (s InstalledComponent) String() string { 5765 return awsutil.Prettify(s) 5766 } 5767 5768 // GoString returns the string representation. 5769 // 5770 // API parameter values that are decorated as "sensitive" in the API will not 5771 // be included in the string output. The member name will be present, but the 5772 // value will be replaced with "sensitive". 5773 func (s InstalledComponent) GoString() string { 5774 return s.String() 5775 } 5776 5777 // SetComponentName sets the ComponentName field's value. 5778 func (s *InstalledComponent) SetComponentName(v string) *InstalledComponent { 5779 s.ComponentName = &v 5780 return s 5781 } 5782 5783 // SetComponentVersion sets the ComponentVersion field's value. 5784 func (s *InstalledComponent) SetComponentVersion(v string) *InstalledComponent { 5785 s.ComponentVersion = &v 5786 return s 5787 } 5788 5789 // SetIsRoot sets the IsRoot field's value. 5790 func (s *InstalledComponent) SetIsRoot(v bool) *InstalledComponent { 5791 s.IsRoot = &v 5792 return s 5793 } 5794 5795 // SetLifecycleState sets the LifecycleState field's value. 5796 func (s *InstalledComponent) SetLifecycleState(v string) *InstalledComponent { 5797 s.LifecycleState = &v 5798 return s 5799 } 5800 5801 // SetLifecycleStateDetails sets the LifecycleStateDetails field's value. 5802 func (s *InstalledComponent) SetLifecycleStateDetails(v string) *InstalledComponent { 5803 s.LifecycleStateDetails = &v 5804 return s 5805 } 5806 5807 // IoT Greengrass can't process your request right now. Try again later. 5808 type InternalServerException struct { 5809 _ struct{} `type:"structure"` 5810 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5811 5812 Message_ *string `locationName:"message" type:"string"` 5813 5814 // The amount of time to wait before you retry the request. 5815 RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` 5816 } 5817 5818 // String returns the string representation. 5819 // 5820 // API parameter values that are decorated as "sensitive" in the API will not 5821 // be included in the string output. The member name will be present, but the 5822 // value will be replaced with "sensitive". 5823 func (s InternalServerException) String() string { 5824 return awsutil.Prettify(s) 5825 } 5826 5827 // GoString returns the string representation. 5828 // 5829 // API parameter values that are decorated as "sensitive" in the API will not 5830 // be included in the string output. The member name will be present, but the 5831 // value will be replaced with "sensitive". 5832 func (s InternalServerException) GoString() string { 5833 return s.String() 5834 } 5835 5836 func newErrorInternalServerException(v protocol.ResponseMetadata) error { 5837 return &InternalServerException{ 5838 RespMetadata: v, 5839 } 5840 } 5841 5842 // Code returns the exception type name. 5843 func (s *InternalServerException) Code() string { 5844 return "InternalServerException" 5845 } 5846 5847 // Message returns the exception's message. 5848 func (s *InternalServerException) Message() string { 5849 if s.Message_ != nil { 5850 return *s.Message_ 5851 } 5852 return "" 5853 } 5854 5855 // OrigErr always returns nil, satisfies awserr.Error interface. 5856 func (s *InternalServerException) OrigErr() error { 5857 return nil 5858 } 5859 5860 func (s *InternalServerException) Error() string { 5861 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5862 } 5863 5864 // Status code returns the HTTP status code for the request's response error. 5865 func (s *InternalServerException) StatusCode() int { 5866 return s.RespMetadata.StatusCode 5867 } 5868 5869 // RequestID returns the service's response RequestID for request. 5870 func (s *InternalServerException) RequestID() string { 5871 return s.RespMetadata.RequestID 5872 } 5873 5874 // Contains a list of criteria that define when and how to cancel a configuration 5875 // deployment. 5876 type IoTJobAbortConfig struct { 5877 _ struct{} `type:"structure"` 5878 5879 // The list of criteria that define when and how to cancel the configuration 5880 // deployment. 5881 // 5882 // CriteriaList is a required field 5883 CriteriaList []*IoTJobAbortCriteria `locationName:"criteriaList" min:"1" type:"list" required:"true"` 5884 } 5885 5886 // String returns the string representation. 5887 // 5888 // API parameter values that are decorated as "sensitive" in the API will not 5889 // be included in the string output. The member name will be present, but the 5890 // value will be replaced with "sensitive". 5891 func (s IoTJobAbortConfig) String() string { 5892 return awsutil.Prettify(s) 5893 } 5894 5895 // GoString returns the string representation. 5896 // 5897 // API parameter values that are decorated as "sensitive" in the API will not 5898 // be included in the string output. The member name will be present, but the 5899 // value will be replaced with "sensitive". 5900 func (s IoTJobAbortConfig) GoString() string { 5901 return s.String() 5902 } 5903 5904 // Validate inspects the fields of the type to determine if they are valid. 5905 func (s *IoTJobAbortConfig) Validate() error { 5906 invalidParams := request.ErrInvalidParams{Context: "IoTJobAbortConfig"} 5907 if s.CriteriaList == nil { 5908 invalidParams.Add(request.NewErrParamRequired("CriteriaList")) 5909 } 5910 if s.CriteriaList != nil && len(s.CriteriaList) < 1 { 5911 invalidParams.Add(request.NewErrParamMinLen("CriteriaList", 1)) 5912 } 5913 if s.CriteriaList != nil { 5914 for i, v := range s.CriteriaList { 5915 if v == nil { 5916 continue 5917 } 5918 if err := v.Validate(); err != nil { 5919 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CriteriaList", i), err.(request.ErrInvalidParams)) 5920 } 5921 } 5922 } 5923 5924 if invalidParams.Len() > 0 { 5925 return invalidParams 5926 } 5927 return nil 5928 } 5929 5930 // SetCriteriaList sets the CriteriaList field's value. 5931 func (s *IoTJobAbortConfig) SetCriteriaList(v []*IoTJobAbortCriteria) *IoTJobAbortConfig { 5932 s.CriteriaList = v 5933 return s 5934 } 5935 5936 // Contains criteria that define when and how to cancel a job. 5937 // 5938 // The deployment stops if the following conditions are true: 5939 // 5940 // The number of things that receive the deployment exceeds the minNumberOfExecutedThings. 5941 // 5942 // The percentage of failures with type failureType exceeds the thresholdPercentage. 5943 type IoTJobAbortCriteria struct { 5944 _ struct{} `type:"structure"` 5945 5946 // The action to perform when the criteria are met. 5947 // 5948 // Action is a required field 5949 Action *string `locationName:"action" type:"string" required:"true" enum:"IoTJobAbortAction"` 5950 5951 // The type of job deployment failure that can cancel a job. 5952 // 5953 // FailureType is a required field 5954 FailureType *string `locationName:"failureType" type:"string" required:"true" enum:"IoTJobExecutionFailureType"` 5955 5956 // The minimum number of things that receive the configuration before the job 5957 // can cancel. 5958 // 5959 // MinNumberOfExecutedThings is a required field 5960 MinNumberOfExecutedThings *int64 `locationName:"minNumberOfExecutedThings" min:"1" type:"integer" required:"true"` 5961 5962 // The minimum percentage of failureType failures that occur before the job 5963 // can cancel. 5964 // 5965 // This parameter supports up to two digits after the decimal (for example, 5966 // you can specify 10.9 or 10.99, but not 10.999). 5967 // 5968 // ThresholdPercentage is a required field 5969 ThresholdPercentage *float64 `locationName:"thresholdPercentage" type:"double" required:"true"` 5970 } 5971 5972 // String returns the string representation. 5973 // 5974 // API parameter values that are decorated as "sensitive" in the API will not 5975 // be included in the string output. The member name will be present, but the 5976 // value will be replaced with "sensitive". 5977 func (s IoTJobAbortCriteria) String() string { 5978 return awsutil.Prettify(s) 5979 } 5980 5981 // GoString returns the string representation. 5982 // 5983 // API parameter values that are decorated as "sensitive" in the API will not 5984 // be included in the string output. The member name will be present, but the 5985 // value will be replaced with "sensitive". 5986 func (s IoTJobAbortCriteria) GoString() string { 5987 return s.String() 5988 } 5989 5990 // Validate inspects the fields of the type to determine if they are valid. 5991 func (s *IoTJobAbortCriteria) Validate() error { 5992 invalidParams := request.ErrInvalidParams{Context: "IoTJobAbortCriteria"} 5993 if s.Action == nil { 5994 invalidParams.Add(request.NewErrParamRequired("Action")) 5995 } 5996 if s.FailureType == nil { 5997 invalidParams.Add(request.NewErrParamRequired("FailureType")) 5998 } 5999 if s.MinNumberOfExecutedThings == nil { 6000 invalidParams.Add(request.NewErrParamRequired("MinNumberOfExecutedThings")) 6001 } 6002 if s.MinNumberOfExecutedThings != nil && *s.MinNumberOfExecutedThings < 1 { 6003 invalidParams.Add(request.NewErrParamMinValue("MinNumberOfExecutedThings", 1)) 6004 } 6005 if s.ThresholdPercentage == nil { 6006 invalidParams.Add(request.NewErrParamRequired("ThresholdPercentage")) 6007 } 6008 6009 if invalidParams.Len() > 0 { 6010 return invalidParams 6011 } 6012 return nil 6013 } 6014 6015 // SetAction sets the Action field's value. 6016 func (s *IoTJobAbortCriteria) SetAction(v string) *IoTJobAbortCriteria { 6017 s.Action = &v 6018 return s 6019 } 6020 6021 // SetFailureType sets the FailureType field's value. 6022 func (s *IoTJobAbortCriteria) SetFailureType(v string) *IoTJobAbortCriteria { 6023 s.FailureType = &v 6024 return s 6025 } 6026 6027 // SetMinNumberOfExecutedThings sets the MinNumberOfExecutedThings field's value. 6028 func (s *IoTJobAbortCriteria) SetMinNumberOfExecutedThings(v int64) *IoTJobAbortCriteria { 6029 s.MinNumberOfExecutedThings = &v 6030 return s 6031 } 6032 6033 // SetThresholdPercentage sets the ThresholdPercentage field's value. 6034 func (s *IoTJobAbortCriteria) SetThresholdPercentage(v float64) *IoTJobAbortCriteria { 6035 s.ThresholdPercentage = &v 6036 return s 6037 } 6038 6039 // Contains information about the rollout configuration for a job. This configuration 6040 // defines the rate at which the job deploys a configuration to a fleet of target 6041 // devices. 6042 type IoTJobExecutionsRolloutConfig struct { 6043 _ struct{} `type:"structure"` 6044 6045 // The exponential rate to increase the job rollout rate. 6046 ExponentialRate *IoTJobExponentialRolloutRate `locationName:"exponentialRate" type:"structure"` 6047 6048 // The maximum number of devices that receive a pending job notification, per 6049 // minute. 6050 MaximumPerMinute *int64 `locationName:"maximumPerMinute" min:"1" type:"integer"` 6051 } 6052 6053 // String returns the string representation. 6054 // 6055 // API parameter values that are decorated as "sensitive" in the API will not 6056 // be included in the string output. The member name will be present, but the 6057 // value will be replaced with "sensitive". 6058 func (s IoTJobExecutionsRolloutConfig) String() string { 6059 return awsutil.Prettify(s) 6060 } 6061 6062 // GoString returns the string representation. 6063 // 6064 // API parameter values that are decorated as "sensitive" in the API will not 6065 // be included in the string output. The member name will be present, but the 6066 // value will be replaced with "sensitive". 6067 func (s IoTJobExecutionsRolloutConfig) GoString() string { 6068 return s.String() 6069 } 6070 6071 // Validate inspects the fields of the type to determine if they are valid. 6072 func (s *IoTJobExecutionsRolloutConfig) Validate() error { 6073 invalidParams := request.ErrInvalidParams{Context: "IoTJobExecutionsRolloutConfig"} 6074 if s.MaximumPerMinute != nil && *s.MaximumPerMinute < 1 { 6075 invalidParams.Add(request.NewErrParamMinValue("MaximumPerMinute", 1)) 6076 } 6077 if s.ExponentialRate != nil { 6078 if err := s.ExponentialRate.Validate(); err != nil { 6079 invalidParams.AddNested("ExponentialRate", err.(request.ErrInvalidParams)) 6080 } 6081 } 6082 6083 if invalidParams.Len() > 0 { 6084 return invalidParams 6085 } 6086 return nil 6087 } 6088 6089 // SetExponentialRate sets the ExponentialRate field's value. 6090 func (s *IoTJobExecutionsRolloutConfig) SetExponentialRate(v *IoTJobExponentialRolloutRate) *IoTJobExecutionsRolloutConfig { 6091 s.ExponentialRate = v 6092 return s 6093 } 6094 6095 // SetMaximumPerMinute sets the MaximumPerMinute field's value. 6096 func (s *IoTJobExecutionsRolloutConfig) SetMaximumPerMinute(v int64) *IoTJobExecutionsRolloutConfig { 6097 s.MaximumPerMinute = &v 6098 return s 6099 } 6100 6101 // Contains information about an exponential rollout rate for a configuration 6102 // deployment job. 6103 type IoTJobExponentialRolloutRate struct { 6104 _ struct{} `type:"structure"` 6105 6106 // The minimum number of devices that receive a pending job notification, per 6107 // minute, when the job starts. This parameter defines the initial rollout rate 6108 // of the job. 6109 // 6110 // BaseRatePerMinute is a required field 6111 BaseRatePerMinute *int64 `locationName:"baseRatePerMinute" min:"1" type:"integer" required:"true"` 6112 6113 // The exponential factor to increase the rollout rate for the job. 6114 // 6115 // This parameter supports up to one digit after the decimal (for example, you 6116 // can specify 1.5, but not 1.55). 6117 // 6118 // IncrementFactor is a required field 6119 IncrementFactor *float64 `locationName:"incrementFactor" min:"1" type:"double" required:"true"` 6120 6121 // The criteria to increase the rollout rate for the job. 6122 // 6123 // RateIncreaseCriteria is a required field 6124 RateIncreaseCriteria *IoTJobRateIncreaseCriteria `locationName:"rateIncreaseCriteria" type:"structure" required:"true"` 6125 } 6126 6127 // String returns the string representation. 6128 // 6129 // API parameter values that are decorated as "sensitive" in the API will not 6130 // be included in the string output. The member name will be present, but the 6131 // value will be replaced with "sensitive". 6132 func (s IoTJobExponentialRolloutRate) String() string { 6133 return awsutil.Prettify(s) 6134 } 6135 6136 // GoString returns the string representation. 6137 // 6138 // API parameter values that are decorated as "sensitive" in the API will not 6139 // be included in the string output. The member name will be present, but the 6140 // value will be replaced with "sensitive". 6141 func (s IoTJobExponentialRolloutRate) GoString() string { 6142 return s.String() 6143 } 6144 6145 // Validate inspects the fields of the type to determine if they are valid. 6146 func (s *IoTJobExponentialRolloutRate) Validate() error { 6147 invalidParams := request.ErrInvalidParams{Context: "IoTJobExponentialRolloutRate"} 6148 if s.BaseRatePerMinute == nil { 6149 invalidParams.Add(request.NewErrParamRequired("BaseRatePerMinute")) 6150 } 6151 if s.BaseRatePerMinute != nil && *s.BaseRatePerMinute < 1 { 6152 invalidParams.Add(request.NewErrParamMinValue("BaseRatePerMinute", 1)) 6153 } 6154 if s.IncrementFactor == nil { 6155 invalidParams.Add(request.NewErrParamRequired("IncrementFactor")) 6156 } 6157 if s.IncrementFactor != nil && *s.IncrementFactor < 1 { 6158 invalidParams.Add(request.NewErrParamMinValue("IncrementFactor", 1)) 6159 } 6160 if s.RateIncreaseCriteria == nil { 6161 invalidParams.Add(request.NewErrParamRequired("RateIncreaseCriteria")) 6162 } 6163 if s.RateIncreaseCriteria != nil { 6164 if err := s.RateIncreaseCriteria.Validate(); err != nil { 6165 invalidParams.AddNested("RateIncreaseCriteria", err.(request.ErrInvalidParams)) 6166 } 6167 } 6168 6169 if invalidParams.Len() > 0 { 6170 return invalidParams 6171 } 6172 return nil 6173 } 6174 6175 // SetBaseRatePerMinute sets the BaseRatePerMinute field's value. 6176 func (s *IoTJobExponentialRolloutRate) SetBaseRatePerMinute(v int64) *IoTJobExponentialRolloutRate { 6177 s.BaseRatePerMinute = &v 6178 return s 6179 } 6180 6181 // SetIncrementFactor sets the IncrementFactor field's value. 6182 func (s *IoTJobExponentialRolloutRate) SetIncrementFactor(v float64) *IoTJobExponentialRolloutRate { 6183 s.IncrementFactor = &v 6184 return s 6185 } 6186 6187 // SetRateIncreaseCriteria sets the RateIncreaseCriteria field's value. 6188 func (s *IoTJobExponentialRolloutRate) SetRateIncreaseCriteria(v *IoTJobRateIncreaseCriteria) *IoTJobExponentialRolloutRate { 6189 s.RateIncreaseCriteria = v 6190 return s 6191 } 6192 6193 // Contains information about criteria to meet before a job increases its rollout 6194 // rate. Specify either numberOfNotifiedThings or numberOfSucceededThings. 6195 type IoTJobRateIncreaseCriteria struct { 6196 _ struct{} `type:"structure"` 6197 6198 // The number of devices to receive the job notification before the rollout 6199 // rate increases. 6200 NumberOfNotifiedThings *int64 `locationName:"numberOfNotifiedThings" min:"1" type:"integer"` 6201 6202 // The number of devices to successfully run the configuration job before the 6203 // rollout rate increases. 6204 NumberOfSucceededThings *int64 `locationName:"numberOfSucceededThings" min:"1" type:"integer"` 6205 } 6206 6207 // String returns the string representation. 6208 // 6209 // API parameter values that are decorated as "sensitive" in the API will not 6210 // be included in the string output. The member name will be present, but the 6211 // value will be replaced with "sensitive". 6212 func (s IoTJobRateIncreaseCriteria) String() string { 6213 return awsutil.Prettify(s) 6214 } 6215 6216 // GoString returns the string representation. 6217 // 6218 // API parameter values that are decorated as "sensitive" in the API will not 6219 // be included in the string output. The member name will be present, but the 6220 // value will be replaced with "sensitive". 6221 func (s IoTJobRateIncreaseCriteria) GoString() string { 6222 return s.String() 6223 } 6224 6225 // Validate inspects the fields of the type to determine if they are valid. 6226 func (s *IoTJobRateIncreaseCriteria) Validate() error { 6227 invalidParams := request.ErrInvalidParams{Context: "IoTJobRateIncreaseCriteria"} 6228 if s.NumberOfNotifiedThings != nil && *s.NumberOfNotifiedThings < 1 { 6229 invalidParams.Add(request.NewErrParamMinValue("NumberOfNotifiedThings", 1)) 6230 } 6231 if s.NumberOfSucceededThings != nil && *s.NumberOfSucceededThings < 1 { 6232 invalidParams.Add(request.NewErrParamMinValue("NumberOfSucceededThings", 1)) 6233 } 6234 6235 if invalidParams.Len() > 0 { 6236 return invalidParams 6237 } 6238 return nil 6239 } 6240 6241 // SetNumberOfNotifiedThings sets the NumberOfNotifiedThings field's value. 6242 func (s *IoTJobRateIncreaseCriteria) SetNumberOfNotifiedThings(v int64) *IoTJobRateIncreaseCriteria { 6243 s.NumberOfNotifiedThings = &v 6244 return s 6245 } 6246 6247 // SetNumberOfSucceededThings sets the NumberOfSucceededThings field's value. 6248 func (s *IoTJobRateIncreaseCriteria) SetNumberOfSucceededThings(v int64) *IoTJobRateIncreaseCriteria { 6249 s.NumberOfSucceededThings = &v 6250 return s 6251 } 6252 6253 // Contains information about the timeout configuration for a job. 6254 type IoTJobTimeoutConfig struct { 6255 _ struct{} `type:"structure"` 6256 6257 // The amount of time, in minutes, that devices have to complete the job. The 6258 // timer starts when the job status is set to IN_PROGRESS. If the job status 6259 // doesn't change to a terminal state before the time expires, then the job 6260 // status is set to TIMED_OUT. 6261 // 6262 // The timeout interval must be between 1 minute and 7 days (10080 minutes). 6263 InProgressTimeoutInMinutes *int64 `locationName:"inProgressTimeoutInMinutes" type:"long"` 6264 } 6265 6266 // String returns the string representation. 6267 // 6268 // API parameter values that are decorated as "sensitive" in the API will not 6269 // be included in the string output. The member name will be present, but the 6270 // value will be replaced with "sensitive". 6271 func (s IoTJobTimeoutConfig) String() string { 6272 return awsutil.Prettify(s) 6273 } 6274 6275 // GoString returns the string representation. 6276 // 6277 // API parameter values that are decorated as "sensitive" in the API will not 6278 // be included in the string output. The member name will be present, but the 6279 // value will be replaced with "sensitive". 6280 func (s IoTJobTimeoutConfig) GoString() string { 6281 return s.String() 6282 } 6283 6284 // SetInProgressTimeoutInMinutes sets the InProgressTimeoutInMinutes field's value. 6285 func (s *IoTJobTimeoutConfig) SetInProgressTimeoutInMinutes(v int64) *IoTJobTimeoutConfig { 6286 s.InProgressTimeoutInMinutes = &v 6287 return s 6288 } 6289 6290 // Contains information about a container in which Lambda functions run on Greengrass 6291 // core devices. 6292 type LambdaContainerParams struct { 6293 _ struct{} `type:"structure"` 6294 6295 // The list of system devices that the container can access. 6296 Devices []*LambdaDeviceMount `locationName:"devices" type:"list"` 6297 6298 // The memory size of the container, expressed in kilobytes. 6299 // 6300 // Default: 16384 (16 MB) 6301 MemorySizeInKB *int64 `locationName:"memorySizeInKB" type:"integer"` 6302 6303 // Whether or not the container can read information from the device's /sys 6304 // folder. 6305 // 6306 // Default: false 6307 MountROSysfs *bool `locationName:"mountROSysfs" type:"boolean"` 6308 6309 // The list of volumes that the container can access. 6310 Volumes []*LambdaVolumeMount `locationName:"volumes" type:"list"` 6311 } 6312 6313 // String returns the string representation. 6314 // 6315 // API parameter values that are decorated as "sensitive" in the API will not 6316 // be included in the string output. The member name will be present, but the 6317 // value will be replaced with "sensitive". 6318 func (s LambdaContainerParams) String() string { 6319 return awsutil.Prettify(s) 6320 } 6321 6322 // GoString returns the string representation. 6323 // 6324 // API parameter values that are decorated as "sensitive" in the API will not 6325 // be included in the string output. The member name will be present, but the 6326 // value will be replaced with "sensitive". 6327 func (s LambdaContainerParams) GoString() string { 6328 return s.String() 6329 } 6330 6331 // Validate inspects the fields of the type to determine if they are valid. 6332 func (s *LambdaContainerParams) Validate() error { 6333 invalidParams := request.ErrInvalidParams{Context: "LambdaContainerParams"} 6334 if s.Devices != nil { 6335 for i, v := range s.Devices { 6336 if v == nil { 6337 continue 6338 } 6339 if err := v.Validate(); err != nil { 6340 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 6341 } 6342 } 6343 } 6344 if s.Volumes != nil { 6345 for i, v := range s.Volumes { 6346 if v == nil { 6347 continue 6348 } 6349 if err := v.Validate(); err != nil { 6350 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 6351 } 6352 } 6353 } 6354 6355 if invalidParams.Len() > 0 { 6356 return invalidParams 6357 } 6358 return nil 6359 } 6360 6361 // SetDevices sets the Devices field's value. 6362 func (s *LambdaContainerParams) SetDevices(v []*LambdaDeviceMount) *LambdaContainerParams { 6363 s.Devices = v 6364 return s 6365 } 6366 6367 // SetMemorySizeInKB sets the MemorySizeInKB field's value. 6368 func (s *LambdaContainerParams) SetMemorySizeInKB(v int64) *LambdaContainerParams { 6369 s.MemorySizeInKB = &v 6370 return s 6371 } 6372 6373 // SetMountROSysfs sets the MountROSysfs field's value. 6374 func (s *LambdaContainerParams) SetMountROSysfs(v bool) *LambdaContainerParams { 6375 s.MountROSysfs = &v 6376 return s 6377 } 6378 6379 // SetVolumes sets the Volumes field's value. 6380 func (s *LambdaContainerParams) SetVolumes(v []*LambdaVolumeMount) *LambdaContainerParams { 6381 s.Volumes = v 6382 return s 6383 } 6384 6385 // Contains information about a device that Linux processes in a container can 6386 // access. 6387 type LambdaDeviceMount struct { 6388 _ struct{} `type:"structure"` 6389 6390 // Whether or not to add the component's system user as an owner of the device. 6391 // 6392 // Default: false 6393 AddGroupOwner *bool `locationName:"addGroupOwner" type:"boolean"` 6394 6395 // The mount path for the device in the file system. 6396 // 6397 // Path is a required field 6398 Path *string `locationName:"path" type:"string" required:"true"` 6399 6400 // The permission to access the device: read/only (ro) or read/write (rw). 6401 // 6402 // Default: ro 6403 Permission *string `locationName:"permission" type:"string" enum:"LambdaFilesystemPermission"` 6404 } 6405 6406 // String returns the string representation. 6407 // 6408 // API parameter values that are decorated as "sensitive" in the API will not 6409 // be included in the string output. The member name will be present, but the 6410 // value will be replaced with "sensitive". 6411 func (s LambdaDeviceMount) String() string { 6412 return awsutil.Prettify(s) 6413 } 6414 6415 // GoString returns the string representation. 6416 // 6417 // API parameter values that are decorated as "sensitive" in the API will not 6418 // be included in the string output. The member name will be present, but the 6419 // value will be replaced with "sensitive". 6420 func (s LambdaDeviceMount) GoString() string { 6421 return s.String() 6422 } 6423 6424 // Validate inspects the fields of the type to determine if they are valid. 6425 func (s *LambdaDeviceMount) Validate() error { 6426 invalidParams := request.ErrInvalidParams{Context: "LambdaDeviceMount"} 6427 if s.Path == nil { 6428 invalidParams.Add(request.NewErrParamRequired("Path")) 6429 } 6430 6431 if invalidParams.Len() > 0 { 6432 return invalidParams 6433 } 6434 return nil 6435 } 6436 6437 // SetAddGroupOwner sets the AddGroupOwner field's value. 6438 func (s *LambdaDeviceMount) SetAddGroupOwner(v bool) *LambdaDeviceMount { 6439 s.AddGroupOwner = &v 6440 return s 6441 } 6442 6443 // SetPath sets the Path field's value. 6444 func (s *LambdaDeviceMount) SetPath(v string) *LambdaDeviceMount { 6445 s.Path = &v 6446 return s 6447 } 6448 6449 // SetPermission sets the Permission field's value. 6450 func (s *LambdaDeviceMount) SetPermission(v string) *LambdaDeviceMount { 6451 s.Permission = &v 6452 return s 6453 } 6454 6455 // Contains information about an event source for an Lambda function. The event 6456 // source defines the topics on which this Lambda function subscribes to receive 6457 // messages that run the function. 6458 type LambdaEventSource struct { 6459 _ struct{} `type:"structure"` 6460 6461 // The topic to which to subscribe to receive event messages. 6462 // 6463 // Topic is a required field 6464 Topic *string `locationName:"topic" type:"string" required:"true"` 6465 6466 // The type of event source. Choose from the following options: 6467 // 6468 // * PUB_SUB – Subscribe to local publish/subscribe messages. This event 6469 // source type doesn't support MQTT wildcards (+ and #) in the event source 6470 // topic. 6471 // 6472 // * IOT_CORE – Subscribe to Amazon Web Services IoT Core MQTT messages. 6473 // This event source type supports MQTT wildcards (+ and #) in the event 6474 // source topic. 6475 // 6476 // Type is a required field 6477 Type *string `locationName:"type" type:"string" required:"true" enum:"LambdaEventSourceType"` 6478 } 6479 6480 // String returns the string representation. 6481 // 6482 // API parameter values that are decorated as "sensitive" in the API will not 6483 // be included in the string output. The member name will be present, but the 6484 // value will be replaced with "sensitive". 6485 func (s LambdaEventSource) String() string { 6486 return awsutil.Prettify(s) 6487 } 6488 6489 // GoString returns the string representation. 6490 // 6491 // API parameter values that are decorated as "sensitive" in the API will not 6492 // be included in the string output. The member name will be present, but the 6493 // value will be replaced with "sensitive". 6494 func (s LambdaEventSource) GoString() string { 6495 return s.String() 6496 } 6497 6498 // Validate inspects the fields of the type to determine if they are valid. 6499 func (s *LambdaEventSource) Validate() error { 6500 invalidParams := request.ErrInvalidParams{Context: "LambdaEventSource"} 6501 if s.Topic == nil { 6502 invalidParams.Add(request.NewErrParamRequired("Topic")) 6503 } 6504 if s.Type == nil { 6505 invalidParams.Add(request.NewErrParamRequired("Type")) 6506 } 6507 6508 if invalidParams.Len() > 0 { 6509 return invalidParams 6510 } 6511 return nil 6512 } 6513 6514 // SetTopic sets the Topic field's value. 6515 func (s *LambdaEventSource) SetTopic(v string) *LambdaEventSource { 6516 s.Topic = &v 6517 return s 6518 } 6519 6520 // SetType sets the Type field's value. 6521 func (s *LambdaEventSource) SetType(v string) *LambdaEventSource { 6522 s.Type = &v 6523 return s 6524 } 6525 6526 // Contains parameters for a Lambda function that runs on IoT Greengrass. 6527 type LambdaExecutionParameters struct { 6528 _ struct{} `type:"structure"` 6529 6530 // The map of environment variables that are available to the Lambda function 6531 // when it runs. 6532 EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` 6533 6534 // The list of event sources to which to subscribe to receive work messages. 6535 // The Lambda function runs when it receives a message from an event source. 6536 // You can subscribe this function to local publish/subscribe messages and Amazon 6537 // Web Services IoT Core MQTT messages. 6538 EventSources []*LambdaEventSource `locationName:"eventSources" type:"list"` 6539 6540 // The list of arguments to pass to the Lambda function when it runs. 6541 ExecArgs []*string `locationName:"execArgs" type:"list"` 6542 6543 // The encoding type that the Lambda function supports. 6544 // 6545 // Default: json 6546 InputPayloadEncodingType *string `locationName:"inputPayloadEncodingType" type:"string" enum:"LambdaInputPayloadEncodingType"` 6547 6548 // The parameters for the Linux process that contains the Lambda function. 6549 LinuxProcessParams *LambdaLinuxProcessParams `locationName:"linuxProcessParams" type:"structure"` 6550 6551 // The maximum amount of time in seconds that a non-pinned Lambda function can 6552 // idle before the IoT Greengrass Core software stops its process. 6553 MaxIdleTimeInSeconds *int64 `locationName:"maxIdleTimeInSeconds" type:"integer"` 6554 6555 // The maximum number of instances that a non-pinned Lambda function can run 6556 // at the same time. 6557 MaxInstancesCount *int64 `locationName:"maxInstancesCount" type:"integer"` 6558 6559 // The maximum size of the message queue for the Lambda function component. 6560 // The IoT Greengrass core stores messages in a FIFO (first-in-first-out) queue 6561 // until it can run the Lambda function to consume each message. 6562 MaxQueueSize *int64 `locationName:"maxQueueSize" type:"integer"` 6563 6564 // Whether or not the Lambda function is pinned, or long-lived. 6565 // 6566 // * A pinned Lambda function starts when IoT Greengrass starts and keeps 6567 // running in its own container. 6568 // 6569 // * A non-pinned Lambda function starts only when it receives a work item 6570 // and exists after it idles for maxIdleTimeInSeconds. If the function has 6571 // multiple work items, the IoT Greengrass Core software creates multiple 6572 // instances of the function. 6573 // 6574 // Default: true 6575 Pinned *bool `locationName:"pinned" type:"boolean"` 6576 6577 // The interval in seconds at which a pinned (also known as long-lived) Lambda 6578 // function component sends status updates to the Lambda manager component. 6579 StatusTimeoutInSeconds *int64 `locationName:"statusTimeoutInSeconds" type:"integer"` 6580 6581 // The maximum amount of time in seconds that the Lambda function can process 6582 // a work item. 6583 TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` 6584 } 6585 6586 // String returns the string representation. 6587 // 6588 // API parameter values that are decorated as "sensitive" in the API will not 6589 // be included in the string output. The member name will be present, but the 6590 // value will be replaced with "sensitive". 6591 func (s LambdaExecutionParameters) String() string { 6592 return awsutil.Prettify(s) 6593 } 6594 6595 // GoString returns the string representation. 6596 // 6597 // API parameter values that are decorated as "sensitive" in the API will not 6598 // be included in the string output. The member name will be present, but the 6599 // value will be replaced with "sensitive". 6600 func (s LambdaExecutionParameters) GoString() string { 6601 return s.String() 6602 } 6603 6604 // Validate inspects the fields of the type to determine if they are valid. 6605 func (s *LambdaExecutionParameters) Validate() error { 6606 invalidParams := request.ErrInvalidParams{Context: "LambdaExecutionParameters"} 6607 if s.EventSources != nil { 6608 for i, v := range s.EventSources { 6609 if v == nil { 6610 continue 6611 } 6612 if err := v.Validate(); err != nil { 6613 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EventSources", i), err.(request.ErrInvalidParams)) 6614 } 6615 } 6616 } 6617 if s.LinuxProcessParams != nil { 6618 if err := s.LinuxProcessParams.Validate(); err != nil { 6619 invalidParams.AddNested("LinuxProcessParams", err.(request.ErrInvalidParams)) 6620 } 6621 } 6622 6623 if invalidParams.Len() > 0 { 6624 return invalidParams 6625 } 6626 return nil 6627 } 6628 6629 // SetEnvironmentVariables sets the EnvironmentVariables field's value. 6630 func (s *LambdaExecutionParameters) SetEnvironmentVariables(v map[string]*string) *LambdaExecutionParameters { 6631 s.EnvironmentVariables = v 6632 return s 6633 } 6634 6635 // SetEventSources sets the EventSources field's value. 6636 func (s *LambdaExecutionParameters) SetEventSources(v []*LambdaEventSource) *LambdaExecutionParameters { 6637 s.EventSources = v 6638 return s 6639 } 6640 6641 // SetExecArgs sets the ExecArgs field's value. 6642 func (s *LambdaExecutionParameters) SetExecArgs(v []*string) *LambdaExecutionParameters { 6643 s.ExecArgs = v 6644 return s 6645 } 6646 6647 // SetInputPayloadEncodingType sets the InputPayloadEncodingType field's value. 6648 func (s *LambdaExecutionParameters) SetInputPayloadEncodingType(v string) *LambdaExecutionParameters { 6649 s.InputPayloadEncodingType = &v 6650 return s 6651 } 6652 6653 // SetLinuxProcessParams sets the LinuxProcessParams field's value. 6654 func (s *LambdaExecutionParameters) SetLinuxProcessParams(v *LambdaLinuxProcessParams) *LambdaExecutionParameters { 6655 s.LinuxProcessParams = v 6656 return s 6657 } 6658 6659 // SetMaxIdleTimeInSeconds sets the MaxIdleTimeInSeconds field's value. 6660 func (s *LambdaExecutionParameters) SetMaxIdleTimeInSeconds(v int64) *LambdaExecutionParameters { 6661 s.MaxIdleTimeInSeconds = &v 6662 return s 6663 } 6664 6665 // SetMaxInstancesCount sets the MaxInstancesCount field's value. 6666 func (s *LambdaExecutionParameters) SetMaxInstancesCount(v int64) *LambdaExecutionParameters { 6667 s.MaxInstancesCount = &v 6668 return s 6669 } 6670 6671 // SetMaxQueueSize sets the MaxQueueSize field's value. 6672 func (s *LambdaExecutionParameters) SetMaxQueueSize(v int64) *LambdaExecutionParameters { 6673 s.MaxQueueSize = &v 6674 return s 6675 } 6676 6677 // SetPinned sets the Pinned field's value. 6678 func (s *LambdaExecutionParameters) SetPinned(v bool) *LambdaExecutionParameters { 6679 s.Pinned = &v 6680 return s 6681 } 6682 6683 // SetStatusTimeoutInSeconds sets the StatusTimeoutInSeconds field's value. 6684 func (s *LambdaExecutionParameters) SetStatusTimeoutInSeconds(v int64) *LambdaExecutionParameters { 6685 s.StatusTimeoutInSeconds = &v 6686 return s 6687 } 6688 6689 // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. 6690 func (s *LambdaExecutionParameters) SetTimeoutInSeconds(v int64) *LambdaExecutionParameters { 6691 s.TimeoutInSeconds = &v 6692 return s 6693 } 6694 6695 // Contains information about an Lambda function to import to create a component. 6696 type LambdaFunctionRecipeSource struct { 6697 _ struct{} `type:"structure"` 6698 6699 // The component versions on which this Lambda function component depends. 6700 ComponentDependencies map[string]*ComponentDependencyRequirement `locationName:"componentDependencies" type:"map"` 6701 6702 // The system and runtime parameters for the Lambda function as it runs on the 6703 // Greengrass core device. 6704 ComponentLambdaParameters *LambdaExecutionParameters `locationName:"componentLambdaParameters" type:"structure"` 6705 6706 // The name of the component. 6707 // 6708 // Defaults to the name of the Lambda function. 6709 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 6710 6711 // The platforms that the component version supports. 6712 ComponentPlatforms []*ComponentPlatform `locationName:"componentPlatforms" type:"list"` 6713 6714 // The version of the component. 6715 // 6716 // Defaults to the version of the Lambda function as a semantic version. For 6717 // example, if your function version is 3, the component version becomes 3.0.0. 6718 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 6719 6720 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 6721 // of the Lambda function. The ARN must include the version of the function 6722 // to import. You can't use version aliases like $LATEST. 6723 // 6724 // LambdaArn is a required field 6725 LambdaArn *string `locationName:"lambdaArn" type:"string" required:"true"` 6726 } 6727 6728 // String returns the string representation. 6729 // 6730 // API parameter values that are decorated as "sensitive" in the API will not 6731 // be included in the string output. The member name will be present, but the 6732 // value will be replaced with "sensitive". 6733 func (s LambdaFunctionRecipeSource) String() string { 6734 return awsutil.Prettify(s) 6735 } 6736 6737 // GoString returns the string representation. 6738 // 6739 // API parameter values that are decorated as "sensitive" in the API will not 6740 // be included in the string output. The member name will be present, but the 6741 // value will be replaced with "sensitive". 6742 func (s LambdaFunctionRecipeSource) GoString() string { 6743 return s.String() 6744 } 6745 6746 // Validate inspects the fields of the type to determine if they are valid. 6747 func (s *LambdaFunctionRecipeSource) Validate() error { 6748 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionRecipeSource"} 6749 if s.ComponentName != nil && len(*s.ComponentName) < 1 { 6750 invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) 6751 } 6752 if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { 6753 invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) 6754 } 6755 if s.LambdaArn == nil { 6756 invalidParams.Add(request.NewErrParamRequired("LambdaArn")) 6757 } 6758 if s.ComponentDependencies != nil { 6759 for i, v := range s.ComponentDependencies { 6760 if v == nil { 6761 continue 6762 } 6763 if err := v.Validate(); err != nil { 6764 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentDependencies", i), err.(request.ErrInvalidParams)) 6765 } 6766 } 6767 } 6768 if s.ComponentLambdaParameters != nil { 6769 if err := s.ComponentLambdaParameters.Validate(); err != nil { 6770 invalidParams.AddNested("ComponentLambdaParameters", err.(request.ErrInvalidParams)) 6771 } 6772 } 6773 if s.ComponentPlatforms != nil { 6774 for i, v := range s.ComponentPlatforms { 6775 if v == nil { 6776 continue 6777 } 6778 if err := v.Validate(); err != nil { 6779 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentPlatforms", i), err.(request.ErrInvalidParams)) 6780 } 6781 } 6782 } 6783 6784 if invalidParams.Len() > 0 { 6785 return invalidParams 6786 } 6787 return nil 6788 } 6789 6790 // SetComponentDependencies sets the ComponentDependencies field's value. 6791 func (s *LambdaFunctionRecipeSource) SetComponentDependencies(v map[string]*ComponentDependencyRequirement) *LambdaFunctionRecipeSource { 6792 s.ComponentDependencies = v 6793 return s 6794 } 6795 6796 // SetComponentLambdaParameters sets the ComponentLambdaParameters field's value. 6797 func (s *LambdaFunctionRecipeSource) SetComponentLambdaParameters(v *LambdaExecutionParameters) *LambdaFunctionRecipeSource { 6798 s.ComponentLambdaParameters = v 6799 return s 6800 } 6801 6802 // SetComponentName sets the ComponentName field's value. 6803 func (s *LambdaFunctionRecipeSource) SetComponentName(v string) *LambdaFunctionRecipeSource { 6804 s.ComponentName = &v 6805 return s 6806 } 6807 6808 // SetComponentPlatforms sets the ComponentPlatforms field's value. 6809 func (s *LambdaFunctionRecipeSource) SetComponentPlatforms(v []*ComponentPlatform) *LambdaFunctionRecipeSource { 6810 s.ComponentPlatforms = v 6811 return s 6812 } 6813 6814 // SetComponentVersion sets the ComponentVersion field's value. 6815 func (s *LambdaFunctionRecipeSource) SetComponentVersion(v string) *LambdaFunctionRecipeSource { 6816 s.ComponentVersion = &v 6817 return s 6818 } 6819 6820 // SetLambdaArn sets the LambdaArn field's value. 6821 func (s *LambdaFunctionRecipeSource) SetLambdaArn(v string) *LambdaFunctionRecipeSource { 6822 s.LambdaArn = &v 6823 return s 6824 } 6825 6826 // Contains parameters for a Linux process that contains an Lambda function. 6827 type LambdaLinuxProcessParams struct { 6828 _ struct{} `type:"structure"` 6829 6830 // The parameters for the container in which the Lambda function runs. 6831 ContainerParams *LambdaContainerParams `locationName:"containerParams" type:"structure"` 6832 6833 // The isolation mode for the process that contains the Lambda function. The 6834 // process can run in an isolated runtime environment inside the IoT Greengrass 6835 // container, or as a regular process outside any container. 6836 // 6837 // Default: GreengrassContainer 6838 IsolationMode *string `locationName:"isolationMode" type:"string" enum:"LambdaIsolationMode"` 6839 } 6840 6841 // String returns the string representation. 6842 // 6843 // API parameter values that are decorated as "sensitive" in the API will not 6844 // be included in the string output. The member name will be present, but the 6845 // value will be replaced with "sensitive". 6846 func (s LambdaLinuxProcessParams) String() string { 6847 return awsutil.Prettify(s) 6848 } 6849 6850 // GoString returns the string representation. 6851 // 6852 // API parameter values that are decorated as "sensitive" in the API will not 6853 // be included in the string output. The member name will be present, but the 6854 // value will be replaced with "sensitive". 6855 func (s LambdaLinuxProcessParams) GoString() string { 6856 return s.String() 6857 } 6858 6859 // Validate inspects the fields of the type to determine if they are valid. 6860 func (s *LambdaLinuxProcessParams) Validate() error { 6861 invalidParams := request.ErrInvalidParams{Context: "LambdaLinuxProcessParams"} 6862 if s.ContainerParams != nil { 6863 if err := s.ContainerParams.Validate(); err != nil { 6864 invalidParams.AddNested("ContainerParams", err.(request.ErrInvalidParams)) 6865 } 6866 } 6867 6868 if invalidParams.Len() > 0 { 6869 return invalidParams 6870 } 6871 return nil 6872 } 6873 6874 // SetContainerParams sets the ContainerParams field's value. 6875 func (s *LambdaLinuxProcessParams) SetContainerParams(v *LambdaContainerParams) *LambdaLinuxProcessParams { 6876 s.ContainerParams = v 6877 return s 6878 } 6879 6880 // SetIsolationMode sets the IsolationMode field's value. 6881 func (s *LambdaLinuxProcessParams) SetIsolationMode(v string) *LambdaLinuxProcessParams { 6882 s.IsolationMode = &v 6883 return s 6884 } 6885 6886 // Contains information about a volume that Linux processes in a container can 6887 // access. When you define a volume, the IoT Greengrass Core software mounts 6888 // the source files to the destination inside the container. 6889 type LambdaVolumeMount struct { 6890 _ struct{} `type:"structure"` 6891 6892 // Whether or not to add the IoT Greengrass user group as an owner of the volume. 6893 // 6894 // Default: false 6895 AddGroupOwner *bool `locationName:"addGroupOwner" type:"boolean"` 6896 6897 // The path to the logical volume in the file system. 6898 // 6899 // DestinationPath is a required field 6900 DestinationPath *string `locationName:"destinationPath" type:"string" required:"true"` 6901 6902 // The permission to access the volume: read/only (ro) or read/write (rw). 6903 // 6904 // Default: ro 6905 Permission *string `locationName:"permission" type:"string" enum:"LambdaFilesystemPermission"` 6906 6907 // The path to the physical volume in the file system. 6908 // 6909 // SourcePath is a required field 6910 SourcePath *string `locationName:"sourcePath" type:"string" required:"true"` 6911 } 6912 6913 // String returns the string representation. 6914 // 6915 // API parameter values that are decorated as "sensitive" in the API will not 6916 // be included in the string output. The member name will be present, but the 6917 // value will be replaced with "sensitive". 6918 func (s LambdaVolumeMount) String() string { 6919 return awsutil.Prettify(s) 6920 } 6921 6922 // GoString returns the string representation. 6923 // 6924 // API parameter values that are decorated as "sensitive" in the API will not 6925 // be included in the string output. The member name will be present, but the 6926 // value will be replaced with "sensitive". 6927 func (s LambdaVolumeMount) GoString() string { 6928 return s.String() 6929 } 6930 6931 // Validate inspects the fields of the type to determine if they are valid. 6932 func (s *LambdaVolumeMount) Validate() error { 6933 invalidParams := request.ErrInvalidParams{Context: "LambdaVolumeMount"} 6934 if s.DestinationPath == nil { 6935 invalidParams.Add(request.NewErrParamRequired("DestinationPath")) 6936 } 6937 if s.SourcePath == nil { 6938 invalidParams.Add(request.NewErrParamRequired("SourcePath")) 6939 } 6940 6941 if invalidParams.Len() > 0 { 6942 return invalidParams 6943 } 6944 return nil 6945 } 6946 6947 // SetAddGroupOwner sets the AddGroupOwner field's value. 6948 func (s *LambdaVolumeMount) SetAddGroupOwner(v bool) *LambdaVolumeMount { 6949 s.AddGroupOwner = &v 6950 return s 6951 } 6952 6953 // SetDestinationPath sets the DestinationPath field's value. 6954 func (s *LambdaVolumeMount) SetDestinationPath(v string) *LambdaVolumeMount { 6955 s.DestinationPath = &v 6956 return s 6957 } 6958 6959 // SetPermission sets the Permission field's value. 6960 func (s *LambdaVolumeMount) SetPermission(v string) *LambdaVolumeMount { 6961 s.Permission = &v 6962 return s 6963 } 6964 6965 // SetSourcePath sets the SourcePath field's value. 6966 func (s *LambdaVolumeMount) SetSourcePath(v string) *LambdaVolumeMount { 6967 s.SourcePath = &v 6968 return s 6969 } 6970 6971 type ListClientDevicesAssociatedWithCoreDeviceInput struct { 6972 _ struct{} `type:"structure" nopayload:"true"` 6973 6974 // The name of the core device. This is also the name of the IoT thing. 6975 // 6976 // CoreDeviceThingName is a required field 6977 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 6978 6979 // The maximum number of results to be returned per paginated request. 6980 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 6981 6982 // The token to be used for the next set of paginated results. 6983 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6984 } 6985 6986 // String returns the string representation. 6987 // 6988 // API parameter values that are decorated as "sensitive" in the API will not 6989 // be included in the string output. The member name will be present, but the 6990 // value will be replaced with "sensitive". 6991 func (s ListClientDevicesAssociatedWithCoreDeviceInput) String() string { 6992 return awsutil.Prettify(s) 6993 } 6994 6995 // GoString returns the string representation. 6996 // 6997 // API parameter values that are decorated as "sensitive" in the API will not 6998 // be included in the string output. The member name will be present, but the 6999 // value will be replaced with "sensitive". 7000 func (s ListClientDevicesAssociatedWithCoreDeviceInput) GoString() string { 7001 return s.String() 7002 } 7003 7004 // Validate inspects the fields of the type to determine if they are valid. 7005 func (s *ListClientDevicesAssociatedWithCoreDeviceInput) Validate() error { 7006 invalidParams := request.ErrInvalidParams{Context: "ListClientDevicesAssociatedWithCoreDeviceInput"} 7007 if s.CoreDeviceThingName == nil { 7008 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 7009 } 7010 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 7011 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 7012 } 7013 if s.MaxResults != nil && *s.MaxResults < 1 { 7014 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7015 } 7016 7017 if invalidParams.Len() > 0 { 7018 return invalidParams 7019 } 7020 return nil 7021 } 7022 7023 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 7024 func (s *ListClientDevicesAssociatedWithCoreDeviceInput) SetCoreDeviceThingName(v string) *ListClientDevicesAssociatedWithCoreDeviceInput { 7025 s.CoreDeviceThingName = &v 7026 return s 7027 } 7028 7029 // SetMaxResults sets the MaxResults field's value. 7030 func (s *ListClientDevicesAssociatedWithCoreDeviceInput) SetMaxResults(v int64) *ListClientDevicesAssociatedWithCoreDeviceInput { 7031 s.MaxResults = &v 7032 return s 7033 } 7034 7035 // SetNextToken sets the NextToken field's value. 7036 func (s *ListClientDevicesAssociatedWithCoreDeviceInput) SetNextToken(v string) *ListClientDevicesAssociatedWithCoreDeviceInput { 7037 s.NextToken = &v 7038 return s 7039 } 7040 7041 type ListClientDevicesAssociatedWithCoreDeviceOutput struct { 7042 _ struct{} `type:"structure"` 7043 7044 // A list that describes the client devices that are associated with the core 7045 // device. 7046 AssociatedClientDevices []*AssociatedClientDevice `locationName:"associatedClientDevices" min:"1" type:"list"` 7047 7048 // The token for the next set of results, or null if there are no additional 7049 // results. 7050 NextToken *string `locationName:"nextToken" type:"string"` 7051 } 7052 7053 // String returns the string representation. 7054 // 7055 // API parameter values that are decorated as "sensitive" in the API will not 7056 // be included in the string output. The member name will be present, but the 7057 // value will be replaced with "sensitive". 7058 func (s ListClientDevicesAssociatedWithCoreDeviceOutput) String() string { 7059 return awsutil.Prettify(s) 7060 } 7061 7062 // GoString returns the string representation. 7063 // 7064 // API parameter values that are decorated as "sensitive" in the API will not 7065 // be included in the string output. The member name will be present, but the 7066 // value will be replaced with "sensitive". 7067 func (s ListClientDevicesAssociatedWithCoreDeviceOutput) GoString() string { 7068 return s.String() 7069 } 7070 7071 // SetAssociatedClientDevices sets the AssociatedClientDevices field's value. 7072 func (s *ListClientDevicesAssociatedWithCoreDeviceOutput) SetAssociatedClientDevices(v []*AssociatedClientDevice) *ListClientDevicesAssociatedWithCoreDeviceOutput { 7073 s.AssociatedClientDevices = v 7074 return s 7075 } 7076 7077 // SetNextToken sets the NextToken field's value. 7078 func (s *ListClientDevicesAssociatedWithCoreDeviceOutput) SetNextToken(v string) *ListClientDevicesAssociatedWithCoreDeviceOutput { 7079 s.NextToken = &v 7080 return s 7081 } 7082 7083 type ListComponentVersionsInput struct { 7084 _ struct{} `type:"structure" nopayload:"true"` 7085 7086 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 7087 // of the component version. 7088 // 7089 // Arn is a required field 7090 Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` 7091 7092 // The maximum number of results to be returned per paginated request. 7093 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7094 7095 // The token to be used for the next set of paginated results. 7096 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7097 } 7098 7099 // String returns the string representation. 7100 // 7101 // API parameter values that are decorated as "sensitive" in the API will not 7102 // be included in the string output. The member name will be present, but the 7103 // value will be replaced with "sensitive". 7104 func (s ListComponentVersionsInput) String() string { 7105 return awsutil.Prettify(s) 7106 } 7107 7108 // GoString returns the string representation. 7109 // 7110 // API parameter values that are decorated as "sensitive" in the API will not 7111 // be included in the string output. The member name will be present, but the 7112 // value will be replaced with "sensitive". 7113 func (s ListComponentVersionsInput) GoString() string { 7114 return s.String() 7115 } 7116 7117 // Validate inspects the fields of the type to determine if they are valid. 7118 func (s *ListComponentVersionsInput) Validate() error { 7119 invalidParams := request.ErrInvalidParams{Context: "ListComponentVersionsInput"} 7120 if s.Arn == nil { 7121 invalidParams.Add(request.NewErrParamRequired("Arn")) 7122 } 7123 if s.Arn != nil && len(*s.Arn) < 1 { 7124 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 7125 } 7126 if s.MaxResults != nil && *s.MaxResults < 1 { 7127 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7128 } 7129 7130 if invalidParams.Len() > 0 { 7131 return invalidParams 7132 } 7133 return nil 7134 } 7135 7136 // SetArn sets the Arn field's value. 7137 func (s *ListComponentVersionsInput) SetArn(v string) *ListComponentVersionsInput { 7138 s.Arn = &v 7139 return s 7140 } 7141 7142 // SetMaxResults sets the MaxResults field's value. 7143 func (s *ListComponentVersionsInput) SetMaxResults(v int64) *ListComponentVersionsInput { 7144 s.MaxResults = &v 7145 return s 7146 } 7147 7148 // SetNextToken sets the NextToken field's value. 7149 func (s *ListComponentVersionsInput) SetNextToken(v string) *ListComponentVersionsInput { 7150 s.NextToken = &v 7151 return s 7152 } 7153 7154 type ListComponentVersionsOutput struct { 7155 _ struct{} `type:"structure"` 7156 7157 // A list of versions that exist for the component. 7158 ComponentVersions []*ComponentVersionListItem `locationName:"componentVersions" type:"list"` 7159 7160 // The token for the next set of results, or null if there are no additional 7161 // results. 7162 NextToken *string `locationName:"nextToken" type:"string"` 7163 } 7164 7165 // String returns the string representation. 7166 // 7167 // API parameter values that are decorated as "sensitive" in the API will not 7168 // be included in the string output. The member name will be present, but the 7169 // value will be replaced with "sensitive". 7170 func (s ListComponentVersionsOutput) String() string { 7171 return awsutil.Prettify(s) 7172 } 7173 7174 // GoString returns the string representation. 7175 // 7176 // API parameter values that are decorated as "sensitive" in the API will not 7177 // be included in the string output. The member name will be present, but the 7178 // value will be replaced with "sensitive". 7179 func (s ListComponentVersionsOutput) GoString() string { 7180 return s.String() 7181 } 7182 7183 // SetComponentVersions sets the ComponentVersions field's value. 7184 func (s *ListComponentVersionsOutput) SetComponentVersions(v []*ComponentVersionListItem) *ListComponentVersionsOutput { 7185 s.ComponentVersions = v 7186 return s 7187 } 7188 7189 // SetNextToken sets the NextToken field's value. 7190 func (s *ListComponentVersionsOutput) SetNextToken(v string) *ListComponentVersionsOutput { 7191 s.NextToken = &v 7192 return s 7193 } 7194 7195 type ListComponentsInput struct { 7196 _ struct{} `type:"structure" nopayload:"true"` 7197 7198 // The maximum number of results to be returned per paginated request. 7199 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7200 7201 // The token to be used for the next set of paginated results. 7202 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7203 7204 // The scope of the components to list. 7205 // 7206 // Default: PRIVATE 7207 Scope *string `location:"querystring" locationName:"scope" type:"string" enum:"ComponentVisibilityScope"` 7208 } 7209 7210 // String returns the string representation. 7211 // 7212 // API parameter values that are decorated as "sensitive" in the API will not 7213 // be included in the string output. The member name will be present, but the 7214 // value will be replaced with "sensitive". 7215 func (s ListComponentsInput) String() string { 7216 return awsutil.Prettify(s) 7217 } 7218 7219 // GoString returns the string representation. 7220 // 7221 // API parameter values that are decorated as "sensitive" in the API will not 7222 // be included in the string output. The member name will be present, but the 7223 // value will be replaced with "sensitive". 7224 func (s ListComponentsInput) GoString() string { 7225 return s.String() 7226 } 7227 7228 // Validate inspects the fields of the type to determine if they are valid. 7229 func (s *ListComponentsInput) Validate() error { 7230 invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} 7231 if s.MaxResults != nil && *s.MaxResults < 1 { 7232 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7233 } 7234 7235 if invalidParams.Len() > 0 { 7236 return invalidParams 7237 } 7238 return nil 7239 } 7240 7241 // SetMaxResults sets the MaxResults field's value. 7242 func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { 7243 s.MaxResults = &v 7244 return s 7245 } 7246 7247 // SetNextToken sets the NextToken field's value. 7248 func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { 7249 s.NextToken = &v 7250 return s 7251 } 7252 7253 // SetScope sets the Scope field's value. 7254 func (s *ListComponentsInput) SetScope(v string) *ListComponentsInput { 7255 s.Scope = &v 7256 return s 7257 } 7258 7259 type ListComponentsOutput struct { 7260 _ struct{} `type:"structure"` 7261 7262 // A list that summarizes each component. 7263 Components []*Component `locationName:"components" type:"list"` 7264 7265 // The token for the next set of results, or null if there are no additional 7266 // results. 7267 NextToken *string `locationName:"nextToken" type:"string"` 7268 } 7269 7270 // String returns the string representation. 7271 // 7272 // API parameter values that are decorated as "sensitive" in the API will not 7273 // be included in the string output. The member name will be present, but the 7274 // value will be replaced with "sensitive". 7275 func (s ListComponentsOutput) String() string { 7276 return awsutil.Prettify(s) 7277 } 7278 7279 // GoString returns the string representation. 7280 // 7281 // API parameter values that are decorated as "sensitive" in the API will not 7282 // be included in the string output. The member name will be present, but the 7283 // value will be replaced with "sensitive". 7284 func (s ListComponentsOutput) GoString() string { 7285 return s.String() 7286 } 7287 7288 // SetComponents sets the Components field's value. 7289 func (s *ListComponentsOutput) SetComponents(v []*Component) *ListComponentsOutput { 7290 s.Components = v 7291 return s 7292 } 7293 7294 // SetNextToken sets the NextToken field's value. 7295 func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { 7296 s.NextToken = &v 7297 return s 7298 } 7299 7300 type ListCoreDevicesInput struct { 7301 _ struct{} `type:"structure" nopayload:"true"` 7302 7303 // The maximum number of results to be returned per paginated request. 7304 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7305 7306 // The token to be used for the next set of paginated results. 7307 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7308 7309 // The core device status by which to filter. If you specify this parameter, 7310 // the list includes only core devices that have this status. Choose one of 7311 // the following options: 7312 // 7313 // * HEALTHY – The IoT Greengrass Core software and all components run 7314 // on the core device without issue. 7315 // 7316 // * UNHEALTHY – The IoT Greengrass Core software or a component is in 7317 // a failed state on the core device. 7318 Status *string `location:"querystring" locationName:"status" type:"string" enum:"CoreDeviceStatus"` 7319 7320 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 7321 // of the IoT thing group by which to filter. If you specify this parameter, 7322 // the list includes only core devices that are members of this thing group. 7323 ThingGroupArn *string `location:"querystring" locationName:"thingGroupArn" type:"string"` 7324 } 7325 7326 // String returns the string representation. 7327 // 7328 // API parameter values that are decorated as "sensitive" in the API will not 7329 // be included in the string output. The member name will be present, but the 7330 // value will be replaced with "sensitive". 7331 func (s ListCoreDevicesInput) String() string { 7332 return awsutil.Prettify(s) 7333 } 7334 7335 // GoString returns the string representation. 7336 // 7337 // API parameter values that are decorated as "sensitive" in the API will not 7338 // be included in the string output. The member name will be present, but the 7339 // value will be replaced with "sensitive". 7340 func (s ListCoreDevicesInput) GoString() string { 7341 return s.String() 7342 } 7343 7344 // Validate inspects the fields of the type to determine if they are valid. 7345 func (s *ListCoreDevicesInput) Validate() error { 7346 invalidParams := request.ErrInvalidParams{Context: "ListCoreDevicesInput"} 7347 if s.MaxResults != nil && *s.MaxResults < 1 { 7348 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7349 } 7350 7351 if invalidParams.Len() > 0 { 7352 return invalidParams 7353 } 7354 return nil 7355 } 7356 7357 // SetMaxResults sets the MaxResults field's value. 7358 func (s *ListCoreDevicesInput) SetMaxResults(v int64) *ListCoreDevicesInput { 7359 s.MaxResults = &v 7360 return s 7361 } 7362 7363 // SetNextToken sets the NextToken field's value. 7364 func (s *ListCoreDevicesInput) SetNextToken(v string) *ListCoreDevicesInput { 7365 s.NextToken = &v 7366 return s 7367 } 7368 7369 // SetStatus sets the Status field's value. 7370 func (s *ListCoreDevicesInput) SetStatus(v string) *ListCoreDevicesInput { 7371 s.Status = &v 7372 return s 7373 } 7374 7375 // SetThingGroupArn sets the ThingGroupArn field's value. 7376 func (s *ListCoreDevicesInput) SetThingGroupArn(v string) *ListCoreDevicesInput { 7377 s.ThingGroupArn = &v 7378 return s 7379 } 7380 7381 type ListCoreDevicesOutput struct { 7382 _ struct{} `type:"structure"` 7383 7384 // A list that summarizes each core device. 7385 CoreDevices []*CoreDevice `locationName:"coreDevices" type:"list"` 7386 7387 // The token for the next set of results, or null if there are no additional 7388 // results. 7389 NextToken *string `locationName:"nextToken" type:"string"` 7390 } 7391 7392 // String returns the string representation. 7393 // 7394 // API parameter values that are decorated as "sensitive" in the API will not 7395 // be included in the string output. The member name will be present, but the 7396 // value will be replaced with "sensitive". 7397 func (s ListCoreDevicesOutput) String() string { 7398 return awsutil.Prettify(s) 7399 } 7400 7401 // GoString returns the string representation. 7402 // 7403 // API parameter values that are decorated as "sensitive" in the API will not 7404 // be included in the string output. The member name will be present, but the 7405 // value will be replaced with "sensitive". 7406 func (s ListCoreDevicesOutput) GoString() string { 7407 return s.String() 7408 } 7409 7410 // SetCoreDevices sets the CoreDevices field's value. 7411 func (s *ListCoreDevicesOutput) SetCoreDevices(v []*CoreDevice) *ListCoreDevicesOutput { 7412 s.CoreDevices = v 7413 return s 7414 } 7415 7416 // SetNextToken sets the NextToken field's value. 7417 func (s *ListCoreDevicesOutput) SetNextToken(v string) *ListCoreDevicesOutput { 7418 s.NextToken = &v 7419 return s 7420 } 7421 7422 type ListDeploymentsInput struct { 7423 _ struct{} `type:"structure" nopayload:"true"` 7424 7425 // The filter for the list of deployments. Choose one of the following options: 7426 // 7427 // * ALL – The list includes all deployments. 7428 // 7429 // * LATEST_ONLY – The list includes only the latest revision of each deployment. 7430 // 7431 // Default: LATEST_ONLY 7432 HistoryFilter *string `location:"querystring" locationName:"historyFilter" type:"string" enum:"DeploymentHistoryFilter"` 7433 7434 // The maximum number of results to be returned per paginated request. 7435 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7436 7437 // The token to be used for the next set of paginated results. 7438 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7439 7440 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 7441 // of the target IoT thing or thing group. 7442 TargetArn *string `location:"querystring" locationName:"targetArn" type:"string"` 7443 } 7444 7445 // String returns the string representation. 7446 // 7447 // API parameter values that are decorated as "sensitive" in the API will not 7448 // be included in the string output. The member name will be present, but the 7449 // value will be replaced with "sensitive". 7450 func (s ListDeploymentsInput) String() string { 7451 return awsutil.Prettify(s) 7452 } 7453 7454 // GoString returns the string representation. 7455 // 7456 // API parameter values that are decorated as "sensitive" in the API will not 7457 // be included in the string output. The member name will be present, but the 7458 // value will be replaced with "sensitive". 7459 func (s ListDeploymentsInput) GoString() string { 7460 return s.String() 7461 } 7462 7463 // Validate inspects the fields of the type to determine if they are valid. 7464 func (s *ListDeploymentsInput) Validate() error { 7465 invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"} 7466 if s.MaxResults != nil && *s.MaxResults < 1 { 7467 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7468 } 7469 7470 if invalidParams.Len() > 0 { 7471 return invalidParams 7472 } 7473 return nil 7474 } 7475 7476 // SetHistoryFilter sets the HistoryFilter field's value. 7477 func (s *ListDeploymentsInput) SetHistoryFilter(v string) *ListDeploymentsInput { 7478 s.HistoryFilter = &v 7479 return s 7480 } 7481 7482 // SetMaxResults sets the MaxResults field's value. 7483 func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput { 7484 s.MaxResults = &v 7485 return s 7486 } 7487 7488 // SetNextToken sets the NextToken field's value. 7489 func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput { 7490 s.NextToken = &v 7491 return s 7492 } 7493 7494 // SetTargetArn sets the TargetArn field's value. 7495 func (s *ListDeploymentsInput) SetTargetArn(v string) *ListDeploymentsInput { 7496 s.TargetArn = &v 7497 return s 7498 } 7499 7500 type ListDeploymentsOutput struct { 7501 _ struct{} `type:"structure"` 7502 7503 // A list that summarizes each deployment. 7504 Deployments []*Deployment `locationName:"deployments" type:"list"` 7505 7506 // The token for the next set of results, or null if there are no additional 7507 // results. 7508 NextToken *string `locationName:"nextToken" type:"string"` 7509 } 7510 7511 // String returns the string representation. 7512 // 7513 // API parameter values that are decorated as "sensitive" in the API will not 7514 // be included in the string output. The member name will be present, but the 7515 // value will be replaced with "sensitive". 7516 func (s ListDeploymentsOutput) String() string { 7517 return awsutil.Prettify(s) 7518 } 7519 7520 // GoString returns the string representation. 7521 // 7522 // API parameter values that are decorated as "sensitive" in the API will not 7523 // be included in the string output. The member name will be present, but the 7524 // value will be replaced with "sensitive". 7525 func (s ListDeploymentsOutput) GoString() string { 7526 return s.String() 7527 } 7528 7529 // SetDeployments sets the Deployments field's value. 7530 func (s *ListDeploymentsOutput) SetDeployments(v []*Deployment) *ListDeploymentsOutput { 7531 s.Deployments = v 7532 return s 7533 } 7534 7535 // SetNextToken sets the NextToken field's value. 7536 func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput { 7537 s.NextToken = &v 7538 return s 7539 } 7540 7541 type ListEffectiveDeploymentsInput struct { 7542 _ struct{} `type:"structure" nopayload:"true"` 7543 7544 // The name of the core device. This is also the name of the IoT thing. 7545 // 7546 // CoreDeviceThingName is a required field 7547 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 7548 7549 // The maximum number of results to be returned per paginated request. 7550 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7551 7552 // The token to be used for the next set of paginated results. 7553 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7554 } 7555 7556 // String returns the string representation. 7557 // 7558 // API parameter values that are decorated as "sensitive" in the API will not 7559 // be included in the string output. The member name will be present, but the 7560 // value will be replaced with "sensitive". 7561 func (s ListEffectiveDeploymentsInput) String() string { 7562 return awsutil.Prettify(s) 7563 } 7564 7565 // GoString returns the string representation. 7566 // 7567 // API parameter values that are decorated as "sensitive" in the API will not 7568 // be included in the string output. The member name will be present, but the 7569 // value will be replaced with "sensitive". 7570 func (s ListEffectiveDeploymentsInput) GoString() string { 7571 return s.String() 7572 } 7573 7574 // Validate inspects the fields of the type to determine if they are valid. 7575 func (s *ListEffectiveDeploymentsInput) Validate() error { 7576 invalidParams := request.ErrInvalidParams{Context: "ListEffectiveDeploymentsInput"} 7577 if s.CoreDeviceThingName == nil { 7578 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 7579 } 7580 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 7581 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 7582 } 7583 if s.MaxResults != nil && *s.MaxResults < 1 { 7584 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7585 } 7586 7587 if invalidParams.Len() > 0 { 7588 return invalidParams 7589 } 7590 return nil 7591 } 7592 7593 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 7594 func (s *ListEffectiveDeploymentsInput) SetCoreDeviceThingName(v string) *ListEffectiveDeploymentsInput { 7595 s.CoreDeviceThingName = &v 7596 return s 7597 } 7598 7599 // SetMaxResults sets the MaxResults field's value. 7600 func (s *ListEffectiveDeploymentsInput) SetMaxResults(v int64) *ListEffectiveDeploymentsInput { 7601 s.MaxResults = &v 7602 return s 7603 } 7604 7605 // SetNextToken sets the NextToken field's value. 7606 func (s *ListEffectiveDeploymentsInput) SetNextToken(v string) *ListEffectiveDeploymentsInput { 7607 s.NextToken = &v 7608 return s 7609 } 7610 7611 type ListEffectiveDeploymentsOutput struct { 7612 _ struct{} `type:"structure"` 7613 7614 // A list that summarizes each deployment on the core device. 7615 EffectiveDeployments []*EffectiveDeployment `locationName:"effectiveDeployments" type:"list"` 7616 7617 // The token for the next set of results, or null if there are no additional 7618 // results. 7619 NextToken *string `locationName:"nextToken" type:"string"` 7620 } 7621 7622 // String returns the string representation. 7623 // 7624 // API parameter values that are decorated as "sensitive" in the API will not 7625 // be included in the string output. The member name will be present, but the 7626 // value will be replaced with "sensitive". 7627 func (s ListEffectiveDeploymentsOutput) String() string { 7628 return awsutil.Prettify(s) 7629 } 7630 7631 // GoString returns the string representation. 7632 // 7633 // API parameter values that are decorated as "sensitive" in the API will not 7634 // be included in the string output. The member name will be present, but the 7635 // value will be replaced with "sensitive". 7636 func (s ListEffectiveDeploymentsOutput) GoString() string { 7637 return s.String() 7638 } 7639 7640 // SetEffectiveDeployments sets the EffectiveDeployments field's value. 7641 func (s *ListEffectiveDeploymentsOutput) SetEffectiveDeployments(v []*EffectiveDeployment) *ListEffectiveDeploymentsOutput { 7642 s.EffectiveDeployments = v 7643 return s 7644 } 7645 7646 // SetNextToken sets the NextToken field's value. 7647 func (s *ListEffectiveDeploymentsOutput) SetNextToken(v string) *ListEffectiveDeploymentsOutput { 7648 s.NextToken = &v 7649 return s 7650 } 7651 7652 type ListInstalledComponentsInput struct { 7653 _ struct{} `type:"structure" nopayload:"true"` 7654 7655 // The name of the core device. This is also the name of the IoT thing. 7656 // 7657 // CoreDeviceThingName is a required field 7658 CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` 7659 7660 // The maximum number of results to be returned per paginated request. 7661 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7662 7663 // The token to be used for the next set of paginated results. 7664 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7665 } 7666 7667 // String returns the string representation. 7668 // 7669 // API parameter values that are decorated as "sensitive" in the API will not 7670 // be included in the string output. The member name will be present, but the 7671 // value will be replaced with "sensitive". 7672 func (s ListInstalledComponentsInput) String() string { 7673 return awsutil.Prettify(s) 7674 } 7675 7676 // GoString returns the string representation. 7677 // 7678 // API parameter values that are decorated as "sensitive" in the API will not 7679 // be included in the string output. The member name will be present, but the 7680 // value will be replaced with "sensitive". 7681 func (s ListInstalledComponentsInput) GoString() string { 7682 return s.String() 7683 } 7684 7685 // Validate inspects the fields of the type to determine if they are valid. 7686 func (s *ListInstalledComponentsInput) Validate() error { 7687 invalidParams := request.ErrInvalidParams{Context: "ListInstalledComponentsInput"} 7688 if s.CoreDeviceThingName == nil { 7689 invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) 7690 } 7691 if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { 7692 invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) 7693 } 7694 if s.MaxResults != nil && *s.MaxResults < 1 { 7695 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7696 } 7697 7698 if invalidParams.Len() > 0 { 7699 return invalidParams 7700 } 7701 return nil 7702 } 7703 7704 // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. 7705 func (s *ListInstalledComponentsInput) SetCoreDeviceThingName(v string) *ListInstalledComponentsInput { 7706 s.CoreDeviceThingName = &v 7707 return s 7708 } 7709 7710 // SetMaxResults sets the MaxResults field's value. 7711 func (s *ListInstalledComponentsInput) SetMaxResults(v int64) *ListInstalledComponentsInput { 7712 s.MaxResults = &v 7713 return s 7714 } 7715 7716 // SetNextToken sets the NextToken field's value. 7717 func (s *ListInstalledComponentsInput) SetNextToken(v string) *ListInstalledComponentsInput { 7718 s.NextToken = &v 7719 return s 7720 } 7721 7722 type ListInstalledComponentsOutput struct { 7723 _ struct{} `type:"structure"` 7724 7725 // A list that summarizes each component on the core device. 7726 InstalledComponents []*InstalledComponent `locationName:"installedComponents" type:"list"` 7727 7728 // The token for the next set of results, or null if there are no additional 7729 // results. 7730 NextToken *string `locationName:"nextToken" type:"string"` 7731 } 7732 7733 // String returns the string representation. 7734 // 7735 // API parameter values that are decorated as "sensitive" in the API will not 7736 // be included in the string output. The member name will be present, but the 7737 // value will be replaced with "sensitive". 7738 func (s ListInstalledComponentsOutput) String() string { 7739 return awsutil.Prettify(s) 7740 } 7741 7742 // GoString returns the string representation. 7743 // 7744 // API parameter values that are decorated as "sensitive" in the API will not 7745 // be included in the string output. The member name will be present, but the 7746 // value will be replaced with "sensitive". 7747 func (s ListInstalledComponentsOutput) GoString() string { 7748 return s.String() 7749 } 7750 7751 // SetInstalledComponents sets the InstalledComponents field's value. 7752 func (s *ListInstalledComponentsOutput) SetInstalledComponents(v []*InstalledComponent) *ListInstalledComponentsOutput { 7753 s.InstalledComponents = v 7754 return s 7755 } 7756 7757 // SetNextToken sets the NextToken field's value. 7758 func (s *ListInstalledComponentsOutput) SetNextToken(v string) *ListInstalledComponentsOutput { 7759 s.NextToken = &v 7760 return s 7761 } 7762 7763 type ListTagsForResourceInput struct { 7764 _ struct{} `type:"structure" nopayload:"true"` 7765 7766 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 7767 // of the resource. 7768 // 7769 // ResourceArn is a required field 7770 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 7771 } 7772 7773 // String returns the string representation. 7774 // 7775 // API parameter values that are decorated as "sensitive" in the API will not 7776 // be included in the string output. The member name will be present, but the 7777 // value will be replaced with "sensitive". 7778 func (s ListTagsForResourceInput) String() string { 7779 return awsutil.Prettify(s) 7780 } 7781 7782 // GoString returns the string representation. 7783 // 7784 // API parameter values that are decorated as "sensitive" in the API will not 7785 // be included in the string output. The member name will be present, but the 7786 // value will be replaced with "sensitive". 7787 func (s ListTagsForResourceInput) GoString() string { 7788 return s.String() 7789 } 7790 7791 // Validate inspects the fields of the type to determine if they are valid. 7792 func (s *ListTagsForResourceInput) Validate() error { 7793 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 7794 if s.ResourceArn == nil { 7795 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7796 } 7797 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7798 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7799 } 7800 7801 if invalidParams.Len() > 0 { 7802 return invalidParams 7803 } 7804 return nil 7805 } 7806 7807 // SetResourceArn sets the ResourceArn field's value. 7808 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 7809 s.ResourceArn = &v 7810 return s 7811 } 7812 7813 type ListTagsForResourceOutput struct { 7814 _ struct{} `type:"structure"` 7815 7816 // A list of key-value pairs that contain metadata for the resource. For more 7817 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 7818 // in the IoT Greengrass V2 Developer Guide. 7819 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 7820 } 7821 7822 // String returns the string representation. 7823 // 7824 // API parameter values that are decorated as "sensitive" in the API will not 7825 // be included in the string output. The member name will be present, but the 7826 // value will be replaced with "sensitive". 7827 func (s ListTagsForResourceOutput) String() string { 7828 return awsutil.Prettify(s) 7829 } 7830 7831 // GoString returns the string representation. 7832 // 7833 // API parameter values that are decorated as "sensitive" in the API will not 7834 // be included in the string output. The member name will be present, but the 7835 // value will be replaced with "sensitive". 7836 func (s ListTagsForResourceOutput) GoString() string { 7837 return s.String() 7838 } 7839 7840 // SetTags sets the Tags field's value. 7841 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 7842 s.Tags = v 7843 return s 7844 } 7845 7846 // The request is already in progress. This exception occurs when you use a 7847 // client token for multiple requests while IoT Greengrass is still processing 7848 // an earlier request that uses the same client token. 7849 type RequestAlreadyInProgressException struct { 7850 _ struct{} `type:"structure"` 7851 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7852 7853 Message_ *string `locationName:"message" type:"string"` 7854 } 7855 7856 // String returns the string representation. 7857 // 7858 // API parameter values that are decorated as "sensitive" in the API will not 7859 // be included in the string output. The member name will be present, but the 7860 // value will be replaced with "sensitive". 7861 func (s RequestAlreadyInProgressException) String() string { 7862 return awsutil.Prettify(s) 7863 } 7864 7865 // GoString returns the string representation. 7866 // 7867 // API parameter values that are decorated as "sensitive" in the API will not 7868 // be included in the string output. The member name will be present, but the 7869 // value will be replaced with "sensitive". 7870 func (s RequestAlreadyInProgressException) GoString() string { 7871 return s.String() 7872 } 7873 7874 func newErrorRequestAlreadyInProgressException(v protocol.ResponseMetadata) error { 7875 return &RequestAlreadyInProgressException{ 7876 RespMetadata: v, 7877 } 7878 } 7879 7880 // Code returns the exception type name. 7881 func (s *RequestAlreadyInProgressException) Code() string { 7882 return "RequestAlreadyInProgressException" 7883 } 7884 7885 // Message returns the exception's message. 7886 func (s *RequestAlreadyInProgressException) Message() string { 7887 if s.Message_ != nil { 7888 return *s.Message_ 7889 } 7890 return "" 7891 } 7892 7893 // OrigErr always returns nil, satisfies awserr.Error interface. 7894 func (s *RequestAlreadyInProgressException) OrigErr() error { 7895 return nil 7896 } 7897 7898 func (s *RequestAlreadyInProgressException) Error() string { 7899 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7900 } 7901 7902 // Status code returns the HTTP status code for the request's response error. 7903 func (s *RequestAlreadyInProgressException) StatusCode() int { 7904 return s.RespMetadata.StatusCode 7905 } 7906 7907 // RequestID returns the service's response RequestID for request. 7908 func (s *RequestAlreadyInProgressException) RequestID() string { 7909 return s.RespMetadata.RequestID 7910 } 7911 7912 type ResolveComponentCandidatesInput struct { 7913 _ struct{} `type:"structure"` 7914 7915 // The list of components to resolve. 7916 // 7917 // ComponentCandidates is a required field 7918 ComponentCandidates []*ComponentCandidate `locationName:"componentCandidates" type:"list" required:"true"` 7919 7920 // The platform to use to resolve compatible components. 7921 // 7922 // Platform is a required field 7923 Platform *ComponentPlatform `locationName:"platform" type:"structure" required:"true"` 7924 } 7925 7926 // String returns the string representation. 7927 // 7928 // API parameter values that are decorated as "sensitive" in the API will not 7929 // be included in the string output. The member name will be present, but the 7930 // value will be replaced with "sensitive". 7931 func (s ResolveComponentCandidatesInput) String() string { 7932 return awsutil.Prettify(s) 7933 } 7934 7935 // GoString returns the string representation. 7936 // 7937 // API parameter values that are decorated as "sensitive" in the API will not 7938 // be included in the string output. The member name will be present, but the 7939 // value will be replaced with "sensitive". 7940 func (s ResolveComponentCandidatesInput) GoString() string { 7941 return s.String() 7942 } 7943 7944 // Validate inspects the fields of the type to determine if they are valid. 7945 func (s *ResolveComponentCandidatesInput) Validate() error { 7946 invalidParams := request.ErrInvalidParams{Context: "ResolveComponentCandidatesInput"} 7947 if s.ComponentCandidates == nil { 7948 invalidParams.Add(request.NewErrParamRequired("ComponentCandidates")) 7949 } 7950 if s.Platform == nil { 7951 invalidParams.Add(request.NewErrParamRequired("Platform")) 7952 } 7953 if s.ComponentCandidates != nil { 7954 for i, v := range s.ComponentCandidates { 7955 if v == nil { 7956 continue 7957 } 7958 if err := v.Validate(); err != nil { 7959 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentCandidates", i), err.(request.ErrInvalidParams)) 7960 } 7961 } 7962 } 7963 if s.Platform != nil { 7964 if err := s.Platform.Validate(); err != nil { 7965 invalidParams.AddNested("Platform", err.(request.ErrInvalidParams)) 7966 } 7967 } 7968 7969 if invalidParams.Len() > 0 { 7970 return invalidParams 7971 } 7972 return nil 7973 } 7974 7975 // SetComponentCandidates sets the ComponentCandidates field's value. 7976 func (s *ResolveComponentCandidatesInput) SetComponentCandidates(v []*ComponentCandidate) *ResolveComponentCandidatesInput { 7977 s.ComponentCandidates = v 7978 return s 7979 } 7980 7981 // SetPlatform sets the Platform field's value. 7982 func (s *ResolveComponentCandidatesInput) SetPlatform(v *ComponentPlatform) *ResolveComponentCandidatesInput { 7983 s.Platform = v 7984 return s 7985 } 7986 7987 type ResolveComponentCandidatesOutput struct { 7988 _ struct{} `type:"structure"` 7989 7990 // A list of components that meet the requirements that you specify in the request. 7991 // This list includes each component's recipe that you can use to install the 7992 // component. 7993 ResolvedComponentVersions []*ResolvedComponentVersion `locationName:"resolvedComponentVersions" type:"list"` 7994 } 7995 7996 // String returns the string representation. 7997 // 7998 // API parameter values that are decorated as "sensitive" in the API will not 7999 // be included in the string output. The member name will be present, but the 8000 // value will be replaced with "sensitive". 8001 func (s ResolveComponentCandidatesOutput) String() string { 8002 return awsutil.Prettify(s) 8003 } 8004 8005 // GoString returns the string representation. 8006 // 8007 // API parameter values that are decorated as "sensitive" in the API will not 8008 // be included in the string output. The member name will be present, but the 8009 // value will be replaced with "sensitive". 8010 func (s ResolveComponentCandidatesOutput) GoString() string { 8011 return s.String() 8012 } 8013 8014 // SetResolvedComponentVersions sets the ResolvedComponentVersions field's value. 8015 func (s *ResolveComponentCandidatesOutput) SetResolvedComponentVersions(v []*ResolvedComponentVersion) *ResolveComponentCandidatesOutput { 8016 s.ResolvedComponentVersions = v 8017 return s 8018 } 8019 8020 // Contains information about a component version that is compatible to run 8021 // on a Greengrass core device. 8022 type ResolvedComponentVersion struct { 8023 _ struct{} `type:"structure"` 8024 8025 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 8026 // of the component version. 8027 Arn *string `locationName:"arn" type:"string"` 8028 8029 // The name of the component. 8030 ComponentName *string `locationName:"componentName" min:"1" type:"string"` 8031 8032 // The version of the component. 8033 ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` 8034 8035 // The recipe of the component version. 8036 // Recipe is automatically base64 encoded/decoded by the SDK. 8037 Recipe []byte `locationName:"recipe" type:"blob"` 8038 } 8039 8040 // String returns the string representation. 8041 // 8042 // API parameter values that are decorated as "sensitive" in the API will not 8043 // be included in the string output. The member name will be present, but the 8044 // value will be replaced with "sensitive". 8045 func (s ResolvedComponentVersion) String() string { 8046 return awsutil.Prettify(s) 8047 } 8048 8049 // GoString returns the string representation. 8050 // 8051 // API parameter values that are decorated as "sensitive" in the API will not 8052 // be included in the string output. The member name will be present, but the 8053 // value will be replaced with "sensitive". 8054 func (s ResolvedComponentVersion) GoString() string { 8055 return s.String() 8056 } 8057 8058 // SetArn sets the Arn field's value. 8059 func (s *ResolvedComponentVersion) SetArn(v string) *ResolvedComponentVersion { 8060 s.Arn = &v 8061 return s 8062 } 8063 8064 // SetComponentName sets the ComponentName field's value. 8065 func (s *ResolvedComponentVersion) SetComponentName(v string) *ResolvedComponentVersion { 8066 s.ComponentName = &v 8067 return s 8068 } 8069 8070 // SetComponentVersion sets the ComponentVersion field's value. 8071 func (s *ResolvedComponentVersion) SetComponentVersion(v string) *ResolvedComponentVersion { 8072 s.ComponentVersion = &v 8073 return s 8074 } 8075 8076 // SetRecipe sets the Recipe field's value. 8077 func (s *ResolvedComponentVersion) SetRecipe(v []byte) *ResolvedComponentVersion { 8078 s.Recipe = v 8079 return s 8080 } 8081 8082 // The requested resource can't be found. 8083 type ResourceNotFoundException struct { 8084 _ struct{} `type:"structure"` 8085 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8086 8087 Message_ *string `locationName:"message" type:"string"` 8088 8089 // The ID of the resource that isn't found. 8090 // 8091 // ResourceId is a required field 8092 ResourceId *string `locationName:"resourceId" type:"string" required:"true"` 8093 8094 // The type of the resource that isn't found. 8095 // 8096 // ResourceType is a required field 8097 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 8098 } 8099 8100 // String returns the string representation. 8101 // 8102 // API parameter values that are decorated as "sensitive" in the API will not 8103 // be included in the string output. The member name will be present, but the 8104 // value will be replaced with "sensitive". 8105 func (s ResourceNotFoundException) String() string { 8106 return awsutil.Prettify(s) 8107 } 8108 8109 // GoString returns the string representation. 8110 // 8111 // API parameter values that are decorated as "sensitive" in the API will not 8112 // be included in the string output. The member name will be present, but the 8113 // value will be replaced with "sensitive". 8114 func (s ResourceNotFoundException) GoString() string { 8115 return s.String() 8116 } 8117 8118 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 8119 return &ResourceNotFoundException{ 8120 RespMetadata: v, 8121 } 8122 } 8123 8124 // Code returns the exception type name. 8125 func (s *ResourceNotFoundException) Code() string { 8126 return "ResourceNotFoundException" 8127 } 8128 8129 // Message returns the exception's message. 8130 func (s *ResourceNotFoundException) Message() string { 8131 if s.Message_ != nil { 8132 return *s.Message_ 8133 } 8134 return "" 8135 } 8136 8137 // OrigErr always returns nil, satisfies awserr.Error interface. 8138 func (s *ResourceNotFoundException) OrigErr() error { 8139 return nil 8140 } 8141 8142 func (s *ResourceNotFoundException) Error() string { 8143 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8144 } 8145 8146 // Status code returns the HTTP status code for the request's response error. 8147 func (s *ResourceNotFoundException) StatusCode() int { 8148 return s.RespMetadata.StatusCode 8149 } 8150 8151 // RequestID returns the service's response RequestID for request. 8152 func (s *ResourceNotFoundException) RequestID() string { 8153 return s.RespMetadata.RequestID 8154 } 8155 8156 // Your request exceeds a service quota. For example, you might have the maximum 8157 // number of components that you can create. 8158 type ServiceQuotaExceededException struct { 8159 _ struct{} `type:"structure"` 8160 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8161 8162 Message_ *string `locationName:"message" type:"string"` 8163 8164 // The code for the quota in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). 8165 // 8166 // QuotaCode is a required field 8167 QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` 8168 8169 // The ID of the resource that exceeds the service quota. 8170 ResourceId *string `locationName:"resourceId" type:"string"` 8171 8172 // The type of the resource that exceeds the service quota. 8173 ResourceType *string `locationName:"resourceType" type:"string"` 8174 8175 // The code for the service in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). 8176 // 8177 // ServiceCode is a required field 8178 ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"` 8179 } 8180 8181 // String returns the string representation. 8182 // 8183 // API parameter values that are decorated as "sensitive" in the API will not 8184 // be included in the string output. The member name will be present, but the 8185 // value will be replaced with "sensitive". 8186 func (s ServiceQuotaExceededException) String() string { 8187 return awsutil.Prettify(s) 8188 } 8189 8190 // GoString returns the string representation. 8191 // 8192 // API parameter values that are decorated as "sensitive" in the API will not 8193 // be included in the string output. The member name will be present, but the 8194 // value will be replaced with "sensitive". 8195 func (s ServiceQuotaExceededException) GoString() string { 8196 return s.String() 8197 } 8198 8199 func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 8200 return &ServiceQuotaExceededException{ 8201 RespMetadata: v, 8202 } 8203 } 8204 8205 // Code returns the exception type name. 8206 func (s *ServiceQuotaExceededException) Code() string { 8207 return "ServiceQuotaExceededException" 8208 } 8209 8210 // Message returns the exception's message. 8211 func (s *ServiceQuotaExceededException) Message() string { 8212 if s.Message_ != nil { 8213 return *s.Message_ 8214 } 8215 return "" 8216 } 8217 8218 // OrigErr always returns nil, satisfies awserr.Error interface. 8219 func (s *ServiceQuotaExceededException) OrigErr() error { 8220 return nil 8221 } 8222 8223 func (s *ServiceQuotaExceededException) Error() string { 8224 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8225 } 8226 8227 // Status code returns the HTTP status code for the request's response error. 8228 func (s *ServiceQuotaExceededException) StatusCode() int { 8229 return s.RespMetadata.StatusCode 8230 } 8231 8232 // RequestID returns the service's response RequestID for request. 8233 func (s *ServiceQuotaExceededException) RequestID() string { 8234 return s.RespMetadata.RequestID 8235 } 8236 8237 // Contains information about system resource limits that the IoT Greengrass 8238 // Core software applies to a component's processes. For more information, see 8239 // Configure system resource limits for components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits). 8240 type SystemResourceLimits struct { 8241 _ struct{} `type:"structure"` 8242 8243 // The maximum amount of CPU time that a component's processes can use on the 8244 // core device. A core device's total CPU time is equivalent to the device's 8245 // number of CPU cores. For example, on a core device with 4 CPU cores, you 8246 // can set this value to 2 to limit the component's processes to 50 percent 8247 // usage of each CPU core. On a device with 1 CPU core, you can set this value 8248 // to 0.25 to limit the component's processes to 25 percent usage of the CPU. 8249 // If you set this value to a number greater than the number of CPU cores, the 8250 // IoT Greengrass Core software doesn't limit the component's CPU usage. 8251 Cpus *float64 `locationName:"cpus" type:"double"` 8252 8253 // The maximum amount of RAM, expressed in kilobytes, that a component's processes 8254 // can use on the core device. 8255 Memory *int64 `locationName:"memory" type:"long"` 8256 } 8257 8258 // String returns the string representation. 8259 // 8260 // API parameter values that are decorated as "sensitive" in the API will not 8261 // be included in the string output. The member name will be present, but the 8262 // value will be replaced with "sensitive". 8263 func (s SystemResourceLimits) String() string { 8264 return awsutil.Prettify(s) 8265 } 8266 8267 // GoString returns the string representation. 8268 // 8269 // API parameter values that are decorated as "sensitive" in the API will not 8270 // be included in the string output. The member name will be present, but the 8271 // value will be replaced with "sensitive". 8272 func (s SystemResourceLimits) GoString() string { 8273 return s.String() 8274 } 8275 8276 // SetCpus sets the Cpus field's value. 8277 func (s *SystemResourceLimits) SetCpus(v float64) *SystemResourceLimits { 8278 s.Cpus = &v 8279 return s 8280 } 8281 8282 // SetMemory sets the Memory field's value. 8283 func (s *SystemResourceLimits) SetMemory(v int64) *SystemResourceLimits { 8284 s.Memory = &v 8285 return s 8286 } 8287 8288 type TagResourceInput struct { 8289 _ struct{} `type:"structure"` 8290 8291 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 8292 // of the resource to tag. 8293 // 8294 // ResourceArn is a required field 8295 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 8296 8297 // A list of key-value pairs that contain metadata for the resource. For more 8298 // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) 8299 // in the IoT Greengrass V2 Developer Guide. 8300 // 8301 // Tags is a required field 8302 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 8303 } 8304 8305 // String returns the string representation. 8306 // 8307 // API parameter values that are decorated as "sensitive" in the API will not 8308 // be included in the string output. The member name will be present, but the 8309 // value will be replaced with "sensitive". 8310 func (s TagResourceInput) String() string { 8311 return awsutil.Prettify(s) 8312 } 8313 8314 // GoString returns the string representation. 8315 // 8316 // API parameter values that are decorated as "sensitive" in the API will not 8317 // be included in the string output. The member name will be present, but the 8318 // value will be replaced with "sensitive". 8319 func (s TagResourceInput) GoString() string { 8320 return s.String() 8321 } 8322 8323 // Validate inspects the fields of the type to determine if they are valid. 8324 func (s *TagResourceInput) Validate() error { 8325 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 8326 if s.ResourceArn == nil { 8327 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8328 } 8329 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 8330 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 8331 } 8332 if s.Tags == nil { 8333 invalidParams.Add(request.NewErrParamRequired("Tags")) 8334 } 8335 if s.Tags != nil && len(s.Tags) < 1 { 8336 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8337 } 8338 8339 if invalidParams.Len() > 0 { 8340 return invalidParams 8341 } 8342 return nil 8343 } 8344 8345 // SetResourceArn sets the ResourceArn field's value. 8346 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 8347 s.ResourceArn = &v 8348 return s 8349 } 8350 8351 // SetTags sets the Tags field's value. 8352 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 8353 s.Tags = v 8354 return s 8355 } 8356 8357 type TagResourceOutput struct { 8358 _ struct{} `type:"structure" nopayload:"true"` 8359 } 8360 8361 // String returns the string representation. 8362 // 8363 // API parameter values that are decorated as "sensitive" in the API will not 8364 // be included in the string output. The member name will be present, but the 8365 // value will be replaced with "sensitive". 8366 func (s TagResourceOutput) String() string { 8367 return awsutil.Prettify(s) 8368 } 8369 8370 // GoString returns the string representation. 8371 // 8372 // API parameter values that are decorated as "sensitive" in the API will not 8373 // be included in the string output. The member name will be present, but the 8374 // value will be replaced with "sensitive". 8375 func (s TagResourceOutput) GoString() string { 8376 return s.String() 8377 } 8378 8379 // Your request exceeded a request rate quota. For example, you might have exceeded 8380 // the amount of times that you can retrieve device or deployment status per 8381 // second. 8382 type ThrottlingException struct { 8383 _ struct{} `type:"structure"` 8384 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8385 8386 Message_ *string `locationName:"message" type:"string"` 8387 8388 // The code for the quota in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). 8389 QuotaCode *string `locationName:"quotaCode" type:"string"` 8390 8391 // The amount of time to wait before you retry the request. 8392 RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` 8393 8394 // The code for the service in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). 8395 ServiceCode *string `locationName:"serviceCode" type:"string"` 8396 } 8397 8398 // String returns the string representation. 8399 // 8400 // API parameter values that are decorated as "sensitive" in the API will not 8401 // be included in the string output. The member name will be present, but the 8402 // value will be replaced with "sensitive". 8403 func (s ThrottlingException) String() string { 8404 return awsutil.Prettify(s) 8405 } 8406 8407 // GoString returns the string representation. 8408 // 8409 // API parameter values that are decorated as "sensitive" in the API will not 8410 // be included in the string output. The member name will be present, but the 8411 // value will be replaced with "sensitive". 8412 func (s ThrottlingException) GoString() string { 8413 return s.String() 8414 } 8415 8416 func newErrorThrottlingException(v protocol.ResponseMetadata) error { 8417 return &ThrottlingException{ 8418 RespMetadata: v, 8419 } 8420 } 8421 8422 // Code returns the exception type name. 8423 func (s *ThrottlingException) Code() string { 8424 return "ThrottlingException" 8425 } 8426 8427 // Message returns the exception's message. 8428 func (s *ThrottlingException) Message() string { 8429 if s.Message_ != nil { 8430 return *s.Message_ 8431 } 8432 return "" 8433 } 8434 8435 // OrigErr always returns nil, satisfies awserr.Error interface. 8436 func (s *ThrottlingException) OrigErr() error { 8437 return nil 8438 } 8439 8440 func (s *ThrottlingException) Error() string { 8441 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8442 } 8443 8444 // Status code returns the HTTP status code for the request's response error. 8445 func (s *ThrottlingException) StatusCode() int { 8446 return s.RespMetadata.StatusCode 8447 } 8448 8449 // RequestID returns the service's response RequestID for request. 8450 func (s *ThrottlingException) RequestID() string { 8451 return s.RespMetadata.RequestID 8452 } 8453 8454 type UntagResourceInput struct { 8455 _ struct{} `type:"structure" nopayload:"true"` 8456 8457 // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 8458 // of the resource to untag. 8459 // 8460 // ResourceArn is a required field 8461 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 8462 8463 // A list of keys for tags to remove from the resource. 8464 // 8465 // TagKeys is a required field 8466 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 8467 } 8468 8469 // String returns the string representation. 8470 // 8471 // API parameter values that are decorated as "sensitive" in the API will not 8472 // be included in the string output. The member name will be present, but the 8473 // value will be replaced with "sensitive". 8474 func (s UntagResourceInput) String() string { 8475 return awsutil.Prettify(s) 8476 } 8477 8478 // GoString returns the string representation. 8479 // 8480 // API parameter values that are decorated as "sensitive" in the API will not 8481 // be included in the string output. The member name will be present, but the 8482 // value will be replaced with "sensitive". 8483 func (s UntagResourceInput) GoString() string { 8484 return s.String() 8485 } 8486 8487 // Validate inspects the fields of the type to determine if they are valid. 8488 func (s *UntagResourceInput) Validate() error { 8489 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 8490 if s.ResourceArn == nil { 8491 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8492 } 8493 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 8494 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 8495 } 8496 if s.TagKeys == nil { 8497 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 8498 } 8499 if s.TagKeys != nil && len(s.TagKeys) < 1 { 8500 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 8501 } 8502 8503 if invalidParams.Len() > 0 { 8504 return invalidParams 8505 } 8506 return nil 8507 } 8508 8509 // SetResourceArn sets the ResourceArn field's value. 8510 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 8511 s.ResourceArn = &v 8512 return s 8513 } 8514 8515 // SetTagKeys sets the TagKeys field's value. 8516 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 8517 s.TagKeys = v 8518 return s 8519 } 8520 8521 type UntagResourceOutput struct { 8522 _ struct{} `type:"structure" nopayload:"true"` 8523 } 8524 8525 // String returns the string representation. 8526 // 8527 // API parameter values that are decorated as "sensitive" in the API will not 8528 // be included in the string output. The member name will be present, but the 8529 // value will be replaced with "sensitive". 8530 func (s UntagResourceOutput) String() string { 8531 return awsutil.Prettify(s) 8532 } 8533 8534 // GoString returns the string representation. 8535 // 8536 // API parameter values that are decorated as "sensitive" in the API will not 8537 // be included in the string output. The member name will be present, but the 8538 // value will be replaced with "sensitive". 8539 func (s UntagResourceOutput) GoString() string { 8540 return s.String() 8541 } 8542 8543 // The request isn't valid. This can occur if your request contains malformed 8544 // JSON or unsupported characters. 8545 type ValidationException struct { 8546 _ struct{} `type:"structure"` 8547 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8548 8549 // The list of fields that failed to validate. 8550 Fields []*ValidationExceptionField `locationName:"fields" type:"list"` 8551 8552 Message_ *string `locationName:"message" type:"string"` 8553 8554 // The reason for the validation exception. 8555 Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` 8556 } 8557 8558 // String returns the string representation. 8559 // 8560 // API parameter values that are decorated as "sensitive" in the API will not 8561 // be included in the string output. The member name will be present, but the 8562 // value will be replaced with "sensitive". 8563 func (s ValidationException) String() string { 8564 return awsutil.Prettify(s) 8565 } 8566 8567 // GoString returns the string representation. 8568 // 8569 // API parameter values that are decorated as "sensitive" in the API will not 8570 // be included in the string output. The member name will be present, but the 8571 // value will be replaced with "sensitive". 8572 func (s ValidationException) GoString() string { 8573 return s.String() 8574 } 8575 8576 func newErrorValidationException(v protocol.ResponseMetadata) error { 8577 return &ValidationException{ 8578 RespMetadata: v, 8579 } 8580 } 8581 8582 // Code returns the exception type name. 8583 func (s *ValidationException) Code() string { 8584 return "ValidationException" 8585 } 8586 8587 // Message returns the exception's message. 8588 func (s *ValidationException) Message() string { 8589 if s.Message_ != nil { 8590 return *s.Message_ 8591 } 8592 return "" 8593 } 8594 8595 // OrigErr always returns nil, satisfies awserr.Error interface. 8596 func (s *ValidationException) OrigErr() error { 8597 return nil 8598 } 8599 8600 func (s *ValidationException) Error() string { 8601 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8602 } 8603 8604 // Status code returns the HTTP status code for the request's response error. 8605 func (s *ValidationException) StatusCode() int { 8606 return s.RespMetadata.StatusCode 8607 } 8608 8609 // RequestID returns the service's response RequestID for request. 8610 func (s *ValidationException) RequestID() string { 8611 return s.RespMetadata.RequestID 8612 } 8613 8614 // Contains information about a validation exception field. 8615 type ValidationExceptionField struct { 8616 _ struct{} `type:"structure"` 8617 8618 // The message of the exception field. 8619 // 8620 // Message is a required field 8621 Message *string `locationName:"message" type:"string" required:"true"` 8622 8623 // The name of the exception field. 8624 // 8625 // Name is a required field 8626 Name *string `locationName:"name" type:"string" required:"true"` 8627 } 8628 8629 // String returns the string representation. 8630 // 8631 // API parameter values that are decorated as "sensitive" in the API will not 8632 // be included in the string output. The member name will be present, but the 8633 // value will be replaced with "sensitive". 8634 func (s ValidationExceptionField) String() string { 8635 return awsutil.Prettify(s) 8636 } 8637 8638 // GoString returns the string representation. 8639 // 8640 // API parameter values that are decorated as "sensitive" in the API will not 8641 // be included in the string output. The member name will be present, but the 8642 // value will be replaced with "sensitive". 8643 func (s ValidationExceptionField) GoString() string { 8644 return s.String() 8645 } 8646 8647 // SetMessage sets the Message field's value. 8648 func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { 8649 s.Message = &v 8650 return s 8651 } 8652 8653 // SetName sets the Name field's value. 8654 func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { 8655 s.Name = &v 8656 return s 8657 } 8658 8659 const ( 8660 // CloudComponentStateRequested is a CloudComponentState enum value 8661 CloudComponentStateRequested = "REQUESTED" 8662 8663 // CloudComponentStateInitiated is a CloudComponentState enum value 8664 CloudComponentStateInitiated = "INITIATED" 8665 8666 // CloudComponentStateDeployable is a CloudComponentState enum value 8667 CloudComponentStateDeployable = "DEPLOYABLE" 8668 8669 // CloudComponentStateFailed is a CloudComponentState enum value 8670 CloudComponentStateFailed = "FAILED" 8671 8672 // CloudComponentStateDeprecated is a CloudComponentState enum value 8673 CloudComponentStateDeprecated = "DEPRECATED" 8674 ) 8675 8676 // CloudComponentState_Values returns all elements of the CloudComponentState enum 8677 func CloudComponentState_Values() []string { 8678 return []string{ 8679 CloudComponentStateRequested, 8680 CloudComponentStateInitiated, 8681 CloudComponentStateDeployable, 8682 CloudComponentStateFailed, 8683 CloudComponentStateDeprecated, 8684 } 8685 } 8686 8687 const ( 8688 // ComponentDependencyTypeHard is a ComponentDependencyType enum value 8689 ComponentDependencyTypeHard = "HARD" 8690 8691 // ComponentDependencyTypeSoft is a ComponentDependencyType enum value 8692 ComponentDependencyTypeSoft = "SOFT" 8693 ) 8694 8695 // ComponentDependencyType_Values returns all elements of the ComponentDependencyType enum 8696 func ComponentDependencyType_Values() []string { 8697 return []string{ 8698 ComponentDependencyTypeHard, 8699 ComponentDependencyTypeSoft, 8700 } 8701 } 8702 8703 const ( 8704 // ComponentVisibilityScopePrivate is a ComponentVisibilityScope enum value 8705 ComponentVisibilityScopePrivate = "PRIVATE" 8706 8707 // ComponentVisibilityScopePublic is a ComponentVisibilityScope enum value 8708 ComponentVisibilityScopePublic = "PUBLIC" 8709 ) 8710 8711 // ComponentVisibilityScope_Values returns all elements of the ComponentVisibilityScope enum 8712 func ComponentVisibilityScope_Values() []string { 8713 return []string{ 8714 ComponentVisibilityScopePrivate, 8715 ComponentVisibilityScopePublic, 8716 } 8717 } 8718 8719 const ( 8720 // CoreDeviceStatusHealthy is a CoreDeviceStatus enum value 8721 CoreDeviceStatusHealthy = "HEALTHY" 8722 8723 // CoreDeviceStatusUnhealthy is a CoreDeviceStatus enum value 8724 CoreDeviceStatusUnhealthy = "UNHEALTHY" 8725 ) 8726 8727 // CoreDeviceStatus_Values returns all elements of the CoreDeviceStatus enum 8728 func CoreDeviceStatus_Values() []string { 8729 return []string{ 8730 CoreDeviceStatusHealthy, 8731 CoreDeviceStatusUnhealthy, 8732 } 8733 } 8734 8735 const ( 8736 // DeploymentComponentUpdatePolicyActionNotifyComponents is a DeploymentComponentUpdatePolicyAction enum value 8737 DeploymentComponentUpdatePolicyActionNotifyComponents = "NOTIFY_COMPONENTS" 8738 8739 // DeploymentComponentUpdatePolicyActionSkipNotifyComponents is a DeploymentComponentUpdatePolicyAction enum value 8740 DeploymentComponentUpdatePolicyActionSkipNotifyComponents = "SKIP_NOTIFY_COMPONENTS" 8741 ) 8742 8743 // DeploymentComponentUpdatePolicyAction_Values returns all elements of the DeploymentComponentUpdatePolicyAction enum 8744 func DeploymentComponentUpdatePolicyAction_Values() []string { 8745 return []string{ 8746 DeploymentComponentUpdatePolicyActionNotifyComponents, 8747 DeploymentComponentUpdatePolicyActionSkipNotifyComponents, 8748 } 8749 } 8750 8751 const ( 8752 // DeploymentFailureHandlingPolicyRollback is a DeploymentFailureHandlingPolicy enum value 8753 DeploymentFailureHandlingPolicyRollback = "ROLLBACK" 8754 8755 // DeploymentFailureHandlingPolicyDoNothing is a DeploymentFailureHandlingPolicy enum value 8756 DeploymentFailureHandlingPolicyDoNothing = "DO_NOTHING" 8757 ) 8758 8759 // DeploymentFailureHandlingPolicy_Values returns all elements of the DeploymentFailureHandlingPolicy enum 8760 func DeploymentFailureHandlingPolicy_Values() []string { 8761 return []string{ 8762 DeploymentFailureHandlingPolicyRollback, 8763 DeploymentFailureHandlingPolicyDoNothing, 8764 } 8765 } 8766 8767 const ( 8768 // DeploymentHistoryFilterAll is a DeploymentHistoryFilter enum value 8769 DeploymentHistoryFilterAll = "ALL" 8770 8771 // DeploymentHistoryFilterLatestOnly is a DeploymentHistoryFilter enum value 8772 DeploymentHistoryFilterLatestOnly = "LATEST_ONLY" 8773 ) 8774 8775 // DeploymentHistoryFilter_Values returns all elements of the DeploymentHistoryFilter enum 8776 func DeploymentHistoryFilter_Values() []string { 8777 return []string{ 8778 DeploymentHistoryFilterAll, 8779 DeploymentHistoryFilterLatestOnly, 8780 } 8781 } 8782 8783 const ( 8784 // DeploymentStatusActive is a DeploymentStatus enum value 8785 DeploymentStatusActive = "ACTIVE" 8786 8787 // DeploymentStatusCompleted is a DeploymentStatus enum value 8788 DeploymentStatusCompleted = "COMPLETED" 8789 8790 // DeploymentStatusCanceled is a DeploymentStatus enum value 8791 DeploymentStatusCanceled = "CANCELED" 8792 8793 // DeploymentStatusFailed is a DeploymentStatus enum value 8794 DeploymentStatusFailed = "FAILED" 8795 8796 // DeploymentStatusInactive is a DeploymentStatus enum value 8797 DeploymentStatusInactive = "INACTIVE" 8798 ) 8799 8800 // DeploymentStatus_Values returns all elements of the DeploymentStatus enum 8801 func DeploymentStatus_Values() []string { 8802 return []string{ 8803 DeploymentStatusActive, 8804 DeploymentStatusCompleted, 8805 DeploymentStatusCanceled, 8806 DeploymentStatusFailed, 8807 DeploymentStatusInactive, 8808 } 8809 } 8810 8811 const ( 8812 // EffectiveDeploymentExecutionStatusInProgress is a EffectiveDeploymentExecutionStatus enum value 8813 EffectiveDeploymentExecutionStatusInProgress = "IN_PROGRESS" 8814 8815 // EffectiveDeploymentExecutionStatusQueued is a EffectiveDeploymentExecutionStatus enum value 8816 EffectiveDeploymentExecutionStatusQueued = "QUEUED" 8817 8818 // EffectiveDeploymentExecutionStatusFailed is a EffectiveDeploymentExecutionStatus enum value 8819 EffectiveDeploymentExecutionStatusFailed = "FAILED" 8820 8821 // EffectiveDeploymentExecutionStatusCompleted is a EffectiveDeploymentExecutionStatus enum value 8822 EffectiveDeploymentExecutionStatusCompleted = "COMPLETED" 8823 8824 // EffectiveDeploymentExecutionStatusTimedOut is a EffectiveDeploymentExecutionStatus enum value 8825 EffectiveDeploymentExecutionStatusTimedOut = "TIMED_OUT" 8826 8827 // EffectiveDeploymentExecutionStatusCanceled is a EffectiveDeploymentExecutionStatus enum value 8828 EffectiveDeploymentExecutionStatusCanceled = "CANCELED" 8829 8830 // EffectiveDeploymentExecutionStatusRejected is a EffectiveDeploymentExecutionStatus enum value 8831 EffectiveDeploymentExecutionStatusRejected = "REJECTED" 8832 ) 8833 8834 // EffectiveDeploymentExecutionStatus_Values returns all elements of the EffectiveDeploymentExecutionStatus enum 8835 func EffectiveDeploymentExecutionStatus_Values() []string { 8836 return []string{ 8837 EffectiveDeploymentExecutionStatusInProgress, 8838 EffectiveDeploymentExecutionStatusQueued, 8839 EffectiveDeploymentExecutionStatusFailed, 8840 EffectiveDeploymentExecutionStatusCompleted, 8841 EffectiveDeploymentExecutionStatusTimedOut, 8842 EffectiveDeploymentExecutionStatusCanceled, 8843 EffectiveDeploymentExecutionStatusRejected, 8844 } 8845 } 8846 8847 const ( 8848 // InstalledComponentLifecycleStateNew is a InstalledComponentLifecycleState enum value 8849 InstalledComponentLifecycleStateNew = "NEW" 8850 8851 // InstalledComponentLifecycleStateInstalled is a InstalledComponentLifecycleState enum value 8852 InstalledComponentLifecycleStateInstalled = "INSTALLED" 8853 8854 // InstalledComponentLifecycleStateStarting is a InstalledComponentLifecycleState enum value 8855 InstalledComponentLifecycleStateStarting = "STARTING" 8856 8857 // InstalledComponentLifecycleStateRunning is a InstalledComponentLifecycleState enum value 8858 InstalledComponentLifecycleStateRunning = "RUNNING" 8859 8860 // InstalledComponentLifecycleStateStopping is a InstalledComponentLifecycleState enum value 8861 InstalledComponentLifecycleStateStopping = "STOPPING" 8862 8863 // InstalledComponentLifecycleStateErrored is a InstalledComponentLifecycleState enum value 8864 InstalledComponentLifecycleStateErrored = "ERRORED" 8865 8866 // InstalledComponentLifecycleStateBroken is a InstalledComponentLifecycleState enum value 8867 InstalledComponentLifecycleStateBroken = "BROKEN" 8868 8869 // InstalledComponentLifecycleStateFinished is a InstalledComponentLifecycleState enum value 8870 InstalledComponentLifecycleStateFinished = "FINISHED" 8871 ) 8872 8873 // InstalledComponentLifecycleState_Values returns all elements of the InstalledComponentLifecycleState enum 8874 func InstalledComponentLifecycleState_Values() []string { 8875 return []string{ 8876 InstalledComponentLifecycleStateNew, 8877 InstalledComponentLifecycleStateInstalled, 8878 InstalledComponentLifecycleStateStarting, 8879 InstalledComponentLifecycleStateRunning, 8880 InstalledComponentLifecycleStateStopping, 8881 InstalledComponentLifecycleStateErrored, 8882 InstalledComponentLifecycleStateBroken, 8883 InstalledComponentLifecycleStateFinished, 8884 } 8885 } 8886 8887 const ( 8888 // IoTJobAbortActionCancel is a IoTJobAbortAction enum value 8889 IoTJobAbortActionCancel = "CANCEL" 8890 ) 8891 8892 // IoTJobAbortAction_Values returns all elements of the IoTJobAbortAction enum 8893 func IoTJobAbortAction_Values() []string { 8894 return []string{ 8895 IoTJobAbortActionCancel, 8896 } 8897 } 8898 8899 const ( 8900 // IoTJobExecutionFailureTypeFailed is a IoTJobExecutionFailureType enum value 8901 IoTJobExecutionFailureTypeFailed = "FAILED" 8902 8903 // IoTJobExecutionFailureTypeRejected is a IoTJobExecutionFailureType enum value 8904 IoTJobExecutionFailureTypeRejected = "REJECTED" 8905 8906 // IoTJobExecutionFailureTypeTimedOut is a IoTJobExecutionFailureType enum value 8907 IoTJobExecutionFailureTypeTimedOut = "TIMED_OUT" 8908 8909 // IoTJobExecutionFailureTypeAll is a IoTJobExecutionFailureType enum value 8910 IoTJobExecutionFailureTypeAll = "ALL" 8911 ) 8912 8913 // IoTJobExecutionFailureType_Values returns all elements of the IoTJobExecutionFailureType enum 8914 func IoTJobExecutionFailureType_Values() []string { 8915 return []string{ 8916 IoTJobExecutionFailureTypeFailed, 8917 IoTJobExecutionFailureTypeRejected, 8918 IoTJobExecutionFailureTypeTimedOut, 8919 IoTJobExecutionFailureTypeAll, 8920 } 8921 } 8922 8923 const ( 8924 // LambdaEventSourceTypePubSub is a LambdaEventSourceType enum value 8925 LambdaEventSourceTypePubSub = "PUB_SUB" 8926 8927 // LambdaEventSourceTypeIotCore is a LambdaEventSourceType enum value 8928 LambdaEventSourceTypeIotCore = "IOT_CORE" 8929 ) 8930 8931 // LambdaEventSourceType_Values returns all elements of the LambdaEventSourceType enum 8932 func LambdaEventSourceType_Values() []string { 8933 return []string{ 8934 LambdaEventSourceTypePubSub, 8935 LambdaEventSourceTypeIotCore, 8936 } 8937 } 8938 8939 const ( 8940 // LambdaFilesystemPermissionRo is a LambdaFilesystemPermission enum value 8941 LambdaFilesystemPermissionRo = "ro" 8942 8943 // LambdaFilesystemPermissionRw is a LambdaFilesystemPermission enum value 8944 LambdaFilesystemPermissionRw = "rw" 8945 ) 8946 8947 // LambdaFilesystemPermission_Values returns all elements of the LambdaFilesystemPermission enum 8948 func LambdaFilesystemPermission_Values() []string { 8949 return []string{ 8950 LambdaFilesystemPermissionRo, 8951 LambdaFilesystemPermissionRw, 8952 } 8953 } 8954 8955 const ( 8956 // LambdaInputPayloadEncodingTypeJson is a LambdaInputPayloadEncodingType enum value 8957 LambdaInputPayloadEncodingTypeJson = "json" 8958 8959 // LambdaInputPayloadEncodingTypeBinary is a LambdaInputPayloadEncodingType enum value 8960 LambdaInputPayloadEncodingTypeBinary = "binary" 8961 ) 8962 8963 // LambdaInputPayloadEncodingType_Values returns all elements of the LambdaInputPayloadEncodingType enum 8964 func LambdaInputPayloadEncodingType_Values() []string { 8965 return []string{ 8966 LambdaInputPayloadEncodingTypeJson, 8967 LambdaInputPayloadEncodingTypeBinary, 8968 } 8969 } 8970 8971 const ( 8972 // LambdaIsolationModeGreengrassContainer is a LambdaIsolationMode enum value 8973 LambdaIsolationModeGreengrassContainer = "GreengrassContainer" 8974 8975 // LambdaIsolationModeNoContainer is a LambdaIsolationMode enum value 8976 LambdaIsolationModeNoContainer = "NoContainer" 8977 ) 8978 8979 // LambdaIsolationMode_Values returns all elements of the LambdaIsolationMode enum 8980 func LambdaIsolationMode_Values() []string { 8981 return []string{ 8982 LambdaIsolationModeGreengrassContainer, 8983 LambdaIsolationModeNoContainer, 8984 } 8985 } 8986 8987 const ( 8988 // RecipeOutputFormatJson is a RecipeOutputFormat enum value 8989 RecipeOutputFormatJson = "JSON" 8990 8991 // RecipeOutputFormatYaml is a RecipeOutputFormat enum value 8992 RecipeOutputFormatYaml = "YAML" 8993 ) 8994 8995 // RecipeOutputFormat_Values returns all elements of the RecipeOutputFormat enum 8996 func RecipeOutputFormat_Values() []string { 8997 return []string{ 8998 RecipeOutputFormatJson, 8999 RecipeOutputFormatYaml, 9000 } 9001 } 9002 9003 const ( 9004 // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value 9005 ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION" 9006 9007 // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value 9008 ValidationExceptionReasonCannotParse = "CANNOT_PARSE" 9009 9010 // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value 9011 ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED" 9012 9013 // ValidationExceptionReasonOther is a ValidationExceptionReason enum value 9014 ValidationExceptionReasonOther = "OTHER" 9015 ) 9016 9017 // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum 9018 func ValidationExceptionReason_Values() []string { 9019 return []string{ 9020 ValidationExceptionReasonUnknownOperation, 9021 ValidationExceptionReasonCannotParse, 9022 ValidationExceptionReasonFieldValidationFailed, 9023 ValidationExceptionReasonOther, 9024 } 9025 }