aws-sdk-greengrassv2 1.3.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,8 +14,20 @@ module Aws::GreengrassV2
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AssociateClientDeviceWithCoreDeviceEntry = Shapes::StructureShape.new(name: 'AssociateClientDeviceWithCoreDeviceEntry')
18
+ AssociateClientDeviceWithCoreDeviceEntryList = Shapes::ListShape.new(name: 'AssociateClientDeviceWithCoreDeviceEntryList')
19
+ AssociateClientDeviceWithCoreDeviceErrorEntry = Shapes::StructureShape.new(name: 'AssociateClientDeviceWithCoreDeviceErrorEntry')
20
+ AssociateClientDeviceWithCoreDeviceErrorList = Shapes::ListShape.new(name: 'AssociateClientDeviceWithCoreDeviceErrorList')
21
+ AssociatedClientDevice = Shapes::StructureShape.new(name: 'AssociatedClientDevice')
22
+ AssociatedClientDeviceList = Shapes::ListShape.new(name: 'AssociatedClientDeviceList')
23
+ BatchAssociateClientDeviceWithCoreDeviceRequest = Shapes::StructureShape.new(name: 'BatchAssociateClientDeviceWithCoreDeviceRequest')
24
+ BatchAssociateClientDeviceWithCoreDeviceResponse = Shapes::StructureShape.new(name: 'BatchAssociateClientDeviceWithCoreDeviceResponse')
25
+ BatchDisassociateClientDeviceFromCoreDeviceRequest = Shapes::StructureShape.new(name: 'BatchDisassociateClientDeviceFromCoreDeviceRequest')
26
+ BatchDisassociateClientDeviceFromCoreDeviceResponse = Shapes::StructureShape.new(name: 'BatchDisassociateClientDeviceFromCoreDeviceResponse')
27
+ CPU = Shapes::FloatShape.new(name: 'CPU')
17
28
  CancelDeploymentRequest = Shapes::StructureShape.new(name: 'CancelDeploymentRequest')
18
29
  CancelDeploymentResponse = Shapes::StructureShape.new(name: 'CancelDeploymentResponse')
30
+ ClientTokenString = Shapes::StringShape.new(name: 'ClientTokenString')
19
31
  CloudComponentState = Shapes::StringShape.new(name: 'CloudComponentState')
20
32
  CloudComponentStatus = Shapes::StructureShape.new(name: 'CloudComponentStatus')
21
33
  Component = Shapes::StructureShape.new(name: 'Component')
@@ -73,6 +85,10 @@ module Aws::GreengrassV2
73
85
  DescribeComponentResponse = Shapes::StructureShape.new(name: 'DescribeComponentResponse')
74
86
  Description = Shapes::StringShape.new(name: 'Description')
75
87
  DescriptionString = Shapes::StringShape.new(name: 'DescriptionString')
88
+ DisassociateClientDeviceFromCoreDeviceEntry = Shapes::StructureShape.new(name: 'DisassociateClientDeviceFromCoreDeviceEntry')
89
+ DisassociateClientDeviceFromCoreDeviceEntryList = Shapes::ListShape.new(name: 'DisassociateClientDeviceFromCoreDeviceEntryList')
90
+ DisassociateClientDeviceFromCoreDeviceErrorEntry = Shapes::StructureShape.new(name: 'DisassociateClientDeviceFromCoreDeviceErrorEntry')
91
+ DisassociateClientDeviceFromCoreDeviceErrorList = Shapes::ListShape.new(name: 'DisassociateClientDeviceFromCoreDeviceErrorList')
76
92
  EffectiveDeployment = Shapes::StructureShape.new(name: 'EffectiveDeployment')
77
93
  EffectiveDeploymentExecutionStatus = Shapes::StringShape.new(name: 'EffectiveDeploymentExecutionStatus')
78
94
  EffectiveDeploymentsList = Shapes::ListShape.new(name: 'EffectiveDeploymentsList')
@@ -109,6 +125,7 @@ module Aws::GreengrassV2
109
125
  IoTJobRolloutBaseRatePerMinute = Shapes::IntegerShape.new(name: 'IoTJobRolloutBaseRatePerMinute')
110
126
  IoTJobRolloutIncrementFactor = Shapes::FloatShape.new(name: 'IoTJobRolloutIncrementFactor')
111
127
  IoTJobTimeoutConfig = Shapes::StructureShape.new(name: 'IoTJobTimeoutConfig')
128
+ IoTThingName = Shapes::StringShape.new(name: 'IoTThingName')
112
129
  IsLatestForTarget = Shapes::BooleanShape.new(name: 'IsLatestForTarget')
113
130
  IsRoot = Shapes::BooleanShape.new(name: 'IsRoot')
114
131
  LambdaContainerParams = Shapes::StructureShape.new(name: 'LambdaContainerParams')
@@ -130,6 +147,8 @@ module Aws::GreengrassV2
130
147
  LambdaVolumeList = Shapes::ListShape.new(name: 'LambdaVolumeList')
131
148
  LambdaVolumeMount = Shapes::StructureShape.new(name: 'LambdaVolumeMount')
132
149
  LifecycleStateDetails = Shapes::StringShape.new(name: 'LifecycleStateDetails')
150
+ ListClientDevicesAssociatedWithCoreDeviceRequest = Shapes::StructureShape.new(name: 'ListClientDevicesAssociatedWithCoreDeviceRequest')
151
+ ListClientDevicesAssociatedWithCoreDeviceResponse = Shapes::StructureShape.new(name: 'ListClientDevicesAssociatedWithCoreDeviceResponse')
133
152
  ListComponentVersionsRequest = Shapes::StructureShape.new(name: 'ListComponentVersionsRequest')
134
153
  ListComponentVersionsResponse = Shapes::StructureShape.new(name: 'ListComponentVersionsResponse')
135
154
  ListComponentsRequest = Shapes::StructureShape.new(name: 'ListComponentsRequest')
@@ -144,6 +163,7 @@ module Aws::GreengrassV2
144
163
  ListInstalledComponentsResponse = Shapes::StructureShape.new(name: 'ListInstalledComponentsResponse')
145
164
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
146
165
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
166
+ Memory = Shapes::IntegerShape.new(name: 'Memory')
147
167
  NextTokenString = Shapes::StringShape.new(name: 'NextTokenString')
148
168
  NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
149
169
  NullableString = Shapes::StringShape.new(name: 'NullableString')
@@ -154,6 +174,7 @@ module Aws::GreengrassV2
154
174
  Reason = Shapes::StringShape.new(name: 'Reason')
155
175
  RecipeBlob = Shapes::BlobShape.new(name: 'RecipeBlob')
156
176
  RecipeOutputFormat = Shapes::StringShape.new(name: 'RecipeOutputFormat')
177
+ RequestAlreadyInProgressException = Shapes::StructureShape.new(name: 'RequestAlreadyInProgressException')
157
178
  ResolveComponentCandidatesRequest = Shapes::StructureShape.new(name: 'ResolveComponentCandidatesRequest')
158
179
  ResolveComponentCandidatesResponse = Shapes::StructureShape.new(name: 'ResolveComponentCandidatesResponse')
159
180
  ResolvedComponentVersion = Shapes::StructureShape.new(name: 'ResolvedComponentVersion')
@@ -163,6 +184,7 @@ module Aws::GreengrassV2
163
184
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
164
185
  String = Shapes::StringShape.new(name: 'String')
165
186
  StringMap = Shapes::MapShape.new(name: 'StringMap')
187
+ SystemResourceLimits = Shapes::StructureShape.new(name: 'SystemResourceLimits')
166
188
  TagKey = Shapes::StringShape.new(name: 'TagKey')
167
189
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
168
190
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -184,6 +206,38 @@ module Aws::GreengrassV2
184
206
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
185
207
  AccessDeniedException.struct_class = Types::AccessDeniedException
186
208
 
209
+ AssociateClientDeviceWithCoreDeviceEntry.add_member(:thing_name, Shapes::ShapeRef.new(shape: IoTThingName, required: true, location_name: "thingName"))
210
+ AssociateClientDeviceWithCoreDeviceEntry.struct_class = Types::AssociateClientDeviceWithCoreDeviceEntry
211
+
212
+ AssociateClientDeviceWithCoreDeviceEntryList.member = Shapes::ShapeRef.new(shape: AssociateClientDeviceWithCoreDeviceEntry)
213
+
214
+ AssociateClientDeviceWithCoreDeviceErrorEntry.add_member(:thing_name, Shapes::ShapeRef.new(shape: IoTThingName, location_name: "thingName"))
215
+ AssociateClientDeviceWithCoreDeviceErrorEntry.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "code"))
216
+ AssociateClientDeviceWithCoreDeviceErrorEntry.add_member(:message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "message"))
217
+ AssociateClientDeviceWithCoreDeviceErrorEntry.struct_class = Types::AssociateClientDeviceWithCoreDeviceErrorEntry
218
+
219
+ AssociateClientDeviceWithCoreDeviceErrorList.member = Shapes::ShapeRef.new(shape: AssociateClientDeviceWithCoreDeviceErrorEntry)
220
+
221
+ AssociatedClientDevice.add_member(:thing_name, Shapes::ShapeRef.new(shape: IoTThingName, location_name: "thingName"))
222
+ AssociatedClientDevice.add_member(:association_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "associationTimestamp"))
223
+ AssociatedClientDevice.struct_class = Types::AssociatedClientDevice
224
+
225
+ AssociatedClientDeviceList.member = Shapes::ShapeRef.new(shape: AssociatedClientDevice)
226
+
227
+ BatchAssociateClientDeviceWithCoreDeviceRequest.add_member(:entries, Shapes::ShapeRef.new(shape: AssociateClientDeviceWithCoreDeviceEntryList, location_name: "entries"))
228
+ BatchAssociateClientDeviceWithCoreDeviceRequest.add_member(:core_device_thing_name, Shapes::ShapeRef.new(shape: IoTThingName, required: true, location: "uri", location_name: "coreDeviceThingName"))
229
+ BatchAssociateClientDeviceWithCoreDeviceRequest.struct_class = Types::BatchAssociateClientDeviceWithCoreDeviceRequest
230
+
231
+ BatchAssociateClientDeviceWithCoreDeviceResponse.add_member(:error_entries, Shapes::ShapeRef.new(shape: AssociateClientDeviceWithCoreDeviceErrorList, location_name: "errorEntries"))
232
+ BatchAssociateClientDeviceWithCoreDeviceResponse.struct_class = Types::BatchAssociateClientDeviceWithCoreDeviceResponse
233
+
234
+ BatchDisassociateClientDeviceFromCoreDeviceRequest.add_member(:entries, Shapes::ShapeRef.new(shape: DisassociateClientDeviceFromCoreDeviceEntryList, location_name: "entries"))
235
+ BatchDisassociateClientDeviceFromCoreDeviceRequest.add_member(:core_device_thing_name, Shapes::ShapeRef.new(shape: IoTThingName, required: true, location: "uri", location_name: "coreDeviceThingName"))
236
+ BatchDisassociateClientDeviceFromCoreDeviceRequest.struct_class = Types::BatchDisassociateClientDeviceFromCoreDeviceRequest
237
+
238
+ BatchDisassociateClientDeviceFromCoreDeviceResponse.add_member(:error_entries, Shapes::ShapeRef.new(shape: DisassociateClientDeviceFromCoreDeviceErrorList, location_name: "errorEntries"))
239
+ BatchDisassociateClientDeviceFromCoreDeviceResponse.struct_class = Types::BatchDisassociateClientDeviceFromCoreDeviceResponse
240
+
187
241
  CancelDeploymentRequest.add_member(:deployment_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "deploymentId"))
188
242
  CancelDeploymentRequest.struct_class = Types::CancelDeploymentRequest
189
243
 
@@ -245,6 +299,7 @@ module Aws::GreengrassV2
245
299
  ComponentPlatformList.member = Shapes::ShapeRef.new(shape: ComponentPlatform)
246
300
 
247
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"))
248
303
  ComponentRunWith.struct_class = Types::ComponentRunWith
249
304
 
250
305
  ComponentVersionList.member = Shapes::ShapeRef.new(shape: ComponentVersionListItem)
@@ -272,6 +327,7 @@ module Aws::GreengrassV2
272
327
  CreateComponentVersionRequest.add_member(:inline_recipe, Shapes::ShapeRef.new(shape: RecipeBlob, location_name: "inlineRecipe"))
273
328
  CreateComponentVersionRequest.add_member(:lambda_function, Shapes::ShapeRef.new(shape: LambdaFunctionRecipeSource, location_name: "lambdaFunction"))
274
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}))
275
331
  CreateComponentVersionRequest.struct_class = Types::CreateComponentVersionRequest
276
332
 
277
333
  CreateComponentVersionResponse.add_member(:arn, Shapes::ShapeRef.new(shape: ComponentVersionARN, location_name: "arn"))
@@ -287,6 +343,7 @@ module Aws::GreengrassV2
287
343
  CreateDeploymentRequest.add_member(:iot_job_configuration, Shapes::ShapeRef.new(shape: DeploymentIoTJobConfiguration, location_name: "iotJobConfiguration"))
288
344
  CreateDeploymentRequest.add_member(:deployment_policies, Shapes::ShapeRef.new(shape: DeploymentPolicies, location_name: "deploymentPolicies"))
289
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}))
290
347
  CreateDeploymentRequest.struct_class = Types::CreateDeploymentRequest
291
348
 
292
349
  CreateDeploymentResponse.add_member(:deployment_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "deploymentId"))
@@ -342,6 +399,18 @@ module Aws::GreengrassV2
342
399
  DescribeComponentResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
343
400
  DescribeComponentResponse.struct_class = Types::DescribeComponentResponse
344
401
 
402
+ DisassociateClientDeviceFromCoreDeviceEntry.add_member(:thing_name, Shapes::ShapeRef.new(shape: IoTThingName, required: true, location_name: "thingName"))
403
+ DisassociateClientDeviceFromCoreDeviceEntry.struct_class = Types::DisassociateClientDeviceFromCoreDeviceEntry
404
+
405
+ DisassociateClientDeviceFromCoreDeviceEntryList.member = Shapes::ShapeRef.new(shape: DisassociateClientDeviceFromCoreDeviceEntry)
406
+
407
+ DisassociateClientDeviceFromCoreDeviceErrorEntry.add_member(:thing_name, Shapes::ShapeRef.new(shape: IoTThingName, location_name: "thingName"))
408
+ DisassociateClientDeviceFromCoreDeviceErrorEntry.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "code"))
409
+ DisassociateClientDeviceFromCoreDeviceErrorEntry.add_member(:message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "message"))
410
+ DisassociateClientDeviceFromCoreDeviceErrorEntry.struct_class = Types::DisassociateClientDeviceFromCoreDeviceErrorEntry
411
+
412
+ DisassociateClientDeviceFromCoreDeviceErrorList.member = Shapes::ShapeRef.new(shape: DisassociateClientDeviceFromCoreDeviceErrorEntry)
413
+
345
414
  EffectiveDeployment.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentID, required: true, location_name: "deploymentId"))
346
415
  EffectiveDeployment.add_member(:deployment_name, Shapes::ShapeRef.new(shape: DeploymentName, required: true, location_name: "deploymentName"))
347
416
  EffectiveDeployment.add_member(:iot_job_id, Shapes::ShapeRef.new(shape: IoTJobId, location_name: "iotJobId"))
@@ -499,6 +568,15 @@ module Aws::GreengrassV2
499
568
  LambdaVolumeMount.add_member(:add_group_owner, Shapes::ShapeRef.new(shape: OptionalBoolean, location_name: "addGroupOwner", metadata: {"box"=>true}))
500
569
  LambdaVolumeMount.struct_class = Types::LambdaVolumeMount
501
570
 
571
+ ListClientDevicesAssociatedWithCoreDeviceRequest.add_member(:core_device_thing_name, Shapes::ShapeRef.new(shape: IoTThingName, required: true, location: "uri", location_name: "coreDeviceThingName"))
572
+ ListClientDevicesAssociatedWithCoreDeviceRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DefaultMaxResults, location: "querystring", location_name: "maxResults", metadata: {"box"=>true}))
573
+ ListClientDevicesAssociatedWithCoreDeviceRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenString, location: "querystring", location_name: "nextToken", metadata: {"box"=>true}))
574
+ ListClientDevicesAssociatedWithCoreDeviceRequest.struct_class = Types::ListClientDevicesAssociatedWithCoreDeviceRequest
575
+
576
+ ListClientDevicesAssociatedWithCoreDeviceResponse.add_member(:associated_client_devices, Shapes::ShapeRef.new(shape: AssociatedClientDeviceList, location_name: "associatedClientDevices"))
577
+ ListClientDevicesAssociatedWithCoreDeviceResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenString, location_name: "nextToken", metadata: {"box"=>true}))
578
+ ListClientDevicesAssociatedWithCoreDeviceResponse.struct_class = Types::ListClientDevicesAssociatedWithCoreDeviceResponse
579
+
502
580
  ListComponentVersionsRequest.add_member(:arn, Shapes::ShapeRef.new(shape: ComponentARN, required: true, location: "uri", location_name: "arn"))
503
581
  ListComponentVersionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DefaultMaxResults, location: "querystring", location_name: "maxResults", metadata: {"box"=>true}))
504
582
  ListComponentVersionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenString, location: "querystring", location_name: "nextToken", metadata: {"box"=>true}))
@@ -564,6 +642,9 @@ module Aws::GreengrassV2
564
642
  PlatformAttributesMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
565
643
  PlatformAttributesMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
566
644
 
645
+ RequestAlreadyInProgressException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
646
+ RequestAlreadyInProgressException.struct_class = Types::RequestAlreadyInProgressException
647
+
567
648
  ResolveComponentCandidatesRequest.add_member(:platform, Shapes::ShapeRef.new(shape: ComponentPlatform, required: true, location_name: "platform"))
568
649
  ResolveComponentCandidatesRequest.add_member(:component_candidates, Shapes::ShapeRef.new(shape: ComponentCandidateList, required: true, location_name: "componentCandidates"))
569
650
  ResolveComponentCandidatesRequest.struct_class = Types::ResolveComponentCandidatesRequest
@@ -594,6 +675,10 @@ module Aws::GreengrassV2
594
675
  StringMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
595
676
  StringMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
596
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
+
597
682
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
598
683
 
599
684
  TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
@@ -646,6 +731,32 @@ module Aws::GreengrassV2
646
731
  "uid" => "greengrassv2-2020-11-30",
647
732
  }
648
733
 
734
+ api.add_operation(:batch_associate_client_device_with_core_device, Seahorse::Model::Operation.new.tap do |o|
735
+ o.name = "BatchAssociateClientDeviceWithCoreDevice"
736
+ o.http_method = "POST"
737
+ o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/associateClientDevices"
738
+ o.input = Shapes::ShapeRef.new(shape: BatchAssociateClientDeviceWithCoreDeviceRequest)
739
+ o.output = Shapes::ShapeRef.new(shape: BatchAssociateClientDeviceWithCoreDeviceResponse)
740
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
741
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
742
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
743
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
744
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
745
+ end)
746
+
747
+ api.add_operation(:batch_disassociate_client_device_from_core_device, Seahorse::Model::Operation.new.tap do |o|
748
+ o.name = "BatchDisassociateClientDeviceFromCoreDevice"
749
+ o.http_method = "POST"
750
+ o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/disassociateClientDevices"
751
+ o.input = Shapes::ShapeRef.new(shape: BatchDisassociateClientDeviceFromCoreDeviceRequest)
752
+ o.output = Shapes::ShapeRef.new(shape: BatchDisassociateClientDeviceFromCoreDeviceResponse)
753
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
754
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
755
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
756
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
757
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
758
+ end)
759
+
649
760
  api.add_operation(:cancel_deployment, Seahorse::Model::Operation.new.tap do |o|
650
761
  o.name = "CancelDeployment"
651
762
  o.http_method = "POST"
@@ -672,6 +783,7 @@ module Aws::GreengrassV2
672
783
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
673
784
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
674
785
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
786
+ o.errors << Shapes::ShapeRef.new(shape: RequestAlreadyInProgressException)
675
787
  end)
676
788
 
677
789
  api.add_operation(:create_deployment, Seahorse::Model::Operation.new.tap do |o|
@@ -685,6 +797,7 @@ module Aws::GreengrassV2
685
797
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
686
798
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
687
799
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
800
+ o.errors << Shapes::ShapeRef.new(shape: RequestAlreadyInProgressException)
688
801
  end)
689
802
 
690
803
  api.add_operation(:delete_component, Seahorse::Model::Operation.new.tap do |o|
@@ -780,6 +893,25 @@ module Aws::GreengrassV2
780
893
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
781
894
  end)
782
895
 
896
+ api.add_operation(:list_client_devices_associated_with_core_device, Seahorse::Model::Operation.new.tap do |o|
897
+ o.name = "ListClientDevicesAssociatedWithCoreDevice"
898
+ o.http_method = "GET"
899
+ o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/associatedClientDevices"
900
+ o.input = Shapes::ShapeRef.new(shape: ListClientDevicesAssociatedWithCoreDeviceRequest)
901
+ o.output = Shapes::ShapeRef.new(shape: ListClientDevicesAssociatedWithCoreDeviceResponse)
902
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
903
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
904
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
905
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
906
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
907
+ o[:pager] = Aws::Pager.new(
908
+ limit_key: "max_results",
909
+ tokens: {
910
+ "next_token" => "next_token"
911
+ }
912
+ )
913
+ end)
914
+
783
915
  api.add_operation(:list_component_versions, Seahorse::Model::Operation.new.tap do |o|
784
916
  o.name = "ListComponentVersions"
785
917
  o.http_method = "GET"
@@ -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
@@ -23,6 +23,172 @@ module Aws::GreengrassV2
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
+ # Contains a request to associate a client device with a core device.
27
+ # The [BatchAssociateClientDeviceWithCoreDevice][1] operation consumes a
28
+ # list of these requests.
29
+ #
30
+ #
31
+ #
32
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html
33
+ #
34
+ # @note When making an API call, you may pass AssociateClientDeviceWithCoreDeviceEntry
35
+ # data as a hash:
36
+ #
37
+ # {
38
+ # thing_name: "IoTThingName", # required
39
+ # }
40
+ #
41
+ # @!attribute [rw] thing_name
42
+ # The name of the IoT thing that represents the client device to
43
+ # associate.
44
+ # @return [String]
45
+ #
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateClientDeviceWithCoreDeviceEntry AWS API Documentation
47
+ #
48
+ class AssociateClientDeviceWithCoreDeviceEntry < Struct.new(
49
+ :thing_name)
50
+ SENSITIVE = []
51
+ include Aws::Structure
52
+ end
53
+
54
+ # Contains an error that occurs from a request to associate a client
55
+ # device with a core device. The
56
+ # [BatchAssociateClientDeviceWithCoreDevice][1] operation returns a list
57
+ # of these errors.
58
+ #
59
+ #
60
+ #
61
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html
62
+ #
63
+ # @!attribute [rw] thing_name
64
+ # The name of the IoT thing whose associate request failed.
65
+ # @return [String]
66
+ #
67
+ # @!attribute [rw] code
68
+ # The error code for the request.
69
+ # @return [String]
70
+ #
71
+ # @!attribute [rw] message
72
+ # A message that provides additional information about the error.
73
+ # @return [String]
74
+ #
75
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateClientDeviceWithCoreDeviceErrorEntry AWS API Documentation
76
+ #
77
+ class AssociateClientDeviceWithCoreDeviceErrorEntry < Struct.new(
78
+ :thing_name,
79
+ :code,
80
+ :message)
81
+ SENSITIVE = []
82
+ include Aws::Structure
83
+ end
84
+
85
+ # Contains information about a client device that is associated to a
86
+ # core device for cloud discovery.
87
+ #
88
+ # @!attribute [rw] thing_name
89
+ # The name of the IoT thing that represents the associated client
90
+ # device.
91
+ # @return [String]
92
+ #
93
+ # @!attribute [rw] association_timestamp
94
+ # The time that the client device was associated, expressed in ISO
95
+ # 8601 format.
96
+ # @return [Time]
97
+ #
98
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociatedClientDevice AWS API Documentation
99
+ #
100
+ class AssociatedClientDevice < Struct.new(
101
+ :thing_name,
102
+ :association_timestamp)
103
+ SENSITIVE = []
104
+ include Aws::Structure
105
+ end
106
+
107
+ # @note When making an API call, you may pass BatchAssociateClientDeviceWithCoreDeviceRequest
108
+ # data as a hash:
109
+ #
110
+ # {
111
+ # entries: [
112
+ # {
113
+ # thing_name: "IoTThingName", # required
114
+ # },
115
+ # ],
116
+ # core_device_thing_name: "IoTThingName", # required
117
+ # }
118
+ #
119
+ # @!attribute [rw] entries
120
+ # The list of client devices to associate.
121
+ # @return [Array<Types::AssociateClientDeviceWithCoreDeviceEntry>]
122
+ #
123
+ # @!attribute [rw] core_device_thing_name
124
+ # The name of the core device. This is also the name of the IoT thing.
125
+ # @return [String]
126
+ #
127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDeviceRequest AWS API Documentation
128
+ #
129
+ class BatchAssociateClientDeviceWithCoreDeviceRequest < Struct.new(
130
+ :entries,
131
+ :core_device_thing_name)
132
+ SENSITIVE = []
133
+ include Aws::Structure
134
+ end
135
+
136
+ # @!attribute [rw] error_entries
137
+ # The list of any errors for the entries in the request. Each error
138
+ # entry contains the name of the IoT thing that failed to associate.
139
+ # @return [Array<Types::AssociateClientDeviceWithCoreDeviceErrorEntry>]
140
+ #
141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDeviceResponse AWS API Documentation
142
+ #
143
+ class BatchAssociateClientDeviceWithCoreDeviceResponse < Struct.new(
144
+ :error_entries)
145
+ SENSITIVE = []
146
+ include Aws::Structure
147
+ end
148
+
149
+ # @note When making an API call, you may pass BatchDisassociateClientDeviceFromCoreDeviceRequest
150
+ # data as a hash:
151
+ #
152
+ # {
153
+ # entries: [
154
+ # {
155
+ # thing_name: "IoTThingName", # required
156
+ # },
157
+ # ],
158
+ # core_device_thing_name: "IoTThingName", # required
159
+ # }
160
+ #
161
+ # @!attribute [rw] entries
162
+ # The list of client devices to disassociate.
163
+ # @return [Array<Types::DisassociateClientDeviceFromCoreDeviceEntry>]
164
+ #
165
+ # @!attribute [rw] core_device_thing_name
166
+ # The name of the core device. This is also the name of the IoT thing.
167
+ # @return [String]
168
+ #
169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDeviceRequest AWS API Documentation
170
+ #
171
+ class BatchDisassociateClientDeviceFromCoreDeviceRequest < Struct.new(
172
+ :entries,
173
+ :core_device_thing_name)
174
+ SENSITIVE = []
175
+ include Aws::Structure
176
+ end
177
+
178
+ # @!attribute [rw] error_entries
179
+ # The list of errors (if any) for the entries in the request. Each
180
+ # error entry contains the name of the IoT thing that failed to
181
+ # disassociate.
182
+ # @return [Array<Types::DisassociateClientDeviceFromCoreDeviceErrorEntry>]
183
+ #
184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDeviceResponse AWS API Documentation
185
+ #
186
+ class BatchDisassociateClientDeviceFromCoreDeviceResponse < Struct.new(
187
+ :error_entries)
188
+ SENSITIVE = []
189
+ include Aws::Structure
190
+ end
191
+
26
192
  # @note When making an API call, you may pass CancelDeploymentRequest
27
193
  # data as a hash:
28
194
  #
@@ -54,7 +220,7 @@ module Aws::GreengrassV2
54
220
  include Aws::Structure
55
221
  end
56
222
 
57
- # Contains the status of a component in the AWS IoT Greengrass service.
223
+ # Contains the status of a component in the IoT Greengrass service.
58
224
  #
59
225
  # @!attribute [rw] component_state
60
226
  # The state of the component.
@@ -67,7 +233,7 @@ module Aws::GreengrassV2
67
233
  #
68
234
  # @!attribute [rw] errors
69
235
  # A dictionary of errors that communicate why the component is in an
70
- # error state. For example, if AWS IoT Greengrass can't access an
236
+ # error state. For example, if IoT Greengrass can't access an
71
237
  # artifact for the component, then `errors` contains the artifact's
72
238
  # URI as a key, and the error message as the value for that key.
73
239
  # @return [Hash<String,String>]
@@ -111,7 +277,7 @@ module Aws::GreengrassV2
111
277
  end
112
278
 
113
279
  # Contains information about a component that is a candidate to deploy
114
- # to a AWS IoT Greengrass core device.
280
+ # to a Greengrass core device.
115
281
  #
116
282
  # @note When making an API call, you may pass ComponentCandidate
117
283
  # data as a hash:
@@ -133,11 +299,11 @@ module Aws::GreengrassV2
133
299
  # @return [String]
134
300
  #
135
301
  # @!attribute [rw] version_requirements
136
- # The version requirements for the component's dependencies. AWS IoT
302
+ # The version requirements for the component's dependencies.
137
303
  # Greengrass core devices get the version requirements from component
138
304
  # recipes.
139
305
  #
140
- # AWS IoT Greengrass V2 uses semantic version constraints. For more
306
+ # IoT Greengrass V2 uses semantic version constraints. For more
141
307
  # information, see [Semantic Versioning][1].
142
308
  #
143
309
  #
@@ -157,7 +323,7 @@ module Aws::GreengrassV2
157
323
 
158
324
  # Contains information about a deployment's update to a component's
159
325
  # configuration on Greengrass core devices. For more information, see
160
- # [Update component configurations][1] in the *AWS IoT Greengrass V2
326
+ # [Update component configurations][1] in the *IoT Greengrass V2
161
327
  # Developer Guide*.
162
328
  #
163
329
  #
@@ -180,7 +346,7 @@ module Aws::GreengrassV2
180
346
  # configuration with the component's default configuration. This
181
347
  # means that the core device keeps it's existing configuration for
182
348
  # keys and values that you don't specify in this object. For more
183
- # information, see [Merge configuration updates][1] in the *AWS IoT
349
+ # information, see [Merge configuration updates][1] in the *IoT
184
350
  # Greengrass V2 Developer Guide*.
185
351
  #
186
352
  #
@@ -194,7 +360,7 @@ module Aws::GreengrassV2
194
360
  # pointers start with a forward slash (`/`) and use forward slashes to
195
361
  # separate the key for each level in the object. For more information,
196
362
  # see the [JSON pointer specification][1] and [Reset configuration
197
- # updates][2] in the *AWS IoT Greengrass V2 Developer Guide*.
363
+ # updates][2] in the *IoT Greengrass V2 Developer Guide*.
198
364
  #
199
365
  #
200
366
  #
@@ -225,7 +391,7 @@ module Aws::GreengrassV2
225
391
  # @!attribute [rw] version_requirement
226
392
  # The component version requirement for the component dependency.
227
393
  #
228
- # AWS IoT Greengrass V2 uses semantic version constraints. For more
394
+ # IoT Greengrass V2 uses semantic version constraints. For more
229
395
  # information, see [Semantic Versioning][1].
230
396
  #
231
397
  #
@@ -266,6 +432,10 @@ module Aws::GreengrassV2
266
432
  # },
267
433
  # run_with: {
268
434
  # posix_user: "NonEmptyString",
435
+ # system_resource_limits: {
436
+ # memory: 1,
437
+ # cpus: 1.0,
438
+ # },
269
439
  # },
270
440
  # }
271
441
  #
@@ -278,10 +448,10 @@ module Aws::GreengrassV2
278
448
  # define *reset* updates and *merge* updates. A reset updates the keys
279
449
  # that you specify to the default configuration for the component. A
280
450
  # merge updates the core device's component configuration with the
281
- # keys and values that you specify. The AWS IoT Greengrass Core
282
- # software applies reset updates before it applies merge updates. For
283
- # more information, see [Update component configurations][1] in the
284
- # *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*.
285
455
  #
286
456
  #
287
457
  #
@@ -289,12 +459,12 @@ module Aws::GreengrassV2
289
459
  # @return [Types::ComponentConfigurationUpdate]
290
460
  #
291
461
  # @!attribute [rw] run_with
292
- # The system user and group that the AWS IoT Greengrass Core software
293
- # uses to run component processes on the core device. If you omit this
294
- # parameter, the AWS IoT Greengrass Core software uses the system user
295
- # and group that you configure for the core device. For more
296
- # information, see [Configure the user and group that run
297
- # 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*.
298
468
  #
299
469
  #
300
470
  #
@@ -371,17 +541,17 @@ module Aws::GreengrassV2
371
541
  # The friendly name of the platform. This name helps you identify the
372
542
  # platform.
373
543
  #
374
- # If you omit this parameter, AWS IoT Greengrass creates a friendly
375
- # 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.
376
546
  # @return [String]
377
547
  #
378
548
  # @!attribute [rw] attributes
379
- # A dictionary of attributes for the platform. The AWS IoT Greengrass
380
- # Core software defines the `os` and `platform` by default. You can
381
- # specify additional platform attributes for a core device when you
382
- # deploy the AWS IoT Greengrass nucleus component. For more
383
- # information, see the [AWS IoT Greengrass nucleus component][1] in
384
- # 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*.
385
555
  #
386
556
  #
387
557
  #
@@ -397,10 +567,10 @@ module Aws::GreengrassV2
397
567
  include Aws::Structure
398
568
  end
399
569
 
400
- # Contains information system user and group that the AWS IoT Greengrass
570
+ # Contains information system user and group that the IoT Greengrass
401
571
  # Core software uses to run component processes on the core device. For
402
572
  # more information, see [Configure the user and group that run
403
- # components][1] in the *AWS IoT Greengrass V2 Developer Guide*.
573
+ # components][1] in the *IoT Greengrass V2 Developer Guide*.
404
574
  #
405
575
  #
406
576
  #
@@ -411,20 +581,48 @@ module Aws::GreengrassV2
411
581
  #
412
582
  # {
413
583
  # posix_user: "NonEmptyString",
584
+ # system_resource_limits: {
585
+ # memory: 1,
586
+ # cpus: 1.0,
587
+ # },
414
588
  # }
415
589
  #
416
590
  # @!attribute [rw] posix_user
417
591
  # The POSIX system user and (optional) group to use to run this
418
592
  # component. Specify the user and group separated by a colon (`:`) in
419
593
  # the following format: `user:group`. The group is optional. If you
420
- # don't specify a group, the AWS IoT Greengrass Core software uses
421
- # 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
422
605
  # @return [String]
423
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
+ #
424
621
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentRunWith AWS API Documentation
425
622
  #
426
623
  class ComponentRunWith < Struct.new(
427
- :posix_user)
624
+ :posix_user,
625
+ :system_resource_limits)
428
626
  SENSITIVE = []
429
627
  include Aws::Structure
430
628
  end
@@ -482,23 +680,22 @@ module Aws::GreengrassV2
482
680
  include Aws::Structure
483
681
  end
484
682
 
485
- # Contains information about a AWS IoT Greengrass core device, which is
486
- # 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.
487
685
  #
488
686
  # @!attribute [rw] core_device_thing_name
489
- # The name of the core device. This is also the name of the AWS IoT
490
- # thing.
687
+ # The name of the core device. This is also the name of the IoT thing.
491
688
  # @return [String]
492
689
  #
493
690
  # @!attribute [rw] status
494
691
  # The status of the core device. Core devices can have the following
495
692
  # statuses:
496
693
  #
497
- # * `HEALTHY` – The AWS IoT Greengrass Core software and all
498
- # 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.
499
696
  #
500
- # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component
501
- # 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.
502
699
  # @return [String]
503
700
  #
504
701
  # @!attribute [rw] last_status_update_timestamp
@@ -584,6 +781,7 @@ module Aws::GreengrassV2
584
781
  # tags: {
585
782
  # "TagKey" => "TagValue",
586
783
  # },
784
+ # client_token: "ClientTokenString",
587
785
  # }
588
786
  #
589
787
  # @!attribute [rw] inline_recipe
@@ -602,7 +800,7 @@ module Aws::GreengrassV2
602
800
  #
603
801
  # @!attribute [rw] tags
604
802
  # A list of key-value pairs that contain metadata for the resource.
605
- # For more information, see [Tag your resources][1] in the *AWS IoT
803
+ # For more information, see [Tag your resources][1] in the *IoT
606
804
  # Greengrass V2 Developer Guide*.
607
805
  #
608
806
  #
@@ -610,12 +808,27 @@ module Aws::GreengrassV2
610
808
  # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html
611
809
  # @return [Hash<String,String>]
612
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
+ #
613
825
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersionRequest AWS API Documentation
614
826
  #
615
827
  class CreateComponentVersionRequest < Struct.new(
616
828
  :inline_recipe,
617
829
  :lambda_function,
618
- :tags)
830
+ :tags,
831
+ :client_token)
619
832
  SENSITIVE = []
620
833
  include Aws::Structure
621
834
  end
@@ -642,7 +855,7 @@ module Aws::GreengrassV2
642
855
  # @return [Time]
643
856
  #
644
857
  # @!attribute [rw] status
645
- # The status of the component version in AWS IoT Greengrass V2. This
858
+ # The status of the component version in IoT Greengrass V2. This
646
859
  # status is different from the status of the component on a core
647
860
  # device.
648
861
  # @return [Types::CloudComponentStatus]
@@ -674,6 +887,10 @@ module Aws::GreengrassV2
674
887
  # },
675
888
  # run_with: {
676
889
  # posix_user: "NonEmptyString",
890
+ # system_resource_limits: {
891
+ # memory: 1,
892
+ # cpus: 1.0,
893
+ # },
677
894
  # },
678
895
  # },
679
896
  # },
@@ -716,10 +933,11 @@ module Aws::GreengrassV2
716
933
  # tags: {
717
934
  # "TagKey" => "TagValue",
718
935
  # },
936
+ # client_token: "ClientTokenString",
719
937
  # }
720
938
  #
721
939
  # @!attribute [rw] target_arn
722
- # The [ARN][1] of the target AWS IoT thing or thing group.
940
+ # The [ARN][1] of the target IoT thing or thing group.
723
941
  #
724
942
  #
725
943
  #
@@ -728,11 +946,6 @@ module Aws::GreengrassV2
728
946
  #
729
947
  # @!attribute [rw] deployment_name
730
948
  # The name of the deployment.
731
- #
732
- # You can create deployments without names. If you create a deployment
733
- # without a name, the AWS IoT Greengrass V2 console shows the
734
- # deployment name as `<targetType>:<targetName>`, where `targetType`
735
- # and `targetName` are the type and name of the deployment target.
736
949
  # @return [String]
737
950
  #
738
951
  # @!attribute [rw] components
@@ -754,7 +967,7 @@ module Aws::GreengrassV2
754
967
  #
755
968
  # @!attribute [rw] tags
756
969
  # A list of key-value pairs that contain metadata for the resource.
757
- # For more information, see [Tag your resources][1] in the *AWS IoT
970
+ # For more information, see [Tag your resources][1] in the *IoT
758
971
  # Greengrass V2 Developer Guide*.
759
972
  #
760
973
  #
@@ -762,6 +975,20 @@ module Aws::GreengrassV2
762
975
  # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html
763
976
  # @return [Hash<String,String>]
764
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
+ #
765
992
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeploymentRequest AWS API Documentation
766
993
  #
767
994
  class CreateDeploymentRequest < Struct.new(
@@ -770,7 +997,8 @@ module Aws::GreengrassV2
770
997
  :components,
771
998
  :iot_job_configuration,
772
999
  :deployment_policies,
773
- :tags)
1000
+ :tags,
1001
+ :client_token)
774
1002
  SENSITIVE = []
775
1003
  include Aws::Structure
776
1004
  end
@@ -780,13 +1008,12 @@ module Aws::GreengrassV2
780
1008
  # @return [String]
781
1009
  #
782
1010
  # @!attribute [rw] iot_job_id
783
- # The ID of the AWS IoT job that applies the deployment to target
784
- # devices.
1011
+ # The ID of the IoT job that applies the deployment to target devices.
785
1012
  # @return [String]
786
1013
  #
787
1014
  # @!attribute [rw] iot_job_arn
788
- # The [ARN][1] of the AWS IoT job that applies the deployment to
789
- # target devices.
1015
+ # The [ARN][1] of the IoT job that applies the deployment to target
1016
+ # devices.
790
1017
  #
791
1018
  #
792
1019
  #
@@ -834,8 +1061,7 @@ module Aws::GreengrassV2
834
1061
  # }
835
1062
  #
836
1063
  # @!attribute [rw] core_device_thing_name
837
- # The name of the core device. This is also the name of the AWS IoT
838
- # thing.
1064
+ # The name of the core device. This is also the name of the IoT thing.
839
1065
  # @return [String]
840
1066
  #
841
1067
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDeviceRequest AWS API Documentation
@@ -849,7 +1075,7 @@ module Aws::GreengrassV2
849
1075
  # Contains information about a deployment.
850
1076
  #
851
1077
  # @!attribute [rw] target_arn
852
- # The [ARN][1] of the target AWS IoT thing or thing group.
1078
+ # The [ARN][1] of the target IoT thing or thing group.
853
1079
  #
854
1080
  #
855
1081
  #
@@ -866,11 +1092,6 @@ module Aws::GreengrassV2
866
1092
  #
867
1093
  # @!attribute [rw] deployment_name
868
1094
  # The name of the deployment.
869
- #
870
- # You can create deployments without names. If you create a deployment
871
- # without a name, the AWS IoT Greengrass V2 console shows the
872
- # deployment name as `<targetType>:<targetName>`, where `targetType`
873
- # and `targetName` are the type and name of the deployment target.
874
1095
  # @return [String]
875
1096
  #
876
1097
  # @!attribute [rw] creation_timestamp
@@ -935,7 +1156,7 @@ module Aws::GreengrassV2
935
1156
  # [SubscribeToComponentUpdates][1] IPC operation to receive these
936
1157
  # notifications. Then, components can respond with the
937
1158
  # [DeferComponentUpdate][2] IPC operation. For more information, see
