aws-sdk-greengrassv2 1.3.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #