aws-sdk-greengrassv2 1.4.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,8 +24,10 @@ module Aws::GreengrassV2
24
24
  BatchAssociateClientDeviceWithCoreDeviceResponse = Shapes::StructureShape.new(name: 'BatchAssociateClientDeviceWithCoreDeviceResponse')
25
25
  BatchDisassociateClientDeviceFromCoreDeviceRequest = Shapes::StructureShape.new(name: 'BatchDisassociateClientDeviceFromCoreDeviceRequest')
26
26
  BatchDisassociateClientDeviceFromCoreDeviceResponse = Shapes::StructureShape.new(name: 'BatchDisassociateClientDeviceFromCoreDeviceResponse')
27
+ CPU = Shapes::FloatShape.new(name: 'CPU')
27
28
  CancelDeploymentRequest = Shapes::StructureShape.new(name: 'CancelDeploymentRequest')
28
29
  CancelDeploymentResponse = Shapes::StructureShape.new(name: 'CancelDeploymentResponse')
30
+ ClientTokenString = Shapes::StringShape.new(name: 'ClientTokenString')
29
31
  CloudComponentState = Shapes::StringShape.new(name: 'CloudComponentState')
30
32
  CloudComponentStatus = Shapes::StructureShape.new(name: 'CloudComponentStatus')
31
33
  Component = Shapes::StructureShape.new(name: 'Component')
@@ -161,6 +163,7 @@ module Aws::GreengrassV2
161
163
  ListInstalledComponentsResponse = Shapes::StructureShape.new(name: 'ListInstalledComponentsResponse')
162
164
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
163
165
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
166
+ Memory = Shapes::IntegerShape.new(name: 'Memory')
164
167
  NextTokenString = Shapes::StringShape.new(name: 'NextTokenString')
165
168
  NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
166
169
  NullableString = Shapes::StringShape.new(name: 'NullableString')
@@ -171,6 +174,7 @@ module Aws::GreengrassV2
171
174
  Reason = Shapes::StringShape.new(name: 'Reason')
172
175
  RecipeBlob = Shapes::BlobShape.new(name: 'RecipeBlob')
173
176
  RecipeOutputFormat = Shapes::StringShape.new(name: 'RecipeOutputFormat')
177
+ RequestAlreadyInProgressException = Shapes::StructureShape.new(name: 'RequestAlreadyInProgressException')
174
178
  ResolveComponentCandidatesRequest = Shapes::StructureShape.new(name: 'ResolveComponentCandidatesRequest')
175
179
  ResolveComponentCandidatesResponse = Shapes::StructureShape.new(name: 'ResolveComponentCandidatesResponse')
176
180
  ResolvedComponentVersion = Shapes::StructureShape.new(name: 'ResolvedComponentVersion')
@@ -180,6 +184,7 @@ module Aws::GreengrassV2
180
184
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
181
185
  String = Shapes::StringShape.new(name: 'String')
182
186
  StringMap = Shapes::MapShape.new(name: 'StringMap')
187
+ SystemResourceLimits = Shapes::StructureShape.new(name: 'SystemResourceLimits')
183
188
  TagKey = Shapes::StringShape.new(name: 'TagKey')
184
189
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
185
190
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -294,6 +299,7 @@ module Aws::GreengrassV2
294
299
  ComponentPlatformList.member = Shapes::ShapeRef.new(shape: ComponentPlatform)
295
300
 
296
301
  ComponentRunWith.add_member(:posix_user, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "posixUser"))
302
+ ComponentRunWith.add_member(:system_resource_limits, Shapes::ShapeRef.new(shape: SystemResourceLimits, location_name: "systemResourceLimits"))
297
303
  ComponentRunWith.struct_class = Types::ComponentRunWith
298
304
 
299
305
  ComponentVersionList.member = Shapes::ShapeRef.new(shape: ComponentVersionListItem)
@@ -321,6 +327,7 @@ module Aws::GreengrassV2
321
327
  CreateComponentVersionRequest.add_member(:inline_recipe, Shapes::ShapeRef.new(shape: RecipeBlob, location_name: "inlineRecipe"))
322
328
  CreateComponentVersionRequest.add_member(:lambda_function, Shapes::ShapeRef.new(shape: LambdaFunctionRecipeSource, location_name: "lambdaFunction"))
323
329
  CreateComponentVersionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
330
+ CreateComponentVersionRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientTokenString, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
324
331
  CreateComponentVersionRequest.struct_class = Types::CreateComponentVersionRequest
325
332
 
326
333
  CreateComponentVersionResponse.add_member(:arn, Shapes::ShapeRef.new(shape: ComponentVersionARN, location_name: "arn"))
@@ -336,6 +343,7 @@ module Aws::GreengrassV2
336
343
  CreateDeploymentRequest.add_member(:iot_job_configuration, Shapes::ShapeRef.new(shape: DeploymentIoTJobConfiguration, location_name: "iotJobConfiguration"))
337
344
  CreateDeploymentRequest.add_member(:deployment_policies, Shapes::ShapeRef.new(shape: DeploymentPolicies, location_name: "deploymentPolicies"))
338
345
  CreateDeploymentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
346
+ CreateDeploymentRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientTokenString, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
339
347
  CreateDeploymentRequest.struct_class = Types::CreateDeploymentRequest
340
348
 
341
349
  CreateDeploymentResponse.add_member(:deployment_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "deploymentId"))
@@ -634,6 +642,9 @@ module Aws::GreengrassV2
634
642
  PlatformAttributesMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
635
643
  PlatformAttributesMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
636
644
 
645
+ RequestAlreadyInProgressException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
646
+ RequestAlreadyInProgressException.struct_class = Types::RequestAlreadyInProgressException
647
+
637
648
  ResolveComponentCandidatesRequest.add_member(:platform, Shapes::ShapeRef.new(shape: ComponentPlatform, required: true, location_name: "platform"))
638
649
  ResolveComponentCandidatesRequest.add_member(:component_candidates, Shapes::ShapeRef.new(shape: ComponentCandidateList, required: true, location_name: "componentCandidates"))
639
650
  ResolveComponentCandidatesRequest.struct_class = Types::ResolveComponentCandidatesRequest
@@ -664,6 +675,10 @@ module Aws::GreengrassV2
664
675
  StringMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
665
676
  StringMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
666
677
 
678
+ SystemResourceLimits.add_member(:memory, Shapes::ShapeRef.new(shape: Memory, location_name: "memory"))
679
+ SystemResourceLimits.add_member(:cpus, Shapes::ShapeRef.new(shape: CPU, location_name: "cpus"))
680
+ SystemResourceLimits.struct_class = Types::SystemResourceLimits
681
+
667
682
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
668
683
 
669
684
  TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
@@ -768,6 +783,7 @@ module Aws::GreengrassV2
768
783
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
769
784
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
770
785
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
786
+ o.errors << Shapes::ShapeRef.new(shape: RequestAlreadyInProgressException)
771
787
  end)
772
788
 
773
789
  api.add_operation(:create_deployment, Seahorse::Model::Operation.new.tap do |o|
@@ -781,6 +797,7 @@ module Aws::GreengrassV2
781
797
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
782
798
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
783
799
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
800
+ o.errors << Shapes::ShapeRef.new(shape: RequestAlreadyInProgressException)
784
801
  end)
785
802
 
786
803
  api.add_operation(:delete_component, Seahorse::Model::Operation.new.tap do |o|
@@ -30,6 +30,7 @@ module Aws::GreengrassV2
30
30
  # * {AccessDeniedException}
31
31
  # * {ConflictException}
32
32
  # * {InternalServerException}
33
+ # * {RequestAlreadyInProgressException}
33
34
  # * {ResourceNotFoundException}
34
35
  # * {ServiceQuotaExceededException}
35
36
  # * {ThrottlingException}
@@ -101,6 +102,21 @@ module Aws::GreengrassV2
101
102
  end
102
103
  end
103
104
 
105
+ class RequestAlreadyInProgressException < ServiceError
106
+
107
+ # @param [Seahorse::Client::RequestContext] context
108
+ # @param [String] message
109
+ # @param [Aws::GreengrassV2::Types::RequestAlreadyInProgressException] data
110
+ def initialize(context, message, data = Aws::EmptyStructure.new)
111
+ super(context, message, data)
112
+ end
113
+
114
+ # @return [String]
115
+ def message
116
+ @message || @data[:message]
117
+ end
118
+ end
119
+
104
120
  class ResourceNotFoundException < ServiceError
105
121
 
106
122
  # @param [Seahorse::Client::RequestContext] context
@@ -39,7 +39,7 @@ module Aws::GreengrassV2
39
39
  # }
40
40
  #
41
41
  # @!attribute [rw] thing_name
42
- # The name of the AWS IoT thing that represents the client device to
42
+ # The name of the IoT thing that represents the client device to
43
43
  # associate.
44
44
  # @return [String]
45
45
  #
@@ -61,7 +61,7 @@ module Aws::GreengrassV2
61
61
  # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html
62
62
  #
63
63
  # @!attribute [rw] thing_name
64
- # The name of the AWS IoT thing whose associate request failed.
64
+ # The name of the IoT thing whose associate request failed.
65
65
  # @return [String]
66
66
  #
67
67
  # @!attribute [rw] code
@@ -86,7 +86,7 @@ module Aws::GreengrassV2
86
86
  # core device for cloud discovery.
87
87
  #
88
88
  # @!attribute [rw] thing_name
89
- # The name of the AWS IoT thing that represents the associated client
89
+ # The name of the IoT thing that represents the associated client
90
90
  # device.
91
91
  # @return [String]
92
92
  #
@@ -121,8 +121,7 @@ module Aws::GreengrassV2
121
121
  # @return [Array<Types::AssociateClientDeviceWithCoreDeviceEntry>]
122
122
  #
123
123
  # @!attribute [rw] core_device_thing_name
124
- # The name of the core device. This is also the name of the AWS IoT
125
- # thing.
124
+ # The name of the core device. This is also the name of the IoT thing.
126
125
  # @return [String]
127
126
  #
128
127
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDeviceRequest AWS API Documentation
@@ -136,8 +135,7 @@ module Aws::GreengrassV2
136
135
 
137
136
  # @!attribute [rw] error_entries
138
137
  # The list of any errors for the entries in the request. Each error
139
- # entry contains the name of the AWS IoT thing that failed to
140
- # associate.
138
+ # entry contains the name of the IoT thing that failed to associate.
141
139
  # @return [Array<Types::AssociateClientDeviceWithCoreDeviceErrorEntry>]
142
140
  #
143
141
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDeviceResponse AWS API Documentation
@@ -165,8 +163,7 @@ module Aws::GreengrassV2
165
163
  # @return [Array<Types::DisassociateClientDeviceFromCoreDeviceEntry>]
166
164
  #
167
165
  # @!attribute [rw] core_device_thing_name
168
- # The name of the core device. This is also the name of the AWS IoT
169
- # thing.
166
+ # The name of the core device. This is also the name of the IoT thing.
170
167
  # @return [String]
171
168
  #
172
169
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDeviceRequest AWS API Documentation
@@ -180,7 +177,7 @@ module Aws::GreengrassV2
180
177
 
181
178
  # @!attribute [rw] error_entries
182
179
  # The list of errors (if any) for the entries in the request. Each
183
- # error entry contains the name of the AWS IoT thing that failed to
180
+ # error entry contains the name of the IoT thing that failed to
184
181
  # disassociate.
185
182
  # @return [Array<Types::DisassociateClientDeviceFromCoreDeviceErrorEntry>]
186
183
  #
@@ -223,7 +220,7 @@ module Aws::GreengrassV2
223
220
  include Aws::Structure
224
221
  end
225
222
 
226
- # Contains the status of a component in the AWS IoT Greengrass service.
223
+ # Contains the status of a component in the IoT Greengrass service.
227
224
  #
228
225
  # @!attribute [rw] component_state
229
226
  # The state of the component.
@@ -236,7 +233,7 @@ module Aws::GreengrassV2
236
233
  #
237
234
  # @!attribute [rw] errors
238
235
  # A dictionary of errors that communicate why the component is in an
239
- # error state. For example, if AWS IoT Greengrass can't access an
236
+ # error state. For example, if IoT Greengrass can't access an
240
237
  # artifact for the component, then `errors` contains the artifact's
241
238
  # URI as a key, and the error message as the value for that key.
242
239
  # @return [Hash<String,String>]
@@ -280,7 +277,7 @@ module Aws::GreengrassV2
280
277
  end
281
278
 
282
279
  # Contains information about a component that is a candidate to deploy
283
- # to a AWS IoT Greengrass core device.
280
+ # to a Greengrass core device.
284
281
  #
285
282
  # @note When making an API call, you may pass ComponentCandidate
286
283
  # data as a hash:
@@ -302,11 +299,11 @@ module Aws::GreengrassV2
302
299
  # @return [String]
303
300
  #
304
301
  # @!attribute [rw] version_requirements
305
- # The version requirements for the component's dependencies. AWS IoT
302
+ # The version requirements for the component's dependencies.
306
303
  # Greengrass core devices get the version requirements from component
307
304
  # recipes.
308
305
  #
309
- # AWS IoT Greengrass V2 uses semantic version constraints. For more
306
+ # IoT Greengrass V2 uses semantic version constraints. For more
310
307
  # information, see [Semantic Versioning][1].
311
308
  #
312
309
  #
@@ -326,7 +323,7 @@ module Aws::GreengrassV2
326
323
 
327
324
  # Contains information about a deployment's update to a component's
328
325
  # configuration on Greengrass core devices. For more information, see
329
- # [Update component configurations][1] in the *AWS IoT Greengrass V2
326
+ # [Update component configurations][1] in the *IoT Greengrass V2
330
327
  # Developer Guide*.
331
328
  #
332
329
  #
@@ -349,7 +346,7 @@ module Aws::GreengrassV2
349
346
  # configuration with the component's default configuration. This
350
347
  # means that the core device keeps it's existing configuration for
351
348
  # keys and values that you don't specify in this object. For more
352
- # information, see [Merge configuration updates][1] in the *AWS IoT
349
+ # information, see [Merge configuration updates][1] in the *IoT
353
350
  # Greengrass V2 Developer Guide*.
354
351
  #
355
352
  #
@@ -363,7 +360,7 @@ module Aws::GreengrassV2
363
360
  # pointers start with a forward slash (`/`) and use forward slashes to
364
361
  # separate the key for each level in the object. For more information,
365
362
  # see the [JSON pointer specification][1] and [Reset configuration
366
- # updates][2] in the *AWS IoT Greengrass V2 Developer Guide*.
363
+ # updates][2] in the *IoT Greengrass V2 Developer Guide*.
367
364
  #
368
365
  #
369
366
  #
@@ -394,7 +391,7 @@ module Aws::GreengrassV2
394
391
  # @!attribute [rw] version_requirement
395
392
  # The component version requirement for the component dependency.
396
393
  #
397
- # AWS IoT Greengrass V2 uses semantic version constraints. For more
394
+ # IoT Greengrass V2 uses semantic version constraints. For more
398
395
  # information, see [Semantic Versioning][1].
399
396
  #
400
397
  #
@@ -435,6 +432,10 @@ module Aws::GreengrassV2
435
432
  # },
436
433
  # run_with: {
437
434
  # posix_user: "NonEmptyString",
435
+ # system_resource_limits: {
436
+ # memory: 1,
437
+ # cpus: 1.0,
438
+ # },
438
439
  # },
439
440
  # }
440
441
  #
@@ -447,10 +448,10 @@ module Aws::GreengrassV2
447
448
  # define *reset* updates and *merge* updates. A reset updates the keys
448
449
  # that you specify to the default configuration for the component. A
449
450
  # merge updates the core device's component configuration with the
450
- # keys and values that you specify. The AWS IoT Greengrass Core
451
- # software applies reset updates before it applies merge updates. For
452
- # more information, see [Update component configurations][1] in the
453
- # *AWS IoT Greengrass V2 Developer Guide*.
451
+ # keys and values that you specify. The IoT Greengrass Core software
452
+ # applies reset updates before it applies merge updates. For more
453
+ # information, see [Update component configurations][1] in the *IoT
454
+ # Greengrass V2 Developer Guide*.
454
455
  #
455
456
  #
456
457
  #
@@ -458,12 +459,12 @@ module Aws::GreengrassV2
458
459
  # @return [Types::ComponentConfigurationUpdate]
459
460
  #
460
461
  # @!attribute [rw] run_with
461
- # The system user and group that the AWS IoT Greengrass Core software
462
- # uses to run component processes on the core device. If you omit this
463
- # parameter, the AWS IoT Greengrass Core software uses the system user
464
- # and group that you configure for the core device. For more
465
- # information, see [Configure the user and group that run
466
- # components][1] in the *AWS IoT Greengrass V2 Developer Guide*.
462
+ # The system user and group that the IoT Greengrass Core software uses
463
+ # to run component processes on the core device. If you omit this
464
+ # parameter, the IoT Greengrass Core software uses the system user and
465
+ # group that you configure for the core device. For more information,
466
+ # see [Configure the user and group that run components][1] in the
467
+ # *IoT Greengrass V2 Developer Guide*.
467
468
  #
468
469
  #
469
470
  #
@@ -540,17 +541,17 @@ module Aws::GreengrassV2
540
541
  # The friendly name of the platform. This name helps you identify the
541
542
  # platform.
542
543
  #
543
- # If you omit this parameter, AWS IoT Greengrass creates a friendly
544
- # name from the `os` and `architecture` of the platform.
544
+ # If you omit this parameter, IoT Greengrass creates a friendly name
545
+ # from the `os` and `architecture` of the platform.
545
546
  # @return [String]
546
547
  #
547
548
  # @!attribute [rw] attributes
548
- # A dictionary of attributes for the platform. The AWS IoT Greengrass
549
- # Core software defines the `os` and `platform` by default. You can
550
- # specify additional platform attributes for a core device when you
551
- # deploy the AWS IoT Greengrass nucleus component. For more
552
- # information, see the [AWS IoT Greengrass nucleus component][1] in
553
- # the *AWS IoT Greengrass V2 Developer Guide*.
549
+ # A dictionary of attributes for the platform. The IoT Greengrass Core
550
+ # software defines the `os` and `platform` by default. You can specify
551
+ # additional platform attributes for a core device when you deploy the
552
+ # Greengrass nucleus component. For more information, see the
553
+ # [Greengrass nucleus component][1] in the *IoT Greengrass V2
554
+ # Developer Guide*.
554
555
  #
555
556
  #
556
557
  #
@@ -566,10 +567,10 @@ module Aws::GreengrassV2
566
567
  include Aws::Structure
567
568
  end
568
569
 
569
- # Contains information system user and group that the AWS IoT Greengrass
570
+ # Contains information system user and group that the IoT Greengrass
570
571
  # Core software uses to run component processes on the core device. For
571
572
  # more information, see [Configure the user and group that run
572
- # components][1] in the *AWS IoT Greengrass V2 Developer Guide*.
573
+ # components][1] in the *IoT Greengrass V2 Developer Guide*.
573
574
  #
574
575
  #
575
576
  #
@@ -580,20 +581,48 @@ module Aws::GreengrassV2
580
581
  #
581
582
  # {
582
583
  # posix_user: "NonEmptyString",
584
+ # system_resource_limits: {
585
+ # memory: 1,
586
+ # cpus: 1.0,
587
+ # },
583
588
  # }
584
589
  #
585
590
  # @!attribute [rw] posix_user
586
591
  # The POSIX system user and (optional) group to use to run this
587
592
  # component. Specify the user and group separated by a colon (`:`) in
588
593
  # the following format: `user:group`. The group is optional. If you
589
- # don't specify a group, the AWS IoT Greengrass Core software uses
590
- # the primary user for the group.
594
+ # don't specify a group, the IoT Greengrass Core software uses the
595
+ # primary user for the group.
596
+ #
597
+ # If you omit this parameter, the IoT Greengrass Core software uses
598
+ # the default system user and group that you configure on the
599
+ # Greengrass nucleus component. For more information, see [Configure
600
+ # the user and group that run components][1].
601
+ #
602
+ #
603
+ #
604
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user
591
605
  # @return [String]
592
606
  #
607
+ # @!attribute [rw] system_resource_limits
608
+ # The system resource limits to apply to this component's process on
609
+ # the core device.
610
+ #
611
+ # If you omit this parameter, the IoT Greengrass Core software uses
612
+ # the default system resource limits that you configure on the
613
+ # Greengrass nucleus component. For more information, see [Configure
614
+ # system resource limits for components][1].
615
+ #
616
+ #
617
+ #
618
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits
619
+ # @return [Types::SystemResourceLimits]
620
+ #
593
621
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentRunWith AWS API Documentation
594
622
  #
595
623
  class ComponentRunWith < Struct.new(
596
- :posix_user)
624
+ :posix_user,
625
+ :system_resource_limits)
597
626
  SENSITIVE = []
598
627
  include Aws::Structure
599
628
  end
@@ -651,23 +680,22 @@ module Aws::GreengrassV2
651
680
  include Aws::Structure
652
681
  end
653
682
 
654
- # Contains information about a AWS IoT Greengrass core device, which is
655
- # an AWS IoT thing that runs the AWS IoT Greengrass Core software.
683
+ # Contains information about a Greengrass core device, which is an IoT
684
+ # thing that runs the IoT Greengrass Core software.
656
685
  #
657
686
  # @!attribute [rw] core_device_thing_name
658
- # The name of the core device. This is also the name of the AWS IoT
659
- # thing.
687
+ # The name of the core device. This is also the name of the IoT thing.
660
688
  # @return [String]
661
689
  #
662
690
  # @!attribute [rw] status
663
691
  # The status of the core device. Core devices can have the following
664
692
  # statuses:
665
693
  #
666
- # * `HEALTHY` – The AWS IoT Greengrass Core software and all
667
- # components run on the core device without issue.
694
+ # * `HEALTHY` – The IoT Greengrass Core software and all components
695
+ # run on the core device without issue.
668
696
  #
669
- # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component
670
- # is in a failed state on the core device.
697
+ # * `UNHEALTHY` – The IoT Greengrass Core software or a component is
698
+ # in a failed state on the core device.
671
699
  # @return [String]
672
700
  #
673
701
  # @!attribute [rw] last_status_update_timestamp
@@ -753,6 +781,7 @@ module Aws::GreengrassV2
753
781
  # tags: {
754
782
  # "TagKey" => "TagValue",
755
783
  # },
784
+ # client_token: "ClientTokenString",
756
785
  # }
757
786
  #
758
787
  # @!attribute [rw] inline_recipe
@@ -771,7 +800,7 @@ module Aws::GreengrassV2
771
800
  #
772
801
  # @!attribute [rw] tags
773
802
  # A list of key-value pairs that contain metadata for the resource.
774
- # For more information, see [Tag your resources][1] in the *AWS IoT
803
+ # For more information, see [Tag your resources][1] in the *IoT
775
804
  # Greengrass V2 Developer Guide*.
776
805
  #
777
806
  #
@@ -779,12 +808,27 @@ module Aws::GreengrassV2
779
808
  # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html
780
809
  # @return [Hash<String,String>]
781
810
  #
811
+ # @!attribute [rw] client_token
812
+ # A unique, case-sensitive identifier that you can provide to ensure
813
+ # that the request is idempotent. Idempotency means that the request
814
+ # is successfully processed only once, even if you send the request
815
+ # multiple times. When a request succeeds, and you specify the same
816
+ # client token for subsequent successful requests, the IoT Greengrass
817
+ # V2 service returns the successful response that it caches from the
818
+ # previous request. IoT Greengrass V2 caches successful responses for
819
+ # idempotent requests for up to 8 hours.
820
+ #
821
+ # **A suitable default value is auto-generated.** You should normally
822
+ # not need to pass this option.
823
+ # @return [String]
824
+ #
782
825
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersionRequest AWS API Documentation
783
826
  #
784
827
  class CreateComponentVersionRequest < Struct.new(
785
828
  :inline_recipe,
786
829
  :lambda_function,
787
- :tags)
830
+ :tags,
831
+ :client_token)
788
832
  SENSITIVE = []
789
833
  include Aws::Structure
790
834
  end
@@ -811,7 +855,7 @@ module Aws::GreengrassV2
811
855
  # @return [Time]
812
856
  #
813
857
  # @!attribute [rw] status
814
- # The status of the component version in AWS IoT Greengrass V2. This
858
+ # The status of the component version in IoT Greengrass V2. This
815
859
  # status is different from the status of the component on a core
816
860
  # device.
817
861
  # @return [Types::CloudComponentStatus]
@@ -843,6 +887,10 @@ module Aws::GreengrassV2
843
887
  # },
844
888
  # run_with: {
845
889
  # posix_user: "NonEmptyString",
890
+ # system_resource_limits: {
891
+ # memory: 1,
892
+ # cpus: 1.0,
893
+ # },
846
894
  # },
847
895
  # },
848
896
  # },
@@ -885,10 +933,11 @@ module Aws::GreengrassV2
885
933
  # tags: {
886
934
  # "TagKey" => "TagValue",
887
935
  # },
936
+ # client_token: "ClientTokenString",
888
937
  # }
889
938
  #
890
939
  # @!attribute [rw] target_arn
891
- # The [ARN][1] of the target AWS IoT thing or thing group.
940
+ # The [ARN][1] of the target IoT thing or thing group.
892
941
  #
893
942
  #
894
943
  #
@@ -897,11 +946,6 @@ module Aws::GreengrassV2
897
946
  #
898
947
  # @!attribute [rw] deployment_name
899
948
  # The name of the deployment.
900
- #
901
- # You can create deployments without names. If you create a deployment
902
- # without a name, the AWS IoT Greengrass V2 console shows the
903
- # deployment name as `<targetType>:<targetName>`, where `targetType`
904
- # and `targetName` are the type and name of the deployment target.
905
949
  # @return [String]
906
950
  #
907
951
  # @!attribute [rw] components
@@ -923,7 +967,7 @@ module Aws::GreengrassV2
923
967
  #
924
968
  # @!attribute [rw] tags
925
969
  # A list of key-value pairs that contain metadata for the resource.
926
- # For more information, see [Tag your resources][1] in the *AWS IoT
970
+ # For more information, see [Tag your resources][1] in the *IoT
927
971
  # Greengrass V2 Developer Guide*.
928
972
  #
929
973
  #
@@ -931,6 +975,20 @@ module Aws::GreengrassV2
931
975
  # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html
932
976
  # @return [Hash<String,String>]
933
977
  #
978
+ # @!attribute [rw] client_token
979
+ # A unique, case-sensitive identifier that you can provide to ensure
980
+ # that the request is idempotent. Idempotency means that the request
981
+ # is successfully processed only once, even if you send the request
982
+ # multiple times. When a request succeeds, and you specify the same
983
+ # client token for subsequent successful requests, the IoT Greengrass
984
+ # V2 service returns the successful response that it caches from the
985
+ # previous request. IoT Greengrass V2 caches successful responses for
986
+ # idempotent requests for up to 8 hours.
987
+ #
988
+ # **A suitable default value is auto-generated.** You should normally
989
+ # not need to pass this option.
990
+ # @return [String]
991
+ #
934
992
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeploymentRequest AWS API Documentation
935
993
  #
936
994
  class CreateDeploymentRequest < Struct.new(
@@ -939,7 +997,8 @@ module Aws::GreengrassV2
939
997
  :components,
940
998
  :iot_job_configuration,
941
999
  :deployment_policies,
942
- :tags)
1000
+ :tags,
1001
+ :client_token)
943
1002
  SENSITIVE = []
944
1003
  include Aws::Structure
945
1004
  end
@@ -949,13 +1008,12 @@ module Aws::GreengrassV2
949
1008
  # @return [String]
950
1009
  #
951
1010
  # @!attribute [rw] iot_job_id
952
- # The ID of the AWS IoT job that applies the deployment to target
953
- # devices.
1011
+ # The ID of the IoT job that applies the deployment to target devices.
954
1012
  # @return [String]
955
1013
  #
956
1014
  # @!attribute [rw] iot_job_arn
957
- # The [ARN][1] of the AWS IoT job that applies the deployment to
958
- # target devices.
1015
+ # The [ARN][1] of the IoT job that applies the deployment to target
1016
+ # devices.
959
1017
  #