938
- # [Create deployments][3] in the *AWS IoT Greengrass V2 Developer
1159
+ # [Create deployments][3] in the *IoT Greengrass V2 Developer
939
1160
  # Guide*.
940
1161
  #
941
1162
  # * `SKIP_NOTIFY_COMPONENTS` – The deployment doesn't notify
@@ -965,7 +1186,7 @@ module Aws::GreengrassV2
965
1186
  # receive notifications when a deployment specifies a configuration
966
1187
  # update. Then, components can respond with the
967
1188
  # [SendConfigurationValidityReport][2] IPC operation. For more
968
- # information, see [Create deployments][3] in the *AWS IoT Greengrass V2
1189
+ # information, see [Create deployments][3] in the *IoT Greengrass V2
969
1190
  # Developer Guide*.
970
1191
  #
971
1192
  #
@@ -997,7 +1218,7 @@ module Aws::GreengrassV2
997
1218
  include Aws::Structure
998
1219
  end
999
1220
 
1000
- # Contains information about an AWS IoT job configuration.
1221
+ # Contains information about an IoT job configuration.
1001
1222
  #
1002
1223
  # @note When making an API call, you may pass DeploymentIoTJobConfiguration
1003
1224
  # data as a hash:
@@ -1153,7 +1374,7 @@ module Aws::GreengrassV2
1153
1374
  # @return [String]
1154
1375
  #
1155
1376
  # @!attribute [rw] status
1156
- # The status of the component version in AWS IoT Greengrass V2. This
1377
+ # The status of the component version in IoT Greengrass V2. This
1157
1378
  # status is different from the status of the component on a core
1158
1379
  # device.
1159
1380
  # @return [Types::CloudComponentStatus]
@@ -1164,7 +1385,7 @@ module Aws::GreengrassV2
1164
1385
  #
1165
1386
  # @!attribute [rw] tags
1166
1387
  # A list of key-value pairs that contain metadata for the resource.
1167
- # For more information, see [Tag your resources][1] in the *AWS IoT
1388
+ # For more information, see [Tag your resources][1] in the *IoT
1168
1389
  # Greengrass V2 Developer Guide*.
1169
1390
  #
1170
1391
  #
@@ -1188,8 +1409,67 @@ module Aws::GreengrassV2
1188
1409
  include Aws::Structure
1189
1410
  end
1190
1411
 
1191
- # Contains information about a deployment job that AWS IoT Greengrass
1192
- # sends to a AWS IoT Greengrass core device.
1412
+ # Contains a request to disassociate a client device from a core device.
1413
+ # The [BatchDisassociateClientDeviceWithCoreDevice][1] operation
1414
+ # consumes a list of these requests.
1415
+ #
1416
+ #
1417
+ #
1418
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html
1419
+ #
1420
+ # @note When making an API call, you may pass DisassociateClientDeviceFromCoreDeviceEntry
1421
+ # data as a hash:
1422
+ #
1423
+ # {
1424
+ # thing_name: "IoTThingName", # required
1425
+ # }
1426
+ #
1427
+ # @!attribute [rw] thing_name
1428
+ # The name of the IoT thing that represents the client device to
1429
+ # disassociate.
1430
+ # @return [String]
1431
+ #
1432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateClientDeviceFromCoreDeviceEntry AWS API Documentation
1433
+ #
1434
+ class DisassociateClientDeviceFromCoreDeviceEntry < Struct.new(
1435
+ :thing_name)
1436
+ SENSITIVE = []
1437
+ include Aws::Structure
1438
+ end
1439
+
1440
+ # Contains an error that occurs from a request to disassociate a client
1441
+ # device from a core device. The
1442
+ # [BatchDisassociateClientDeviceWithCoreDevice][1] operation returns a
1443
+ # list of these errors.
1444
+ #
1445
+ #
1446
+ #
1447
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html
1448
+ #
1449
+ # @!attribute [rw] thing_name
1450
+ # The name of the IoT thing whose disassociate request failed.
1451
+ # @return [String]
1452
+ #
1453
+ # @!attribute [rw] code
1454
+ # The error code for the request.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] message
1458
+ # A message that provides additional information about the error.
1459
+ # @return [String]
1460
+ #
1461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateClientDeviceFromCoreDeviceErrorEntry AWS API Documentation
1462
+ #
1463
+ class DisassociateClientDeviceFromCoreDeviceErrorEntry < Struct.new(
1464
+ :thing_name,
1465
+ :code,
1466
+ :message)
1467
+ SENSITIVE = []
1468
+ include Aws::Structure
1469
+ end
1470
+
1471
+ # Contains information about a deployment job that IoT Greengrass sends
1472
+ # to a Greengrass core device.
1193
1473
  #
1194
1474
  # @!attribute [rw] deployment_id
1195
1475
  # The ID of the deployment.
@@ -1197,21 +1477,15 @@ module Aws::GreengrassV2
1197
1477
  #
1198
1478
  # @!attribute [rw] deployment_name
1199
1479
  # The name of the deployment.
1200
- #
1201
- # You can create deployments without names. If you create a deployment
1202
- # without a name, the AWS IoT Greengrass V2 console shows the
1203
- # deployment name as `<targetType>:<targetName>`, where `targetType`
1204
- # and `targetName` are the type and name of the deployment target.
1205
1480
  # @return [String]
1206
1481
  #
1207
1482
  # @!attribute [rw] iot_job_id
1208
- # The ID of the AWS IoT job that applies the deployment to target
1209
- # devices.
1483
+ # The ID of the IoT job that applies the deployment to target devices.
1210
1484
  # @return [String]
1211
1485
  #
1212
1486
  # @!attribute [rw] iot_job_arn
1213
- # The [ARN][1] of the AWS IoT job that applies the deployment to
1214
- # target devices.
1487
+ # The [ARN][1] of the IoT job that applies the deployment to target
1488
+ # devices.
1215
1489
  #
1216
1490
  #
1217
1491
  #
@@ -1223,7 +1497,7 @@ module Aws::GreengrassV2
1223
1497
  # @return [String]
1224
1498
  #
1225
1499
  # @!attribute [rw] target_arn
1226
- # The [ARN][1] of the target AWS IoT thing or thing group.
1500
+ # The [ARN][1] of the target IoT thing or thing group.
1227
1501
  #
1228
1502
  #
1229
1503
  #
@@ -1231,8 +1505,7 @@ module Aws::GreengrassV2
1231
1505
  # @return [String]
1232
1506
  #
1233
1507
  # @!attribute [rw] core_device_execution_status
1234
- # The status of the deployment job on the AWS IoT Greengrass core
1235
- # device.
1508
+ # The status of the deployment job on the Greengrass core device.
1236
1509
  # @return [String]
1237
1510
  #
1238
1511
  # @!attribute [rw] reason
@@ -1305,7 +1578,7 @@ module Aws::GreengrassV2
1305
1578
  #
1306
1579
  # @!attribute [rw] tags
1307
1580
  # A list of key-value pairs that contain metadata for the resource.
1308
- # For more information, see [Tag your resources][1] in the *AWS IoT
1581
+ # For more information, see [Tag your resources][1] in the *IoT
1309
1582
  # Greengrass V2 Developer Guide*.
1310
1583
  #
1311
1584
  #
@@ -1383,8 +1656,7 @@ module Aws::GreengrassV2
1383
1656
  # }
1384
1657
  #
1385
1658
  # @!attribute [rw] core_device_thing_name
1386
- # The name of the core device. This is also the name of the AWS IoT
1387
- # thing.
1659
+ # The name of the core device. This is also the name of the IoT thing.
1388
1660
  # @return [String]
1389
1661
  #
1390
1662
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDeviceRequest AWS API Documentation
@@ -1396,16 +1668,15 @@ module Aws::GreengrassV2
1396
1668
  end
1397
1669
 
1398
1670
  # @!attribute [rw] core_device_thing_name
1399
- # The name of the core device. This is also the name of the AWS IoT
1400
- # thing.
1671
+ # The name of the core device. This is also the name of the IoT thing.
1401
1672
  # @return [String]
1402
1673
  #
1403
1674
  # @!attribute [rw] core_version
1404
- # The version of the AWS IoT Greengrass Core software that the core
1405
- # device runs. This version is equivalent to the version of the AWS
1406
- # IoT Greengrass nucleus component that runs on the core device. For
1407
- # more information, see the [AWS IoT Greengrass nucleus component][1]
1408
- # 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*.
1409
1680
  #
1410
1681
  #
1411
1682
  #
@@ -1423,11 +1694,11 @@ module Aws::GreengrassV2
1423
1694
  # @!attribute [rw] status
1424
1695
  # The status of the core device. The core device status can be:
1425
1696
  #
1426
- # * `HEALTHY` – The AWS IoT Greengrass Core software and all
1427
- # 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.
1428
1699
  #
1429
- # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component
1430
- # 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.
1431
1702
  # @return [String]
1432
1703
  #
1433
1704
  # @!attribute [rw] last_status_update_timestamp
@@ -1437,7 +1708,7 @@ module Aws::GreengrassV2
1437
1708
  #
1438
1709
  # @!attribute [rw] tags
1439
1710
  # A list of key-value pairs that contain metadata for the resource.
1440
- # For more information, see [Tag your resources][1] in the *AWS IoT
1711
+ # For more information, see [Tag your resources][1] in the *IoT
1441
1712
  # Greengrass V2 Developer Guide*.
1442
1713
  #
1443
1714
  #
@@ -1479,7 +1750,7 @@ module Aws::GreengrassV2
1479
1750
  end
1480
1751
 
1481
1752
  # @!attribute [rw] target_arn
1482
- # The [ARN][1] of the target AWS IoT thing or thing group.
1753
+ # The [ARN][1] of the target IoT thing or thing group.
1483
1754
  #
1484
1755
  #
1485
1756
  #
@@ -1496,11 +1767,6 @@ module Aws::GreengrassV2
1496
1767
  #
1497
1768
  # @!attribute [rw] deployment_name
1498
1769
  # The name of the deployment.
1499
- #
1500
- # You can create deployments without names. If you create a deployment
1501
- # without a name, the AWS IoT Greengrass V2 console shows the
1502
- # deployment name as `<targetType>:<targetName>`, where `targetType`
1503
- # and `targetName` are the type and name of the deployment target.
1504
1770
  # @return [String]
1505
1771
  #
1506
1772
  # @!attribute [rw] deployment_status
@@ -1508,13 +1774,12 @@ module Aws::GreengrassV2
1508
1774
  # @return [String]
1509
1775
  #
1510
1776
  # @!attribute [rw] iot_job_id
1511
- # The ID of the AWS IoT job that applies the deployment to target
1512
- # devices.
1777
+ # The ID of the IoT job that applies the deployment to target devices.
1513
1778
  # @return [String]
1514
1779
  #
1515
1780
  # @!attribute [rw] iot_job_arn
1516
- # The [ARN][1] of the AWS IoT job that applies the deployment to
1517
- # target devices.
1781
+ # The [ARN][1] of the IoT job that applies the deployment to target
1782
+ # devices.
1518
1783
  #
1519
1784
  #
1520
1785
  #
@@ -1549,7 +1814,7 @@ module Aws::GreengrassV2
1549
1814
  #
1550
1815
  # @!attribute [rw] tags
1551
1816
  # A list of key-value pairs that contain metadata for the resource.
1552
- # For more information, see [Tag your resources][1] in the *AWS IoT
1817
+ # For more information, see [Tag your resources][1] in the *IoT
1553
1818
  # Greengrass V2 Developer Guide*.
1554
1819
  #
1555
1820
  #
@@ -1577,8 +1842,7 @@ module Aws::GreengrassV2
1577
1842
  include Aws::Structure
1578
1843
  end
1579
1844
 
1580
- # Contains information about a component on a AWS IoT Greengrass core
1581
- # device.
1845
+ # Contains information about a component on a Greengrass core device.
1582
1846
  #
1583
1847
  # @!attribute [rw] component_name
1584
1848
  # The name of the component.
@@ -1612,8 +1876,7 @@ module Aws::GreengrassV2
1612
1876
  include Aws::Structure
1613
1877
  end
1614
1878
 
1615
- # AWS IoT Greengrass can't process your request right now. Try again
1616
- # later.
1879
+ # IoT Greengrass can't process your request right now. Try again later.
1617
1880
  #
1618
1881
  # @!attribute [rw] message
1619
1882
  # @return [String]
@@ -1850,8 +2113,8 @@ module Aws::GreengrassV2
1850
2113
  include Aws::Structure
1851
2114
  end
1852
2115
 
1853
- # Contains information about a container in which AWS Lambda functions
1854
- # run on AWS IoT Greengrass core devices.
2116
+ # Contains information about a container in which Lambda functions run
2117
+ # on Greengrass core devices.
1855
2118
  #
1856
2119
  # @note When making an API call, you may pass LambdaContainerParams
1857
2120
  # data as a hash:
@@ -1948,8 +2211,8 @@ module Aws::GreengrassV2
1948
2211
  include Aws::Structure
1949
2212
  end
1950
2213
 
1951
- # Contains information about an event source for an AWS Lambda function.
1952
- # 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
1953
2216
  # subscribes to receive messages that run the function.
1954
2217
  #
1955
2218
  # @note When making an API call, you may pass LambdaEventSource
@@ -1971,9 +2234,9 @@ module Aws::GreengrassV2
1971
2234
  # event source type doesn't support MQTT wildcards (`+` and `#`) in
1972
2235
  # the event source topic.
1973
2236
  #
1974
- # * `IOT_CORE` – Subscribe to AWS IoT Core MQTT messages. This event
1975
- # source type supports MQTT wildcards (`+` and `#`) in the event
1976
- # 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.
1977
2240
  # @return [String]
1978
2241
  #
1979
2242
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaEventSource AWS API Documentation
@@ -1985,8 +2248,7 @@ module Aws::GreengrassV2
1985
2248
  include Aws::Structure
1986
2249
  end
1987
2250
 
1988
- # Contains parameters for a Lambda function that runs on AWS IoT
1989
- # Greengrass.
2251
+ # Contains parameters for a Lambda function that runs on IoT Greengrass.
1990
2252
  #
1991
2253
  # @note When making an API call, you may pass LambdaExecutionParameters
1992
2254
  # data as a hash:
@@ -2037,12 +2299,13 @@ module Aws::GreengrassV2
2037
2299
  # The list of event sources to which to subscribe to receive work
2038
2300
  # messages. The Lambda function runs when it receives a message from
2039
2301
  # an event source. You can subscribe this function to local
2040
- # publish/subscribe messages and AWS IoT Core MQTT messages.
2302
+ # publish/subscribe messages and Amazon Web Services IoT Core MQTT
2303
+ # messages.
2041
2304
  # @return [Array<Types::LambdaEventSource>]
2042
2305
  #
2043
2306
  # @!attribute [rw] max_queue_size
2044
2307
  # The maximum size of the message queue for the Lambda function
2045
- # component. The AWS IoT Greengrass core stores messages in a FIFO
2308
+ # component. The IoT Greengrass core stores messages in a FIFO
2046
2309
  # (first-in-first-out) queue until it can run the Lambda function to
2047
2310
  # consume each message.
2048
2311
  # @return [Integer]
@@ -2054,8 +2317,8 @@ module Aws::GreengrassV2
2054
2317
  #
2055
2318
  # @!attribute [rw] max_idle_time_in_seconds
2056
2319
  # The maximum amount of time in seconds that a non-pinned Lambda
2057
- # function can idle before the AWS IoT Greengrass Core software stops
2058
- # its process.
2320
+ # function can idle before the IoT Greengrass Core software stops its
2321
+ # process.
2059
2322
  # @return [Integer]
2060
2323
  #
2061
2324
  # @!attribute [rw] timeout_in_seconds
@@ -2072,13 +2335,13 @@ module Aws::GreengrassV2
2072
2335
  # @!attribute [rw] pinned
2073
2336
  # Whether or not the Lambda function is pinned, or long-lived.
2074
2337
  #
2075
- # * A pinned Lambda function starts when AWS IoT Greengrass starts and
2338
+ # * A pinned Lambda function starts when IoT Greengrass starts and
2076
2339
  # keeps running in its own container.
2077
2340
  #
2078
2341
  # * A non-pinned Lambda function starts only when it receives a work
2079
2342
  # item and exists after it idles for `maxIdleTimeInSeconds`. If the
2080
- # function has multiple work items, the AWS IoT Greengrass Core
2081
- # 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.
2082
2345
  #
2083
2346
  # Default: `true`
2084
2347
  # @return [Boolean]
@@ -2121,8 +2384,8 @@ module Aws::GreengrassV2
2121
2384
  include Aws::Structure
2122
2385
  end
2123
2386
 
2124
- # Contains information about an AWS Lambda function to import to create
2125
- # a component.
2387
+ # Contains information about an Lambda function to import to create a
2388
+ # component.
2126
2389
  #
2127
2390
  # @note When making an API call, you may pass LambdaFunctionRecipeSource
2128
2391
  # data as a hash:
@@ -2223,7 +2486,7 @@ module Aws::GreengrassV2
2223
2486
  #