960
1018
  #
961
1019
  #
@@ -1003,8 +1061,7 @@ module Aws::GreengrassV2
1003
1061
  # }
1004
1062
  #
1005
1063
  # @!attribute [rw] core_device_thing_name
1006
- # The name of the core device. This is also the name of the AWS IoT
1007
- # thing.
1064
+ # The name of the core device. This is also the name of the IoT thing.
1008
1065
  # @return [String]
1009
1066
  #
1010
1067
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDeviceRequest AWS API Documentation
@@ -1018,7 +1075,7 @@ module Aws::GreengrassV2
1018
1075
  # Contains information about a deployment.
1019
1076
  #
1020
1077
  # @!attribute [rw] target_arn
1021
- # The [ARN][1] of the target AWS IoT thing or thing group.
1078
+ # The [ARN][1] of the target IoT thing or thing group.
1022
1079
  #
1023
1080
  #
1024
1081
  #
@@ -1035,11 +1092,6 @@ module Aws::GreengrassV2
1035
1092
  #
1036
1093
  # @!attribute [rw] deployment_name
1037
1094
  # The name of the deployment.
1038
- #
1039
- # You can create deployments without names. If you create a deployment
1040
- # without a name, the AWS IoT Greengrass V2 console shows the
1041
- # deployment name as `<targetType>:<targetName>`, where `targetType`
1042
- # and `targetName` are the type and name of the deployment target.
1043
1095
  # @return [String]
1044
1096
  #
1045
1097
  # @!attribute [rw] creation_timestamp
@@ -1104,7 +1156,7 @@ module Aws::GreengrassV2
1104
1156
  # [SubscribeToComponentUpdates][1] IPC operation to receive these
1105
1157
  # notifications. Then, components can respond with the
1106
1158
  # [DeferComponentUpdate][2] IPC operation. For more information, see
1107
- # [Create deployments][3] in the *AWS IoT Greengrass V2 Developer
1159
+ # [Create deployments][3] in the *IoT Greengrass V2 Developer
1108
1160
  # Guide*.
1109
1161
  #
1110
1162
  # * `SKIP_NOTIFY_COMPONENTS` – The deployment doesn't notify
@@ -1134,7 +1186,7 @@ module Aws::GreengrassV2
1134
1186
  # receive notifications when a deployment specifies a configuration
1135
1187
  # update. Then, components can respond with the
1136
1188
  # [SendConfigurationValidityReport][2] IPC operation. For more
1137
- # information, see [Create deployments][3] in the *AWS IoT Greengrass V2
1189
+ # information, see [Create deployments][3] in the *IoT Greengrass V2
1138
1190
  # Developer Guide*.
1139
1191
  #
1140
1192
  #
@@ -1166,7 +1218,7 @@ module Aws::GreengrassV2
1166
1218
  include Aws::Structure
1167
1219
  end
1168
1220
 
1169
- # Contains information about an AWS IoT job configuration.
1221
+ # Contains information about an IoT job configuration.
1170
1222
  #
1171
1223
  # @note When making an API call, you may pass DeploymentIoTJobConfiguration
1172
1224
  # data as a hash:
@@ -1322,7 +1374,7 @@ module Aws::GreengrassV2
1322
1374
  # @return [String]
1323
1375
  #
1324
1376
  # @!attribute [rw] status
1325
- # The status of the component version in AWS IoT Greengrass V2. This
1377
+ # The status of the component version in IoT Greengrass V2. This
1326
1378
  # status is different from the status of the component on a core
1327
1379
  # device.
1328
1380
  # @return [Types::CloudComponentStatus]
@@ -1333,7 +1385,7 @@ module Aws::GreengrassV2
1333
1385
  #
1334
1386
  # @!attribute [rw] tags
1335
1387
  # A list of key-value pairs that contain metadata for the resource.
1336
- # For more information, see [Tag your resources][1] in the *AWS IoT
1388
+ # For more information, see [Tag your resources][1] in the *IoT
1337
1389
  # Greengrass V2 Developer Guide*.
1338
1390
  #
1339
1391
  #
@@ -1373,7 +1425,7 @@ module Aws::GreengrassV2
1373
1425
  # }
1374
1426
  #
1375
1427
  # @!attribute [rw] thing_name
1376
- # The name of the AWS IoT thing that represents the client device to
1428
+ # The name of the IoT thing that represents the client device to
1377
1429
  # disassociate.
1378
1430
  # @return [String]
1379
1431
  #
@@ -1395,7 +1447,7 @@ module Aws::GreengrassV2
1395
1447
  # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html
1396
1448
  #
1397
1449
  # @!attribute [rw] thing_name
1398
- # The name of the AWS IoT thing whose disassociate request failed.
1450
+ # The name of the IoT thing whose disassociate request failed.
1399
1451
  # @return [String]
1400
1452
  #
1401
1453
  # @!attribute [rw] code
@@ -1416,8 +1468,8 @@ module Aws::GreengrassV2
1416
1468
  include Aws::Structure
1417
1469
  end
1418
1470
 
1419
- # Contains information about a deployment job that AWS IoT Greengrass
1420
- # sends to a AWS IoT Greengrass core device.
1471
+ # Contains information about a deployment job that IoT Greengrass sends
1472
+ # to a Greengrass core device.
1421
1473
  #
1422
1474
  # @!attribute [rw] deployment_id
1423
1475
  # The ID of the deployment.
@@ -1425,21 +1477,15 @@ module Aws::GreengrassV2
1425
1477
  #
1426
1478
  # @!attribute [rw] deployment_name
1427
1479
  # The name of the deployment.
1428
- #
1429
- # You can create deployments without names. If you create a deployment
1430
- # without a name, the AWS IoT Greengrass V2 console shows the
1431
- # deployment name as `<targetType>:<targetName>`, where `targetType`
1432
- # and `targetName` are the type and name of the deployment target.
1433
1480
  # @return [String]
1434
1481
  #
1435
1482
  # @!attribute [rw] iot_job_id
1436
- # The ID of the AWS IoT job that applies the deployment to target
1437
- # devices.
1483
+ # The ID of the IoT job that applies the deployment to target devices.
1438
1484
  # @return [String]
1439
1485
  #
1440
1486
  # @!attribute [rw] iot_job_arn
1441
- # The [ARN][1] of the AWS IoT job that applies the deployment to
1442
- # target devices.
1487
+ # The [ARN][1] of the IoT job that applies the deployment to target
1488
+ # devices.
1443
1489
  #
1444
1490
  #
1445
1491
  #
@@ -1451,7 +1497,7 @@ module Aws::GreengrassV2
1451
1497
  # @return [String]
1452
1498
  #
1453
1499
  # @!attribute [rw] target_arn
1454
- # The [ARN][1] of the target AWS IoT thing or thing group.
1500
+ # The [ARN][1] of the target IoT thing or thing group.
1455
1501
  #
1456
1502
  #
1457
1503
  #
@@ -1459,8 +1505,7 @@ module Aws::GreengrassV2
1459
1505
  # @return [String]
1460
1506
  #
1461
1507
  # @!attribute [rw] core_device_execution_status
1462
- # The status of the deployment job on the AWS IoT Greengrass core
1463
- # device.
1508
+ # The status of the deployment job on the Greengrass core device.
1464
1509
  # @return [String]
1465
1510
  #
1466
1511
  # @!attribute [rw] reason
@@ -1533,7 +1578,7 @@ module Aws::GreengrassV2
1533
1578
  #
1534
1579
  # @!attribute [rw] tags
1535
1580
  # A list of key-value pairs that contain metadata for the resource.
1536
- # For more information, see [Tag your resources][1] in the *AWS IoT
1581
+ # For more information, see [Tag your resources][1] in the *IoT
1537
1582
  # Greengrass V2 Developer Guide*.
1538
1583
  #
1539
1584
  #
@@ -1611,8 +1656,7 @@ module Aws::GreengrassV2
1611
1656
  # }
1612
1657
  #
1613
1658
  # @!attribute [rw] core_device_thing_name
1614
- # The name of the core device. This is also the name of the AWS IoT
1615
- # thing.
1659
+ # The name of the core device. This is also the name of the IoT thing.
1616
1660
  # @return [String]
1617
1661
  #
1618
1662
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDeviceRequest AWS API Documentation
@@ -1624,16 +1668,15 @@ module Aws::GreengrassV2
1624
1668
  end
1625
1669
 
1626
1670
  # @!attribute [rw] core_device_thing_name
1627
- # The name of the core device. This is also the name of the AWS IoT
1628
- # thing.
1671
+ # The name of the core device. This is also the name of the IoT thing.
1629
1672
  # @return [String]
1630
1673
  #
1631
1674
  # @!attribute [rw] core_version
1632
- # The version of the AWS IoT Greengrass Core software that the core
1633
- # device runs. This version is equivalent to the version of the AWS
1634
- # IoT Greengrass nucleus component that runs on the core device. For
1635
- # more information, see the [AWS IoT Greengrass nucleus component][1]
1636
- # in the *AWS IoT Greengrass V2 Developer Guide*.
1675
+ # The version of the IoT Greengrass Core software that the core device
1676
+ # runs. This version is equivalent to the version of the Greengrass
1677
+ # nucleus component that runs on the core device. For more
1678
+ # information, see the [Greengrass nucleus component][1] in the *IoT
1679
+ # Greengrass V2 Developer Guide*.
1637
1680
  #
1638
1681
  #
1639
1682
  #
@@ -1651,11 +1694,11 @@ module Aws::GreengrassV2
1651
1694
  # @!attribute [rw] status
1652
1695
  # The status of the core device. The core device status can be:
1653
1696
  #
1654
- # * `HEALTHY` – The AWS IoT Greengrass Core software and all
1655
- # components run on the core device without issue.
1697
+ # * `HEALTHY` – The IoT Greengrass Core software and all components
1698
+ # run on the core device without issue.
1656
1699
  #
1657
- # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component
1658
- # is in a failed state on the core device.
1700
+ # * `UNHEALTHY` – The IoT Greengrass Core software or a component is
1701
+ # in a failed state on the core device.
1659
1702
  # @return [String]
1660
1703
  #
1661
1704
  # @!attribute [rw] last_status_update_timestamp
@@ -1665,7 +1708,7 @@ module Aws::GreengrassV2
1665
1708
  #
1666
1709
  # @!attribute [rw] tags
1667
1710
  # A list of key-value pairs that contain metadata for the resource.
1668
- # For more information, see [Tag your resources][1] in the *AWS IoT
1711
+ # For more information, see [Tag your resources][1] in the *IoT
1669
1712
  # Greengrass V2 Developer Guide*.
1670
1713
  #
1671
1714
  #
@@ -1707,7 +1750,7 @@ module Aws::GreengrassV2
1707
1750
  end
1708
1751
 
1709
1752
  # @!attribute [rw] target_arn
1710
- # The [ARN][1] of the target AWS IoT thing or thing group.
1753
+ # The [ARN][1] of the target IoT thing or thing group.
1711
1754
  #
1712
1755
  #
1713
1756
  #
@@ -1724,11 +1767,6 @@ module Aws::GreengrassV2
1724
1767
  #
1725
1768
  # @!attribute [rw] deployment_name
1726
1769
  # The name of the deployment.
1727
- #
1728
- # You can create deployments without names. If you create a deployment
1729
- # without a name, the AWS IoT Greengrass V2 console shows the
1730
- # deployment name as `<targetType>:<targetName>`, where `targetType`
1731
- # and `targetName` are the type and name of the deployment target.
1732
1770
  # @return [String]
1733
1771
  #
1734
1772
  # @!attribute [rw] deployment_status
@@ -1736,13 +1774,12 @@ module Aws::GreengrassV2
1736
1774
  # @return [String]
1737
1775
  #
1738
1776
  # @!attribute [rw] iot_job_id
1739
- # The ID of the AWS IoT job that applies the deployment to target
1740
- # devices.
1777
+ # The ID of the IoT job that applies the deployment to target devices.
1741
1778
  # @return [String]
1742
1779
  #
1743
1780
  # @!attribute [rw] iot_job_arn
1744
- # The [ARN][1] of the AWS IoT job that applies the deployment to
1745
- # target devices.
1781
+ # The [ARN][1] of the IoT job that applies the deployment to target
1782
+ # devices.
1746
1783
  #
1747
1784
  #
1748
1785
  #
@@ -1777,7 +1814,7 @@ module Aws::GreengrassV2
1777
1814
  #
1778
1815
  # @!attribute [rw] tags
1779
1816
  # A list of key-value pairs that contain metadata for the resource.
1780
- # For more information, see [Tag your resources][1] in the *AWS IoT
1817
+ # For more information, see [Tag your resources][1] in the *IoT
1781
1818
  # Greengrass V2 Developer Guide*.
1782
1819
  #
1783
1820
  #
@@ -1805,8 +1842,7 @@ module Aws::GreengrassV2
1805
1842
  include Aws::Structure
1806
1843
  end
1807
1844
 
1808
- # Contains information about a component on a AWS IoT Greengrass core
1809
- # device.
1845
+ # Contains information about a component on a Greengrass core device.
1810
1846
  #
1811
1847
  # @!attribute [rw] component_name
1812
1848
  # The name of the component.
@@ -1840,8 +1876,7 @@ module Aws::GreengrassV2
1840
1876
  include Aws::Structure
1841
1877
  end
1842
1878
 
1843
- # AWS IoT Greengrass can't process your request right now. Try again
1844
- # later.
1879
+ # IoT Greengrass can't process your request right now. Try again later.
1845
1880
  #
1846
1881
  # @!attribute [rw] message
1847
1882
  # @return [String]
@@ -2078,8 +2113,8 @@ module Aws::GreengrassV2
2078
2113
  include Aws::Structure
2079
2114
  end
2080
2115
 
2081
- # Contains information about a container in which AWS Lambda functions
2082
- # run on AWS IoT Greengrass core devices.
2116
+ # Contains information about a container in which Lambda functions run
2117
+ # on Greengrass core devices.
2083
2118
  #
2084
2119
  # @note When making an API call, you may pass LambdaContainerParams
2085
2120
  # data as a hash:
@@ -2176,8 +2211,8 @@ module Aws::GreengrassV2
2176
2211
  include Aws::Structure
2177
2212
  end
2178
2213
 
2179
- # Contains information about an event source for an AWS Lambda function.
2180
- # The event source defines the topics on which this Lambda function
2214
+ # Contains information about an event source for an Lambda function. The
2215
+ # event source defines the topics on which this Lambda function
2181
2216
  # subscribes to receive messages that run the function.
2182
2217
  #
2183
2218
  # @note When making an API call, you may pass LambdaEventSource
@@ -2199,9 +2234,9 @@ module Aws::GreengrassV2
2199
2234
  # event source type doesn't support MQTT wildcards (`+` and `#`) in
2200
2235
  # the event source topic.
2201
2236
  #
2202
- # * `IOT_CORE` – Subscribe to AWS IoT Core MQTT messages. This event
2203
- # source type supports MQTT wildcards (`+` and `#`) in the event
2204
- # source topic.
2237
+ # * `IOT_CORE` – Subscribe to Amazon Web Services IoT Core MQTT
2238
+ # messages. This event source type supports MQTT wildcards (`+` and
2239
+ # `#`) in the event source topic.
2205
2240
  # @return [String]
2206
2241
  #
2207
2242
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaEventSource AWS API Documentation
@@ -2213,8 +2248,7 @@ module Aws::GreengrassV2
2213
2248
  include Aws::Structure
2214
2249
  end
2215
2250
 
2216
- # Contains parameters for a Lambda function that runs on AWS IoT
2217
- # Greengrass.
2251
+ # Contains parameters for a Lambda function that runs on IoT Greengrass.
2218
2252
  #
2219
2253
  # @note When making an API call, you may pass LambdaExecutionParameters
2220
2254
  # data as a hash:
@@ -2265,12 +2299,13 @@ module Aws::GreengrassV2
2265
2299
  # The list of event sources to which to subscribe to receive work
2266
2300
  # messages. The Lambda function runs when it receives a message from
2267
2301
  # an event source. You can subscribe this function to local
2268
- # publish/subscribe messages and AWS IoT Core MQTT messages.
2302
+ # publish/subscribe messages and Amazon Web Services IoT Core MQTT
2303
+ # messages.
2269
2304
  # @return [Array<Types::LambdaEventSource>]
2270
2305
  #
2271
2306
  # @!attribute [rw] max_queue_size
2272
2307
  # The maximum size of the message queue for the Lambda function
2273
- # component. The AWS IoT Greengrass core stores messages in a FIFO
2308
+ # component. The IoT Greengrass core stores messages in a FIFO
2274
2309
  # (first-in-first-out) queue until it can run the Lambda function to
2275
2310
  # consume each message.
2276
2311
  # @return [Integer]
@@ -2282,8 +2317,8 @@ module Aws::GreengrassV2
2282
2317
  #
2283
2318
  # @!attribute [rw] max_idle_time_in_seconds
2284
2319
  # The maximum amount of time in seconds that a non-pinned Lambda
2285
- # function can idle before the AWS IoT Greengrass Core software stops
2286
- # its process.
2320
+ # function can idle before the IoT Greengrass Core software stops its
2321
+ # process.
2287
2322
  # @return [Integer]
2288
2323
  #
2289
2324
  # @!attribute [rw] timeout_in_seconds
@@ -2300,13 +2335,13 @@ module Aws::GreengrassV2
2300
2335
  # @!attribute [rw] pinned
2301
2336
  # Whether or not the Lambda function is pinned, or long-lived.
2302
2337
  #
2303
- # * A pinned Lambda function starts when AWS IoT Greengrass starts and
2338
+ # * A pinned Lambda function starts when IoT Greengrass starts and
2304
2339
  # keeps running in its own container.
2305
2340
  #
2306
2341
  # * A non-pinned Lambda function starts only when it receives a work
2307
2342
  # item and exists after it idles for `maxIdleTimeInSeconds`. If the
2308
- # function has multiple work items, the AWS IoT Greengrass Core
2309
- # software creates multiple instances of the function.
2343
+ # function has multiple work items, the IoT Greengrass Core software
2344
+ # creates multiple instances of the function.
2310
2345
  #
2311
2346
  # Default: `true`
2312
2347
  # @return [Boolean]
@@ -2349,8 +2384,8 @@ module Aws::GreengrassV2
2349
2384
  include Aws::Structure
2350
2385
  end
2351
2386
 
2352
- # Contains information about an AWS Lambda function to import to create
2353
- # a component.
2387
+ # Contains information about an Lambda function to import to create a
2388
+ # component.
2354
2389
  #
2355
2390
  # @note When making an API call, you may pass LambdaFunctionRecipeSource
2356
2391
  # data as a hash:
@@ -2451,7 +2486,7 @@ module Aws::GreengrassV2
2451
2486
  #
2452
2487
  # @!attribute [rw] component_lambda_parameters
2453
2488
  # The system and runtime parameters for the Lambda function as it runs
2454
- # on the AWS IoT Greengrass core device.
2489
+ # on the Greengrass core device.
2455
2490
  # @return [Types::LambdaExecutionParameters]
2456
2491
  #
2457
2492
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaFunctionRecipeSource AWS API Documentation
@@ -2467,7 +2502,7 @@ module Aws::GreengrassV2
2467
2502
  include Aws::Structure
2468
2503
  end
2469
2504
 
2470
- # Contains parameters for a Linux process that contains an AWS Lambda
2505
+ # Contains parameters for a Linux process that contains an Lambda
2471
2506
  # function.
2472
2507
  #
2473
2508
  # @note When making an API call, you may pass LambdaLinuxProcessParams
@@ -2499,8 +2534,8 @@ module Aws::GreengrassV2
2499
2534
  # @!attribute [rw] isolation_mode
2500
2535
  # The isolation mode for the process that contains the Lambda
2501
2536
  # function. The process can run in an isolated runtime environment
2502
- # inside the AWS IoT Greengrass container, or as a regular process
2503
- # outside any container.
2537
+ # inside the IoT Greengrass container, or as a regular process outside
2538
+ # any container.
2504
2539
  #
2505
2540
  # Default: `GreengrassContainer`
2506
2541
  # @return [String]
@@ -2519,7 +2554,7 @@ module Aws::GreengrassV2
2519
2554
  end
2520
2555
 
2521
2556
  # Contains information about a volume that Linux processes in a
2522
- # container can access. When you define a volume, the AWS IoT Greengrass
2557
+ # container can access. When you define a volume, the IoT Greengrass
2523
2558
  # Core software mounts the source files to the destination inside the
2524
2559
  # container.
2525
2560
  #
@@ -2549,8 +2584,8 @@ module Aws::GreengrassV2
2549
2584
  # @return [String]
2550
2585
  #
2551
2586
  # @!attribute [rw] add_group_owner
2552
- # Whether or not to add the AWS IoT Greengrass user group as an owner
2553
- # of the volume.
2587
+ # Whether or not to add the IoT Greengrass user group as an owner of
2588
+ # the volume.
2554
2589
  #
2555
2590
  # Default: `false`
2556
2591
  # @return [Boolean]
@@ -2576,8 +2611,7 @@ module Aws::GreengrassV2
2576
2611
  # }