2224
2487
  # @!attribute [rw] component_lambda_parameters
2225
2488
  # The system and runtime parameters for the Lambda function as it runs
2226
- # on the AWS IoT Greengrass core device.
2489
+ # on the Greengrass core device.
2227
2490
  # @return [Types::LambdaExecutionParameters]
2228
2491
  #
2229
2492
  # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaFunctionRecipeSource AWS API Documentation
@@ -2239,7 +2502,7 @@ module Aws::GreengrassV2
2239
2502
  include Aws::Structure
2240
2503
  end
2241
2504
 
2242
- # Contains parameters for a Linux process that contains an AWS Lambda
2505
+ # Contains parameters for a Linux process that contains an Lambda
2243
2506
  # function.
2244
2507
  #
2245
2508
  # @note When making an API call, you may pass LambdaLinuxProcessParams
@@ -2271,8 +2534,8 @@ module Aws::GreengrassV2
2271
2534
  # @!attribute [rw] isolation_mode
2272
2535
  # The isolation mode for the process that contains the Lambda
2273
2536
  # function. The process can run in an isolated runtime environment
2274
- # inside the AWS IoT Greengrass container, or as a regular process
2275
- # outside any container.
2537
+ # inside the IoT Greengrass container, or as a regular process outside
2538
+ # any container.
2276
2539
  #
2277
2540
  # Default: `GreengrassContainer`
2278
2541
  # @return [String]
@@ -2291,7 +2554,7 @@ module Aws::GreengrassV2
2291
2554
  end
2292
2555
 
2293
2556
  # Contains information about a volume that Linux processes in a
2294
- # container can access. When you define a volume, the AWS IoT Greengrass
2557
+ # container can access. When you define a volume, the IoT Greengrass
2295
2558
  # Core software mounts the source files to the destination inside the
2296
2559
  # container.
2297
2560
  #
@@ -2321,8 +2584,8 @@ module Aws::GreengrassV2
2321
2584
  # @return [String]
2322
2585
  #
2323
2586
  # @!attribute [rw] add_group_owner
2324
- # Whether or not to add the AWS IoT Greengrass user group as an owner
2325
- # of the volume.
2587
+ # Whether or not to add the IoT Greengrass user group as an owner of
2588
+ # the volume.
2326
2589
  #
2327
2590
  # Default: `false`
2328
2591
  # @return [Boolean]
@@ -2338,6 +2601,56 @@ module Aws::GreengrassV2
2338
2601
  include Aws::Structure
2339
2602
  end
2340
2603
 
2604
+ # @note When making an API call, you may pass ListClientDevicesAssociatedWithCoreDeviceRequest
2605
+ # data as a hash:
2606
+ #
2607
+ # {
2608
+ # core_device_thing_name: "IoTThingName", # required
2609
+ # max_results: 1,
2610
+ # next_token: "NextTokenString",
2611
+ # }
2612
+ #
2613
+ # @!attribute [rw] core_device_thing_name
2614
+ # The name of the core device. This is also the name of the IoT thing.
2615
+ # @return [String]
2616
+ #
2617
+ # @!attribute [rw] max_results
2618
+ # The maximum number of results to be returned per paginated request.
2619
+ # @return [Integer]
2620
+ #
2621
+ # @!attribute [rw] next_token
2622
+ # The token to be used for the next set of paginated results.
2623
+ # @return [String]
2624
+ #
2625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDeviceRequest AWS API Documentation
2626
+ #
2627
+ class ListClientDevicesAssociatedWithCoreDeviceRequest < Struct.new(
2628
+ :core_device_thing_name,
2629
+ :max_results,
2630
+ :next_token)
2631
+ SENSITIVE = []
2632
+ include Aws::Structure
2633
+ end
2634
+
2635
+ # @!attribute [rw] associated_client_devices
2636
+ # A list that describes the client devices that are associated with
2637
+ # the core device.
2638
+ # @return [Array<Types::AssociatedClientDevice>]
2639
+ #
2640
+ # @!attribute [rw] next_token
2641
+ # The token for the next set of results, or null if there are no
2642
+ # additional results.
2643
+ # @return [String]
2644
+ #
2645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDeviceResponse AWS API Documentation
2646
+ #
2647
+ class ListClientDevicesAssociatedWithCoreDeviceResponse < Struct.new(
2648
+ :associated_client_devices,
2649
+ :next_token)
2650
+ SENSITIVE = []
2651
+ include Aws::Structure
2652
+ end
2653
+
2341
2654
  # @note When making an API call, you may pass ListComponentVersionsRequest
2342
2655
  # data as a hash:
2343
2656
  #
@@ -2453,7 +2766,7 @@ module Aws::GreengrassV2
2453
2766
  # }
2454
2767
  #
2455
2768
  # @!attribute [rw] thing_group_arn
2456
- # 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
2457
2770
  # specify this parameter, the list includes only core devices that are
2458
2771
  # members of this thing group.
2459
2772
  #
@@ -2467,11 +2780,11 @@ module Aws::GreengrassV2
2467
2780
  # parameter, the list includes only core devices that have this
2468
2781
  # status. Choose one of the following options:
2469
2782
  #
2470
- # * `HEALTHY` – The AWS IoT Greengrass Core software and all
2471
- # 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.
2472
2785
  #
2473
- # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component
2474
- # 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.
2475
2788
  # @return [String]
2476
2789
  #
2477
2790
  # @!attribute [rw] max_results
@@ -2522,7 +2835,7 @@ module Aws::GreengrassV2
2522
2835
  # }
2523
2836
  #
2524
2837
  # @!attribute [rw] target_arn
2525
- # The [ARN][1] of the target AWS IoT thing or thing group.
2838
+ # The [ARN][1] of the target IoT thing or thing group.
2526
2839
  #
2527
2840
  #
2528
2841
  #
@@ -2588,8 +2901,7 @@ module Aws::GreengrassV2
2588
2901
  # }
2589
2902
  #
2590
2903
  # @!attribute [rw] core_device_thing_name
2591
- # The name of the core device. This is also the name of the AWS IoT
2592
- # thing.
2904
+ # The name of the core device. This is also the name of the IoT thing.
2593
2905
  # @return [String]
2594
2906
  #
2595
2907
  # @!attribute [rw] max_results
@@ -2638,8 +2950,7 @@ module Aws::GreengrassV2
2638
2950
  # }
2639
2951
  #
2640
2952
  # @!attribute [rw] core_device_thing_name
2641
- # The name of the core device. This is also the name of the AWS IoT
2642
- # thing.
2953
+ # The name of the core device. This is also the name of the IoT thing.
2643
2954
  # @return [String]
2644
2955
  #
2645
2956
  # @!attribute [rw] max_results
@@ -2703,7 +3014,7 @@ module Aws::GreengrassV2
2703
3014
 
2704
3015
  # @!attribute [rw] tags
2705
3016
  # A list of key-value pairs that contain metadata for the resource.
2706
- # For more information, see [Tag your resources][1] in the *AWS IoT
3017
+ # For more information, see [Tag your resources][1] in the *IoT
2707
3018
  # Greengrass V2 Developer Guide*.
2708
3019
  #
2709
3020
  #
@@ -2719,6 +3030,21 @@ module Aws::GreengrassV2
2719
3030
  include Aws::Structure
2720
3031
  end
2721
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
+
2722
3048
  # @note When making an API call, you may pass ResolveComponentCandidatesRequest
2723
3049
  # data as a hash:
2724
3050
  #
@@ -2772,7 +3098,7 @@ module Aws::GreengrassV2
2772
3098
  end
2773
3099
 
2774
3100
  # Contains information about a component version that is compatible to
2775
- # run on a AWS IoT Greengrass core device.
3101
+ # run on a Greengrass core device.
2776
3102
  #
2777
3103
  # @!attribute [rw] arn
2778
3104
  # The [ARN][1] of the component version.
@@ -2870,6 +3196,49 @@ module Aws::GreengrassV2
2870
3196
  include Aws::Structure
2871
3197
  end
2872
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
+
2873
3242
  # @note When making an API call, you may pass TagResourceRequest
2874
3243
  # data as a hash:
2875
3244
  #
@@ -2890,7 +3259,7 @@ module Aws::GreengrassV2
2890
3259
  #
2891
3260
  # @!attribute [rw] tags
2892
3261
  # A list of key-value pairs that contain metadata for the resource.
2893
- # For more information, see [Tag your resources][1] in the *AWS IoT
3262
+ # For more information, see [Tag your resources][1] in the *IoT
2894
3263
  # Greengrass V2 Developer Guide*.
2895
3264
  #
2896
3265
  #