2577
2612
  #
2578
2613
  # @!attribute [rw] core_device_thing_name
2579
- # The name of the core device. This is also the name of the AWS IoT
2580
- # thing.
2614
+ # The name of the core device. This is also the name of the IoT thing.
2581
2615
  # @return [String]
2582
2616
  #
2583
2617
  # @!attribute [rw] max_results
@@ -2732,7 +2766,7 @@ module Aws::GreengrassV2
2732
2766
  # }
2733
2767
  #
2734
2768
  # @!attribute [rw] thing_group_arn
2735
- # The [ARN][1] of the AWS IoT thing group by which to filter. If you
2769
+ # The [ARN][1] of the IoT thing group by which to filter. If you
2736
2770
  # specify this parameter, the list includes only core devices that are
2737
2771
  # members of this thing group.
2738
2772
  #
@@ -2746,11 +2780,11 @@ module Aws::GreengrassV2
2746
2780
  # parameter, the list includes only core devices that have this
2747
2781
  # status. Choose one of the following options:
2748
2782
  #
2749
- # * `HEALTHY` – The AWS IoT Greengrass Core software and all
2750
- # components run on the core device without issue.
2783
+ # * `HEALTHY` – The IoT Greengrass Core software and all components
2784
+ # run on the core device without issue.
2751
2785
  #
2752
- # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component
2753
- # is in a failed state on the core device.
2786
+ # * `UNHEALTHY` – The IoT Greengrass Core software or a component is
2787
+ # in a failed state on the core device.
2754
2788
  # @return [String]
2755
2789
  #
2756
2790
  # @!attribute [rw] max_results
@@ -2801,7 +2835,7 @@ module Aws::GreengrassV2
2801
2835
  # }
2802
2836
  #
2803
2837
  # @!attribute [rw] target_arn
2804
- # The [ARN][1] of the target AWS IoT thing or thing group.
2838
+ # The [ARN][1] of the target IoT thing or thing group.
2805
2839
  #
2806
2840
  #
2807
2841
  #
@@ -2867,8 +2901,7 @@ module Aws::GreengrassV2
2867
2901
  # }
2868
2902
  #
2869
2903
  # @!attribute [rw] core_device_thing_name
2870
- # The name of the core device. This is also the name of the AWS IoT
2871
- # thing.
2904
+ # The name of the core device. This is also the name of the IoT thing.
2872
2905
  # @return [String]
2873
2906
  #
2874
2907
  # @!attribute [rw] max_results
@@ -2917,8 +2950,7 @@ module Aws::GreengrassV2
2917
2950
  # }
2918
2951
  #
2919
2952
  # @!attribute [rw] core_device_thing_name
2920
- # The name of the core device. This is also the name of the AWS IoT
2921
- # thing.
2953
+ # The name of the core device. This is also the name of the IoT thing.
2922
2954
  # @return [String]
2923
2955
  #
2924
2956
  # @!attribute [rw] max_results
@@ -2982,7 +3014,7 @@ module Aws::GreengrassV2
2982
3014
 
2983
3015
  # @!attribute [rw] tags
2984
3016
  # A list of key-value pairs that contain metadata for the resource.
2985
- # For more information, see [Tag your resources][1] in the *AWS IoT
3017
+ # For more information, see [Tag your resources][1] in the *IoT
2986
3018
  # Greengrass V2 Developer Guide*.
2987
3019
  #
2988
3020
  #
@@ -2998,6 +3030,21 @@ module Aws::GreengrassV2
2998
3030
  include Aws::Structure
2999
3031
  end
3000
3032
 
3033
+ # The request is already in progress. This exception occurs when you use
3034
+ # a client token for multiple requests while IoT Greengrass is still
3035
+ # processing an earlier request that uses the same client token.
3036
+ #
3037
+ # @!attribute [rw] message
3038
+ # @return [String]
3039
+ #
3040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/RequestAlreadyInProgressException AWS API Documentation
3041
+ #
3042
+ class RequestAlreadyInProgressException < Struct.new(
3043
+ :message)
3044
+ SENSITIVE = []
3045
+ include Aws::Structure
3046
+ end
3047
+
3001
3048
  # @note When making an API call, you may pass ResolveComponentCandidatesRequest
3002
3049
  # data as a hash:
3003
3050
  #
@@ -3051,7 +3098,7 @@ module Aws::GreengrassV2
3051
3098
  end
3052
3099
 
3053
3100
  # Contains information about a component version that is compatible to
3054
- # run on a AWS IoT Greengrass core device.
3101
+ # run on a Greengrass core device.
3055
3102
  #
3056
3103
  # @!attribute [rw] arn
3057
3104
  # The [ARN][1] of the component version.
@@ -3149,6 +3196,49 @@ module Aws::GreengrassV2
3149
3196
  include Aws::Structure
3150
3197
  end
3151
3198
 
3199
+ # Contains information about system resource limits that the IoT
3200
+ # Greengrass Core software applies to a component's processes. For more
3201
+ # information, see [Configure system resource limits for components][1].
3202
+ #
3203
+ #
3204
+ #
3205
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits
3206
+ #
3207
+ # @note When making an API call, you may pass SystemResourceLimits
3208
+ # data as a hash:
3209
+ #
3210
+ # {
3211
+ # memory: 1,
3212
+ # cpus: 1.0,
3213
+ # }
3214
+ #
3215
+ # @!attribute [rw] memory
3216
+ # The maximum amount of RAM, expressed in kilobytes, that a
3217
+ # component's processes can use on the core device.
3218
+ # @return [Integer]
3219
+ #
3220
+ # @!attribute [rw] cpus
3221
+ # The maximum amount of CPU time that a component's processes can use
3222
+ # on the core device. A core device's total CPU time is equivalent to
3223
+ # the device's number of CPU cores. For example, on a core device
3224
+ # with 4 CPU cores, you can set this value to `2` to limit the
3225
+ # component's processes to 50 percent usage of each CPU core. On a
3226
+ # device with 1 CPU core, you can set this value to `0.25` to limit
3227
+ # the component's processes to 25 percent usage of the CPU. If you
3228
+ # set this value to a number greater than the number of CPU cores, the
3229
+ # IoT Greengrass Core software doesn't limit the component's CPU
3230
+ # usage.
3231
+ # @return [Float]
3232
+ #
3233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/SystemResourceLimits AWS API Documentation
3234
+ #
3235
+ class SystemResourceLimits < Struct.new(
3236
+ :memory,
3237
+ :cpus)
3238
+ SENSITIVE = []
3239
+ include Aws::Structure
3240
+ end
3241
+
3152
3242
  # @note When making an API call, you may pass TagResourceRequest
3153
3243
  # data as a hash:
3154
3244
  #
@@ -3169,7 +3259,7 @@ module Aws::GreengrassV2
3169
3259
  #
3170
3260
  # @!attribute [rw] tags
3171
3261
  # A list of key-value pairs that contain metadata for the resource.
3172
- # For more information, see [Tag your resources][1] in the *AWS IoT
3262
+ # For more information, see [Tag your resources][1] in the *IoT
3173
3263
  # Greengrass V2 Developer Guide*.
3174
3264
  #
3175
3265
  #