aws-sdk-iotjobsdataplane 1.61.0 → 1.63.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3dafed37b5af8771f5533754a74dd191a082e21a06b71b97142e02c1a763df5c
4
- data.tar.gz: e2c5bbb0097c7083c14810fb11f9761979552202f77730dfe85731b68aeca050
3
+ metadata.gz: 216651e6bc3484b20ed9d18328087219e9b914fc6912f4c26368b69fc651d379
4
+ data.tar.gz: 473f9b82954b885739ebe76b6dd03eb4b459a537f10b1c0221f63e8d560b914e
5
5
  SHA512:
6
- metadata.gz: aa8f018eb7fa7528a397893a4926e1ea0ebb5a162ed93a465580f3472d4b30c191748381e5f5091ae9f71c39714aae637298c548ae5048a930719d9b7ca2e9cf
7
- data.tar.gz: e0c6aa453fe076a501c95cc11615142b4160567622938e5646edd8678bd147993ca6d39b64d030beb4294c5e353bb176c7612a9e3df1c9ae4d0ade5e22ce0436
6
+ metadata.gz: c26233eb61ce5745a5c2dab455dbd447aa584afe34f7953cc16983ddcee04885b821de5121f9c6349920a55f9f520f6691e40d9cfd6b813f499125b61f62a155
7
+ data.tar.gz: fea38238e35a1545637c2bf1a7a89ab44ded8ac614e407025dbf1774ce0f2ec56f04868bbbcfc3b23888f3de7782ed1fa5c0bc68e03b1ab3a478e59a2840fb7c
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.63.0 (2024-11-21)
5
+ ------------------
6
+
7
+ * Feature - General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices
8
+
9
+ 1.62.0 (2024-10-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.61.0 (2024-09-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.61.0
1
+ 1.63.0
@@ -449,6 +449,12 @@ module Aws::IoTJobsDataPlane
449
449
 
450
450
  # Gets details of a job execution.
451
451
  #
452
+ # Requires permission to access the [DescribeJobExecution][1] action.
453
+ #
454
+ #
455
+ #
456
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
457
+ #
452
458
  # @option params [required, String] :job_id
453
459
  # The unique identifier assigned to this job when it was created.
454
460
  #
@@ -457,8 +463,8 @@ module Aws::IoTJobsDataPlane
457
463
  # on.
458
464
  #
459
465
  # @option params [Boolean] :include_job_document
460
- # Optional. When set to true, the response contains the job document.
461
- # The default is false.
466
+ # Optional. Unless set to false, the response contains the job document.
467
+ # The default is true.
462
468
  #
463
469
  # @option params [Integer] :execution_number
464
470
  # Optional. A number that identifies a particular job execution on a
@@ -503,6 +509,12 @@ module Aws::IoTJobsDataPlane
503
509
  # Gets the list of all jobs for a thing that are not in a terminal
504
510
  # status.
505
511
  #
512
+ # Requires permission to access the [GetPendingJobExecutions][1] action.
513
+ #
514
+ #
515
+ #
516
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
517
+ #
506
518
  # @option params [required, String] :thing_name
507
519
  # The name of the thing that is executing the job.
508
520
  #
@@ -541,9 +553,85 @@ module Aws::IoTJobsDataPlane
541
553
  req.send_request(options)
542
554
  end
543
555
 
556
+ # Using the command created with the `CreateCommand` API, start a
557
+ # command execution on a specific device.
558
+ #
559
+ # @option params [required, String] :target_arn
560
+ # The Amazon Resource Number (ARN) of the device where the command
561
+ # execution is occurring.
562
+ #
563
+ # @option params [required, String] :command_arn
564
+ # The Amazon Resource Number (ARN) of the command. For example,
565
+ # `arn:aws:iot:<region>:<accountid>:command/<commandName>`
566
+ #
567
+ # @option params [Hash<String,Types::CommandParameterValue>] :parameters
568
+ # A list of parameters that are required by the `StartCommandExecution`
569
+ # API when performing the command on a device.
570
+ #
571
+ # @option params [Integer] :execution_timeout_seconds
572
+ # Specifies the amount of time in second the device has to finish the
573
+ # command execution. A timer is started as soon as the command execution
574
+ # is created. If the command execution status is not set to another
575
+ # terminal state before the timer expires, it will automatically update
576
+ # to `TIMED_OUT`.
577
+ #
578
+ # @option params [String] :client_token
579
+ # The client token is used to implement idempotency. It ensures that the
580
+ # request completes no more than one time. If you retry a request with
581
+ # the same token and the same parameters, the request will complete
582
+ # successfully. However, if you retry the request using the same token
583
+ # but different parameters, an HTTP 409 conflict occurs. If you omit
584
+ # this value, Amazon Web Services SDKs will automatically generate a
585
+ # unique client request.
586
+ #
587
+ # **A suitable default value is auto-generated.** You should normally
588
+ # not need to pass this option.**
589
+ #
590
+ # @return [Types::StartCommandExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
591
+ #
592
+ # * {Types::StartCommandExecutionResponse#execution_id #execution_id} => String
593
+ #
594
+ # @example Request syntax with placeholder values
595
+ #
596
+ # resp = client.start_command_execution({
597
+ # target_arn: "TargetArn", # required
598
+ # command_arn: "CommandArn", # required
599
+ # parameters: {
600
+ # "CommandParameterName" => {
601
+ # s: "StringParameterValue",
602
+ # b: false,
603
+ # i: 1,
604
+ # l: 1,
605
+ # d: 1.0,
606
+ # bin: "data",
607
+ # ul: "UnsignedLongParameterValue",
608
+ # },
609
+ # },
610
+ # execution_timeout_seconds: 1,
611
+ # client_token: "ClientRequestTokenV2",
612
+ # })
613
+ #
614
+ # @example Response structure
615
+ #
616
+ # resp.execution_id #=> String
617
+ #
618
+ # @overload start_command_execution(params = {})
619
+ # @param [Hash] params ({})
620
+ def start_command_execution(params = {}, options = {})
621
+ req = build_request(:start_command_execution, params)
622
+ req.send_request(options)
623
+ end
624
+
544
625
  # Gets and starts the next pending (status IN\_PROGRESS or QUEUED) job
545
626
  # execution for a thing.
546
627
  #
628
+ # Requires permission to access the [StartNextPendingJobExecution][1]
629
+ # action.
630
+ #
631
+ #
632
+ #
633
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
634
+ #
547
635
  # @option params [required, String] :thing_name
548
636
  # The name of the thing associated with the device.
549
637
  #
@@ -551,17 +639,23 @@ module Aws::IoTJobsDataPlane
551
639
  # A collection of name/value pairs that describe the status of the job
552
640
  # execution. If not specified, the statusDetails are unchanged.
553
641
  #
642
+ # The maximum length of the value in the name/value pair is 1,024
643
+ # characters.
644
+ #
554
645
  # @option params [Integer] :step_timeout_in_minutes
555
646
  # Specifies the amount of time this device has to finish execution of
556
647
  # this job. If the job execution status is not set to a terminal state
557
648
  # before this timer expires, or before the timer is reset (by calling
558
- # `UpdateJobExecution`, setting the status to `IN_PROGRESS` and
649
+ # `UpdateJobExecution`, setting the status to `IN_PROGRESS`, and
559
650
  # specifying a new timeout value in field `stepTimeoutInMinutes`) the
560
651
  # job execution status will be automatically set to `TIMED_OUT`. Note
561
- # that setting this timeout has no effect on that job execution timeout
562
- # which may have been specified when the job was created (`CreateJob`
652
+ # that setting the step timeout has no effect on the in progress timeout
653
+ # that may have been specified when the job was created (`CreateJob`
563
654
  # using field `timeoutConfig`).
564
655
  #
656
+ # Valid values for this parameter range from 1 to 10080 (1 minute to 7
657
+ # days).
658
+ #
565
659
  # @return [Types::StartNextPendingJobExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
566
660
  #
567
661
  # * {Types::StartNextPendingJobExecutionResponse#execution #execution} => Types::JobExecution
@@ -600,6 +694,12 @@ module Aws::IoTJobsDataPlane
600
694
 
601
695
  # Updates the status of a job execution.
602
696
  #
697
+ # Requires permission to access the [UpdateJobExecution][1] action.
698
+ #
699
+ #
700
+ #
701
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotjobsdataplane.html
702
+ #
603
703
  # @option params [required, String] :job_id
604
704
  # The unique identifier assigned to this job when it was created.
605
705
  #
@@ -614,17 +714,24 @@ module Aws::IoTJobsDataPlane
614
714
  # Optional. A collection of name/value pairs that describe the status of
615
715
  # the job execution. If not specified, the statusDetails are unchanged.
616
716
  #
717
+ # The maximum length of the value in the name/value pair is 1,024
718
+ # characters.
719
+ #
617
720
  # @option params [Integer] :step_timeout_in_minutes
618
721
  # Specifies the amount of time this device has to finish execution of
619
722
  # this job. If the job execution status is not set to a terminal state
620
723
  # before this timer expires, or before the timer is reset (by again
621
- # calling `UpdateJobExecution`, setting the status to `IN_PROGRESS` and
724
+ # calling `UpdateJobExecution`, setting the status to `IN_PROGRESS`, and
622
725
  # specifying a new timeout value in this field) the job execution status
623
726
  # will be automatically set to `TIMED_OUT`. Note that setting or
624
- # resetting this timeout has no effect on that job execution timeout
625
- # which may have been specified when the job was created (`CreateJob`
727
+ # resetting the step timeout has no effect on the in progress timeout
728
+ # that may have been specified when the job was created (`CreateJob`
626
729
  # using field `timeoutConfig`).
627
730
  #
731
+ # Valid values for this parameter range from 1 to 10080 (1 minute to 7
732
+ # days). A value of -1 is also valid and will cancel the current step
733
+ # timer (created by an earlier use of `UpdateJobExecutionRequest`).
734
+ #
628
735
  # @option params [Integer] :expected_version
629
736
  # Optional. The expected current version of the job execution. Each time
630
737
  # you update the job execution, its version is incremented. If the
@@ -700,7 +807,7 @@ module Aws::IoTJobsDataPlane
700
807
  tracer: tracer
701
808
  )
702
809
  context[:gem_name] = 'aws-sdk-iotjobsdataplane'
703
- context[:gem_version] = '1.61.0'
810
+ context[:gem_version] = '1.63.0'
704
811
  Seahorse::Client::Request.new(handlers, context)
705
812
  end
706
813
 
@@ -16,19 +16,32 @@ module Aws::IoTJobsDataPlane
16
16
 
17
17
  ApproximateSecondsBeforeTimedOut = Shapes::IntegerShape.new(name: 'ApproximateSecondsBeforeTimedOut')
18
18
  BinaryBlob = Shapes::BlobShape.new(name: 'BinaryBlob')
19
+ BinaryParameterValue = Shapes::BlobShape.new(name: 'BinaryParameterValue')
20
+ BooleanParameterValue = Shapes::BooleanShape.new(name: 'BooleanParameterValue')
19
21
  CertificateValidationException = Shapes::StructureShape.new(name: 'CertificateValidationException')
22
+ ClientRequestTokenV2 = Shapes::StringShape.new(name: 'ClientRequestTokenV2')
23
+ CommandArn = Shapes::StringShape.new(name: 'CommandArn')
24
+ CommandExecutionId = Shapes::StringShape.new(name: 'CommandExecutionId')
25
+ CommandExecutionParameterMap = Shapes::MapShape.new(name: 'CommandExecutionParameterMap')
26
+ CommandExecutionTimeoutInSeconds = Shapes::IntegerShape.new(name: 'CommandExecutionTimeoutInSeconds')
27
+ CommandParameterName = Shapes::StringShape.new(name: 'CommandParameterName')
28
+ CommandParameterValue = Shapes::StructureShape.new(name: 'CommandParameterValue')
29
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
20
30
  DescribeJobExecutionJobId = Shapes::StringShape.new(name: 'DescribeJobExecutionJobId')
21
31
  DescribeJobExecutionRequest = Shapes::StructureShape.new(name: 'DescribeJobExecutionRequest')
22
32
  DescribeJobExecutionResponse = Shapes::StructureShape.new(name: 'DescribeJobExecutionResponse')
23
33
  DetailsKey = Shapes::StringShape.new(name: 'DetailsKey')
24
34
  DetailsMap = Shapes::MapShape.new(name: 'DetailsMap')
25
35
  DetailsValue = Shapes::StringShape.new(name: 'DetailsValue')
36
+ DoubleParameterValue = Shapes::FloatShape.new(name: 'DoubleParameterValue')
26
37
  ExecutionNumber = Shapes::IntegerShape.new(name: 'ExecutionNumber')
27
38
  ExpectedVersion = Shapes::IntegerShape.new(name: 'ExpectedVersion')
28
39
  GetPendingJobExecutionsRequest = Shapes::StructureShape.new(name: 'GetPendingJobExecutionsRequest')
29
40
  GetPendingJobExecutionsResponse = Shapes::StructureShape.new(name: 'GetPendingJobExecutionsResponse')
30
41
  IncludeExecutionState = Shapes::BooleanShape.new(name: 'IncludeExecutionState')
31
42
  IncludeJobDocument = Shapes::BooleanShape.new(name: 'IncludeJobDocument')
43
+ IntegerParameterValue = Shapes::IntegerShape.new(name: 'IntegerParameterValue')
44
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
32
45
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
33
46
  InvalidStateTransitionException = Shapes::StructureShape.new(name: 'InvalidStateTransitionException')
34
47
  JobDocument = Shapes::StringShape.new(name: 'JobDocument')
@@ -39,24 +52,49 @@ module Aws::IoTJobsDataPlane
39
52
  JobExecutionSummaryList = Shapes::ListShape.new(name: 'JobExecutionSummaryList')
40
53
  JobId = Shapes::StringShape.new(name: 'JobId')
41
54
  LastUpdatedAt = Shapes::IntegerShape.new(name: 'LastUpdatedAt')
55
+ LongParameterValue = Shapes::IntegerShape.new(name: 'LongParameterValue')
42
56
  QueuedAt = Shapes::IntegerShape.new(name: 'QueuedAt')
43
57
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
58
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
44
59
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
60
+ StartCommandExecutionRequest = Shapes::StructureShape.new(name: 'StartCommandExecutionRequest')
61
+ StartCommandExecutionResponse = Shapes::StructureShape.new(name: 'StartCommandExecutionResponse')
45
62
  StartNextPendingJobExecutionRequest = Shapes::StructureShape.new(name: 'StartNextPendingJobExecutionRequest')
46
63
  StartNextPendingJobExecutionResponse = Shapes::StructureShape.new(name: 'StartNextPendingJobExecutionResponse')
47
64
  StartedAt = Shapes::IntegerShape.new(name: 'StartedAt')
48
65
  StepTimeoutInMinutes = Shapes::IntegerShape.new(name: 'StepTimeoutInMinutes')
66
+ StringParameterValue = Shapes::StringShape.new(name: 'StringParameterValue')
67
+ TargetArn = Shapes::StringShape.new(name: 'TargetArn')
49
68
  TerminalStateException = Shapes::StructureShape.new(name: 'TerminalStateException')
50
69
  ThingName = Shapes::StringShape.new(name: 'ThingName')
51
70
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
71
+ UnsignedLongParameterValue = Shapes::StringShape.new(name: 'UnsignedLongParameterValue')
52
72
  UpdateJobExecutionRequest = Shapes::StructureShape.new(name: 'UpdateJobExecutionRequest')
53
73
  UpdateJobExecutionResponse = Shapes::StructureShape.new(name: 'UpdateJobExecutionResponse')
74
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
54
75
  VersionNumber = Shapes::IntegerShape.new(name: 'VersionNumber')
55
76
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
77
+ resourceId = Shapes::StringShape.new(name: 'resourceId')
56
78
 
57
79
  CertificateValidationException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
58
80
  CertificateValidationException.struct_class = Types::CertificateValidationException
59
81
 
82
+ CommandExecutionParameterMap.key = Shapes::ShapeRef.new(shape: CommandParameterName)
83
+ CommandExecutionParameterMap.value = Shapes::ShapeRef.new(shape: CommandParameterValue)
84
+
85
+ CommandParameterValue.add_member(:s, Shapes::ShapeRef.new(shape: StringParameterValue, location_name: "S"))
86
+ CommandParameterValue.add_member(:b, Shapes::ShapeRef.new(shape: BooleanParameterValue, location_name: "B"))
87
+ CommandParameterValue.add_member(:i, Shapes::ShapeRef.new(shape: IntegerParameterValue, location_name: "I"))
88
+ CommandParameterValue.add_member(:l, Shapes::ShapeRef.new(shape: LongParameterValue, location_name: "L"))
89
+ CommandParameterValue.add_member(:d, Shapes::ShapeRef.new(shape: DoubleParameterValue, location_name: "D"))
90
+ CommandParameterValue.add_member(:bin, Shapes::ShapeRef.new(shape: BinaryParameterValue, location_name: "BIN"))
91
+ CommandParameterValue.add_member(:ul, Shapes::ShapeRef.new(shape: UnsignedLongParameterValue, location_name: "UL"))
92
+ CommandParameterValue.struct_class = Types::CommandParameterValue
93
+
94
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
95
+ ConflictException.add_member(:resource_id, Shapes::ShapeRef.new(shape: resourceId, location_name: "resourceId"))
96
+ ConflictException.struct_class = Types::ConflictException
97
+
60
98
  DescribeJobExecutionRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: DescribeJobExecutionJobId, required: true, location: "uri", location_name: "jobId"))
61
99
  DescribeJobExecutionRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
62
100
  DescribeJobExecutionRequest.add_member(:include_job_document, Shapes::ShapeRef.new(shape: IncludeJobDocument, location: "querystring", location_name: "includeJobDocument"))
@@ -76,6 +114,9 @@ module Aws::IoTJobsDataPlane
76
114
  GetPendingJobExecutionsResponse.add_member(:queued_jobs, Shapes::ShapeRef.new(shape: JobExecutionSummaryList, location_name: "queuedJobs"))
77
115
  GetPendingJobExecutionsResponse.struct_class = Types::GetPendingJobExecutionsResponse
78
116
 
117
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
118
+ InternalServerException.struct_class = Types::InternalServerException
119
+
79
120
  InvalidRequestException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
80
121
  InvalidRequestException.struct_class = Types::InvalidRequestException
81
122
 
@@ -113,9 +154,22 @@ module Aws::IoTJobsDataPlane
113
154
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
114
155
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
115
156
 
157
+ ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
158
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
159
+
116
160
  ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
117
161
  ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
118
162
 
163
+ StartCommandExecutionRequest.add_member(:target_arn, Shapes::ShapeRef.new(shape: TargetArn, required: true, location_name: "targetArn"))
164
+ StartCommandExecutionRequest.add_member(:command_arn, Shapes::ShapeRef.new(shape: CommandArn, required: true, location_name: "commandArn"))
165
+ StartCommandExecutionRequest.add_member(:parameters, Shapes::ShapeRef.new(shape: CommandExecutionParameterMap, location_name: "parameters"))
166
+ StartCommandExecutionRequest.add_member(:execution_timeout_seconds, Shapes::ShapeRef.new(shape: CommandExecutionTimeoutInSeconds, location_name: "executionTimeoutSeconds"))
167
+ StartCommandExecutionRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientRequestTokenV2, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
168
+ StartCommandExecutionRequest.struct_class = Types::StartCommandExecutionRequest
169
+
170
+ StartCommandExecutionResponse.add_member(:execution_id, Shapes::ShapeRef.new(shape: CommandExecutionId, location_name: "executionId"))
171
+ StartCommandExecutionResponse.struct_class = Types::StartCommandExecutionResponse
172
+
119
173
  StartNextPendingJobExecutionRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
120
174
  StartNextPendingJobExecutionRequest.add_member(:status_details, Shapes::ShapeRef.new(shape: DetailsMap, location_name: "statusDetails"))
121
175
  StartNextPendingJobExecutionRequest.add_member(:step_timeout_in_minutes, Shapes::ShapeRef.new(shape: StepTimeoutInMinutes, location_name: "stepTimeoutInMinutes"))
@@ -146,6 +200,9 @@ module Aws::IoTJobsDataPlane
146
200
  UpdateJobExecutionResponse.add_member(:job_document, Shapes::ShapeRef.new(shape: JobDocument, location_name: "jobDocument"))
147
201
  UpdateJobExecutionResponse.struct_class = Types::UpdateJobExecutionResponse
148
202
 
203
+ ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
204
+ ValidationException.struct_class = Types::ValidationException
205
+
149
206
 
150
207
  # @api private
151
208
  API = Seahorse::Model::Api.new.tap do |api|
@@ -192,6 +249,20 @@ module Aws::IoTJobsDataPlane
192
249
  o.errors << Shapes::ShapeRef.new(shape: CertificateValidationException)
193
250
  end)
194
251
 
252
+ api.add_operation(:start_command_execution, Seahorse::Model::Operation.new.tap do |o|
253
+ o.name = "StartCommandExecution"
254
+ o.http_method = "POST"
255
+ o.http_request_uri = "/command-executions"
256
+ o.input = Shapes::ShapeRef.new(shape: StartCommandExecutionRequest)
257
+ o.output = Shapes::ShapeRef.new(shape: StartCommandExecutionResponse)
258
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
259
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
260
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
261
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
262
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
263
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
264
+ end)
265
+
195
266
  api.add_operation(:start_next_pending_job_execution, Seahorse::Model::Operation.new.tap do |o|
196
267
  o.name = "StartNextPendingJobExecution"
197
268
  o.http_method = "PUT"
@@ -52,15 +52,18 @@ module Aws::IoTJobsDataPlane
52
52
  self[:region] = options[:region]
53
53
  self[:use_dual_stack] = options[:use_dual_stack]
54
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
- if self[:use_dual_stack].nil?
56
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
- end
58
55
  self[:use_fips] = options[:use_fips]
59
56
  self[:use_fips] = false if self[:use_fips].nil?
60
- if self[:use_fips].nil?
61
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
- end
63
57
  self[:endpoint] = options[:endpoint]
64
58
  end
59
+
60
+ def self.create(config, options={})
61
+ new({
62
+ region: config.region,
63
+ use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
66
+ }.merge(options))
67
+ end
65
68
  end
66
69
  end
@@ -32,7 +32,7 @@ module Aws::IoTJobsDataPlane
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://data.jobs.iot-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -12,49 +12,9 @@ module Aws::IoTJobsDataPlane
12
12
  # @api private
13
13
  module Endpoints
14
14
 
15
- class DescribeJobExecution
16
- def self.build(context)
17
- Aws::IoTJobsDataPlane::EndpointParameters.new(
18
- region: context.config.region,
19
- use_dual_stack: context.config.use_dualstack_endpoint,
20
- use_fips: context.config.use_fips_endpoint,
21
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
22
- )
23
- end
24
- end
25
-
26
- class GetPendingJobExecutions
27
- def self.build(context)
28
- Aws::IoTJobsDataPlane::EndpointParameters.new(
29
- region: context.config.region,
30
- use_dual_stack: context.config.use_dualstack_endpoint,
31
- use_fips: context.config.use_fips_endpoint,
32
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
33
- )
34
- end
35
- end
36
15
 
37
- class StartNextPendingJobExecution
38
- def self.build(context)
39
- Aws::IoTJobsDataPlane::EndpointParameters.new(
40
- region: context.config.region,
41
- use_dual_stack: context.config.use_dualstack_endpoint,
42
- use_fips: context.config.use_fips_endpoint,
43
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
44
- )
45
- end
16
+ def self.parameters_for_operation(context)
17
+ Aws::IoTJobsDataPlane::EndpointParameters.create(context.config)
46
18
  end
47
-
48
- class UpdateJobExecution
49
- def self.build(context)
50
- Aws::IoTJobsDataPlane::EndpointParameters.new(
51
- region: context.config.region,
52
- use_dual_stack: context.config.use_dualstack_endpoint,
53
- use_fips: context.config.use_fips_endpoint,
54
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
55
- )
56
- end
57
- end
58
-
59
19
  end
60
20
  end
@@ -28,12 +28,16 @@ module Aws::IoTJobsDataPlane
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {CertificateValidationException}
31
+ # * {ConflictException}
32
+ # * {InternalServerException}
31
33
  # * {InvalidRequestException}
32
34
  # * {InvalidStateTransitionException}
33
35
  # * {ResourceNotFoundException}
36
+ # * {ServiceQuotaExceededException}
34
37
  # * {ServiceUnavailableException}
35
38
  # * {TerminalStateException}
36
39
  # * {ThrottlingException}
40
+ # * {ValidationException}
37
41
  #
38
42
  # Additionally, error classes are dynamically generated for service errors based on the error code
39
43
  # if they are not defined above.
@@ -56,6 +60,41 @@ module Aws::IoTJobsDataPlane
56
60
  end
57
61
  end
58
62
 
63
+ class ConflictException < ServiceError
64
+
65
+ # @param [Seahorse::Client::RequestContext] context
66
+ # @param [String] message
67
+ # @param [Aws::IoTJobsDataPlane::Types::ConflictException] data
68
+ def initialize(context, message, data = Aws::EmptyStructure.new)
69
+ super(context, message, data)
70
+ end
71
+
72
+ # @return [String]
73
+ def message
74
+ @message || @data[:message]
75
+ end
76
+
77
+ # @return [String]
78
+ def resource_id
79
+ @data[:resource_id]
80
+ end
81
+ end
82
+
83
+ class InternalServerException < ServiceError
84
+
85
+ # @param [Seahorse::Client::RequestContext] context
86
+ # @param [String] message
87
+ # @param [Aws::IoTJobsDataPlane::Types::InternalServerException] data
88
+ def initialize(context, message, data = Aws::EmptyStructure.new)
89
+ super(context, message, data)
90
+ end
91
+
92
+ # @return [String]
93
+ def message
94
+ @message || @data[:message]
95
+ end
96
+ end
97
+
59
98
  class InvalidRequestException < ServiceError
60
99
 
61
100
  # @param [Seahorse::Client::RequestContext] context
@@ -101,6 +140,21 @@ module Aws::IoTJobsDataPlane
101
140
  end
102
141
  end
103
142
 
143
+ class ServiceQuotaExceededException < ServiceError
144
+
145
+ # @param [Seahorse::Client::RequestContext] context
146
+ # @param [String] message
147
+ # @param [Aws::IoTJobsDataPlane::Types::ServiceQuotaExceededException] data
148
+ def initialize(context, message, data = Aws::EmptyStructure.new)
149
+ super(context, message, data)
150
+ end
151
+
152
+ # @return [String]
153
+ def message
154
+ @message || @data[:message]
155
+ end
156
+ end
157
+
104
158
  class ServiceUnavailableException < ServiceError
105
159
 
106
160
  # @param [Seahorse::Client::RequestContext] context
@@ -151,5 +205,20 @@ module Aws::IoTJobsDataPlane
151
205
  end
152
206
  end
153
207
 
208
+ class ValidationException < ServiceError
209
+
210
+ # @param [Seahorse::Client::RequestContext] context
211
+ # @param [String] message
212
+ # @param [Aws::IoTJobsDataPlane::Types::ValidationException] data
213
+ def initialize(context, message, data = Aws::EmptyStructure.new)
214
+ super(context, message, data)
215
+ end
216
+
217
+ # @return [String]
218
+ def message
219
+ @message || @data[:message]
220
+ end
221
+ end
222
+
154
223
  end
155
224
  end
@@ -27,7 +27,7 @@ The endpoint provider used to resolve endpoints. Any object that responds to
27
27
  class Handler < Seahorse::Client::Handler
28
28
  def call(context)
29
29
  unless context[:discovered_endpoint]
30
- params = parameters_for_operation(context)
30
+ params = Aws::IoTJobsDataPlane::Endpoints.parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
@@ -67,19 +67,6 @@ The endpoint provider used to resolve endpoints. Any object that responds to
67
67
  context.http_request.headers[key] = value
68
68
  end
69
69
  end
70
-
71
- def parameters_for_operation(context)
72
- case context.operation_name
73
- when :describe_job_execution
74
- Aws::IoTJobsDataPlane::Endpoints::DescribeJobExecution.build(context)
75
- when :get_pending_job_executions
76
- Aws::IoTJobsDataPlane::Endpoints::GetPendingJobExecutions.build(context)
77
- when :start_next_pending_job_execution
78
- Aws::IoTJobsDataPlane::Endpoints::StartNextPendingJobExecution.build(context)
79
- when :update_job_execution
80
- Aws::IoTJobsDataPlane::Endpoints::UpdateJobExecution.build(context)
81
- end
82
- end
83
70
  end
84
71
 
85
72
  def add_handlers(handlers, _config)
@@ -22,6 +22,69 @@ module Aws::IoTJobsDataPlane
22
22
  include Aws::Structure
23
23
  end
24
24
 
25
+ # The list of values used to describe a specific command parameter.
26
+ #
27
+ # @!attribute [rw] s
28
+ # An attribute of type String. For example:
29
+ #
30
+ # `"S": "Hello"`
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] b
34
+ # An attribute of type Boolean. For example:
35
+ #
36
+ # `"BOOL": true`
37
+ # @return [Boolean]
38
+ #
39
+ # @!attribute [rw] i
40
+ # An attribute of type Integer (Thirty-Two Bits).
41
+ # @return [Integer]
42
+ #
43
+ # @!attribute [rw] l
44
+ # An attribute of type Long.
45
+ # @return [Integer]
46
+ #
47
+ # @!attribute [rw] d
48
+ # An attribute of type Double (Sixty-Four Bits).
49
+ # @return [Float]
50
+ #
51
+ # @!attribute [rw] bin
52
+ # An attribute of type Binary.
53
+ # @return [String]
54
+ #
55
+ # @!attribute [rw] ul
56
+ # An attribute of type Unsigned Long.
57
+ # @return [String]
58
+ #
59
+ class CommandParameterValue < Struct.new(
60
+ :s,
61
+ :b,
62
+ :i,
63
+ :l,
64
+ :d,
65
+ :bin,
66
+ :ul)
67
+ SENSITIVE = []
68
+ include Aws::Structure
69
+ end
70
+
71
+ # A conflict has occurred when performing the API request.
72
+ #
73
+ # @!attribute [rw] message
74
+ # @return [String]
75
+ #
76
+ # @!attribute [rw] resource_id
77
+ # A conflict occurred while performing the API request on the resource
78
+ # ID.
79
+ # @return [String]
80
+ #
81
+ class ConflictException < Struct.new(
82
+ :message,
83
+ :resource_id)
84
+ SENSITIVE = []
85
+ include Aws::Structure
86
+ end
87
+
25
88
  # @!attribute [rw] job_id
26
89
  # The unique identifier assigned to this job when it was created.
27
90
  # @return [String]
@@ -32,8 +95,8 @@ module Aws::IoTJobsDataPlane
32
95
  # @return [String]
33
96
  #
34
97
  # @!attribute [rw] include_job_document
35
- # Optional. When set to true, the response contains the job document.
36
- # The default is false.
98
+ # Optional. Unless set to false, the response contains the job
99
+ # document. The default is true.
37
100
  # @return [Boolean]
38
101
  #
39
102
  # @!attribute [rw] execution_number
@@ -86,9 +149,18 @@ module Aws::IoTJobsDataPlane
86
149
  include Aws::Structure
87
150
  end
88
151
 
89
- # The contents of the request were invalid. For example, this code is
90
- # returned when an UpdateJobExecution request contains invalid status
91
- # details. The message contains details about the error.
152
+ # An internal server error occurred when performing the API request.
153
+ #
154
+ # @!attribute [rw] message
155
+ # @return [String]
156
+ #
157
+ class InternalServerException < Struct.new(
158
+ :message)
159
+ SENSITIVE = []
160
+ include Aws::Structure
161
+ end
162
+
163
+ # The contents of the request were invalid.
92
164
  #
93
165
  # @!attribute [rw] message
94
166
  # The message for the exception.
@@ -128,32 +200,37 @@ module Aws::IoTJobsDataPlane
128
200
  # @!attribute [rw] status
129
201
  # The status of the job execution. Can be one of: "QUEUED",
130
202
  # "IN\_PROGRESS", "FAILED", "SUCCESS", "CANCELED",
131
- # "REJECTED", or "REMOVED".
203
+ # "TIMED\_OUT", "REJECTED", or "REMOVED".
132
204
  # @return [String]
133
205
  #
134
206
  # @!attribute [rw] status_details
135
207
  # A collection of name/value pairs that describe the status of the job
136
208
  # execution.
209
+ #
210
+ # The maximum length of the value in the name/value pair is 1,024
211
+ # characters.
137
212
  # @return [Hash<String,String>]
138
213
  #
139
214
  # @!attribute [rw] queued_at
140
- # The time, in milliseconds since the epoch, when the job execution
141
- # was enqueued.
215
+ # The time, in seconds since the epoch, when the job execution was
216
+ # enqueued.
142
217
  # @return [Integer]
143
218
  #
144
219
  # @!attribute [rw] started_at
145
- # The time, in milliseconds since the epoch, when the job execution
146
- # was started.
220
+ # The time, in seconds since the epoch, when the job execution was
221
+ # started.
147
222
  # @return [Integer]
148
223
  #
149
224
  # @!attribute [rw] last_updated_at
150
- # The time, in milliseconds since the epoch, when the job execution
151
- # was last updated.
225
+ # The time, in seconds since the epoch, when the job execution was
226
+ # last updated.
152
227
  # @return [Integer]
153
228
  #
154
229
  # @!attribute [rw] approximate_seconds_before_timed_out
155
230
  # The estimated number of seconds that remain before the job execution
156
- # status will be changed to `TIMED_OUT`.
231
+ # status will be changed to `TIMED_OUT`. The actual job execution
232
+ # timeout can occur up to 60 seconds later than the estimated
233
+ # duration.
157
234
  # @return [Integer]
158
235
  #
159
236
  # @!attribute [rw] version_number
@@ -192,12 +269,15 @@ module Aws::IoTJobsDataPlane
192
269
  # @!attribute [rw] status
193
270
  # The status of the job execution. Can be one of: "QUEUED",
194
271
  # "IN\_PROGRESS", "FAILED", "SUCCESS", "CANCELED",
195
- # "REJECTED", or "REMOVED".
272
+ # "TIMED\_OUT", "REJECTED", or "REMOVED".
196
273
  # @return [String]
197
274
  #
198
275
  # @!attribute [rw] status_details
199
276
  # A collection of name/value pairs that describe the status of the job
200
277
  # execution.
278
+ #
279
+ # The maximum length of the value in the name/value pair is 1,024
280
+ # characters.
201
281
  # @return [Hash<String,String>]
202
282
  #
203
283
  # @!attribute [rw] version_number
@@ -220,23 +300,23 @@ module Aws::IoTJobsDataPlane
220
300
  # @return [String]
221
301
  #
222
302
  # @!attribute [rw] queued_at
223
- # The time, in milliseconds since the epoch, when the job execution
224
- # was enqueued.
303
+ # The time, in seconds since the epoch, when the job execution was
304
+ # enqueued.
225
305
  # @return [Integer]
226
306
  #
227
307
  # @!attribute [rw] started_at
228
- # The time, in milliseconds since the epoch, when the job execution
308
+ # The time, in seconds since the epoch, when the job execution
229
309
  # started.
230
310
  # @return [Integer]
231
311
  #
232
312
  # @!attribute [rw] last_updated_at
233
- # The time, in milliseconds since the epoch, when the job execution
234
- # was last updated.
313
+ # The time, in seconds since the epoch, when the job execution was
314
+ # last updated.
235
315
  # @return [Integer]
236
316
  #
237
317
  # @!attribute [rw] version_number
238
318
  # The version of the job execution. Job execution versions are
239
- # incremented each time AWS IoT Jobs receives an update from a device.
319
+ # incremented each time IoT Jobs receives an update from a device.
240
320
  # @return [Integer]
241
321
  #
242
322
  # @!attribute [rw] execution_number
@@ -267,6 +347,17 @@ module Aws::IoTJobsDataPlane
267
347
  include Aws::Structure
268
348
  end
269
349
 
350
+ # The service quota has been exceeded for this request.
351
+ #
352
+ # @!attribute [rw] message
353
+ # @return [String]
354
+ #
355
+ class ServiceQuotaExceededException < Struct.new(
356
+ :message)
357
+ SENSITIVE = []
358
+ include Aws::Structure
359
+ end
360
+
270
361
  # The service is temporarily unavailable.
271
362
  #
272
363
  # @!attribute [rw] message
@@ -279,6 +370,62 @@ module Aws::IoTJobsDataPlane
279
370
  include Aws::Structure
280
371
  end
281
372
 
373
+ # @!attribute [rw] target_arn
374
+ # The Amazon Resource Number (ARN) of the device where the command
375
+ # execution is occurring.
376
+ # @return [String]
377
+ #
378
+ # @!attribute [rw] command_arn
379
+ # The Amazon Resource Number (ARN) of the command. For example,
380
+ # `arn:aws:iot:<region>:<accountid>:command/<commandName>`
381
+ # @return [String]
382
+ #
383
+ # @!attribute [rw] parameters
384
+ # A list of parameters that are required by the
385
+ # `StartCommandExecution` API when performing the command on a device.
386
+ # @return [Hash<String,Types::CommandParameterValue>]
387
+ #
388
+ # @!attribute [rw] execution_timeout_seconds
389
+ # Specifies the amount of time in second the device has to finish the
390
+ # command execution. A timer is started as soon as the command
391
+ # execution is created. If the command execution status is not set to
392
+ # another terminal state before the timer expires, it will
393
+ # automatically update to `TIMED_OUT`.
394
+ # @return [Integer]
395
+ #
396
+ # @!attribute [rw] client_token
397
+ # The client token is used to implement idempotency. It ensures that
398
+ # the request completes no more than one time. If you retry a request
399
+ # with the same token and the same parameters, the request will
400
+ # complete successfully. However, if you retry the request using the
401
+ # same token but different parameters, an HTTP 409 conflict occurs. If
402
+ # you omit this value, Amazon Web Services SDKs will automatically
403
+ # generate a unique client request.
404
+ #
405
+ # **A suitable default value is auto-generated.** You should normally
406
+ # not need to pass this option.
407
+ # @return [String]
408
+ #
409
+ class StartCommandExecutionRequest < Struct.new(
410
+ :target_arn,
411
+ :command_arn,
412
+ :parameters,
413
+ :execution_timeout_seconds,
414
+ :client_token)
415
+ SENSITIVE = []
416
+ include Aws::Structure
417
+ end
418
+
419
+ # @!attribute [rw] execution_id
420
+ # A unique identifier for the command execution.
421
+ # @return [String]
422
+ #
423
+ class StartCommandExecutionResponse < Struct.new(
424
+ :execution_id)
425
+ SENSITIVE = []
426
+ include Aws::Structure
427
+ end
428
+
282
429
  # @!attribute [rw] thing_name
283
430
  # The name of the thing associated with the device.
284
431
  # @return [String]
@@ -286,18 +433,24 @@ module Aws::IoTJobsDataPlane
286
433
  # @!attribute [rw] status_details
287
434
  # A collection of name/value pairs that describe the status of the job
288
435
  # execution. If not specified, the statusDetails are unchanged.
436
+ #
437
+ # The maximum length of the value in the name/value pair is 1,024
438
+ # characters.
289
439
  # @return [Hash<String,String>]
290
440
  #
291
441
  # @!attribute [rw] step_timeout_in_minutes
292
442
  # Specifies the amount of time this device has to finish execution of
293
443
  # this job. If the job execution status is not set to a terminal state
294
444
  # before this timer expires, or before the timer is reset (by calling
295
- # `UpdateJobExecution`, setting the status to `IN_PROGRESS` and
445
+ # `UpdateJobExecution`, setting the status to `IN_PROGRESS`, and
296
446
  # specifying a new timeout value in field `stepTimeoutInMinutes`) the
297
447
  # job execution status will be automatically set to `TIMED_OUT`. Note
298
- # that setting this timeout has no effect on that job execution
299
- # timeout which may have been specified when the job was created
448
+ # that setting the step timeout has no effect on the in progress
449
+ # timeout that may have been specified when the job was created
300
450
  # (`CreateJob` using field `timeoutConfig`).
451
+ #
452
+ # Valid values for this parameter range from 1 to 10080 (1 minute to 7
453
+ # days).
301
454
  # @return [Integer]
302
455
  #
303
456
  class StartNextPendingJobExecutionRequest < Struct.new(
@@ -363,18 +516,25 @@ module Aws::IoTJobsDataPlane
363
516
  # Optional. A collection of name/value pairs that describe the status
364
517
  # of the job execution. If not specified, the statusDetails are
365
518
  # unchanged.
519
+ #
520
+ # The maximum length of the value in the name/value pair is 1,024
521
+ # characters.
366
522
  # @return [Hash<String,String>]
367
523
  #
368
524
  # @!attribute [rw] step_timeout_in_minutes
369
525
  # Specifies the amount of time this device has to finish execution of
370
526
  # this job. If the job execution status is not set to a terminal state
371
527
  # before this timer expires, or before the timer is reset (by again
372
- # calling `UpdateJobExecution`, setting the status to `IN_PROGRESS`
528
+ # calling `UpdateJobExecution`, setting the status to `IN_PROGRESS`,
373
529
  # and specifying a new timeout value in this field) the job execution
374
530
  # status will be automatically set to `TIMED_OUT`. Note that setting
375
- # or resetting this timeout has no effect on that job execution
376
- # timeout which may have been specified when the job was created
531
+ # or resetting the step timeout has no effect on the in progress
532
+ # timeout that may have been specified when the job was created
377
533
  # (`CreateJob` using field `timeoutConfig`).
534
+ #
535
+ # Valid values for this parameter range from 1 to 10080 (1 minute to 7
536
+ # days). A value of -1 is also valid and will cancel the current step
537
+ # timer (created by an earlier use of `UpdateJobExecutionRequest`).
378
538
  # @return [Integer]
379
539
  #
380
540
  # @!attribute [rw] expected_version
@@ -432,6 +592,17 @@ module Aws::IoTJobsDataPlane
432
592
  include Aws::Structure
433
593
  end
434
594
 
595
+ # A validation error occurred when performing the API request.
596
+ #
597
+ # @!attribute [rw] message
598
+ # @return [String]
599
+ #
600
+ class ValidationException < Struct.new(
601
+ :message)
602
+ SENSITIVE = []
603
+ include Aws::Structure
604
+ end
605
+
435
606
  end
436
607
  end
437
608
 
@@ -54,7 +54,7 @@ module Aws::IoTJobsDataPlane
54
54
  autoload :EndpointProvider, 'aws-sdk-iotjobsdataplane/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-iotjobsdataplane/endpoints'
56
56
 
57
- GEM_VERSION = '1.61.0'
57
+ GEM_VERSION = '1.63.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -99,6 +99,28 @@ module Aws
99
99
  ) -> _GetPendingJobExecutionsResponseSuccess
100
100
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetPendingJobExecutionsResponseSuccess
101
101
 
102
+ interface _StartCommandExecutionResponseSuccess
103
+ include ::Seahorse::Client::_ResponseSuccess[Types::StartCommandExecutionResponse]
104
+ def execution_id: () -> ::String
105
+ end
106
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTJobsDataPlane/Client.html#start_command_execution-instance_method
107
+ def start_command_execution: (
108
+ target_arn: ::String,
109
+ command_arn: ::String,
110
+ ?parameters: Hash[::String, {
111
+ s: ::String?,
112
+ b: bool?,
113
+ i: ::Integer?,
114
+ l: ::Integer?,
115
+ d: ::Float?,
116
+ bin: ::String?,
117
+ ul: ::String?
118
+ }],
119
+ ?execution_timeout_seconds: ::Integer,
120
+ ?client_token: ::String
121
+ ) -> _StartCommandExecutionResponseSuccess
122
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartCommandExecutionResponseSuccess
123
+
102
124
  interface _StartNextPendingJobExecutionResponseSuccess
103
125
  include ::Seahorse::Client::_ResponseSuccess[Types::StartNextPendingJobExecutionResponse]
104
126
  def execution: () -> Types::JobExecution
data/sig/errors.rbs CHANGED
@@ -14,6 +14,13 @@ module Aws
14
14
  class CertificateValidationException < ::Aws::Errors::ServiceError
15
15
  def message: () -> ::String
16
16
  end
17
+ class ConflictException < ::Aws::Errors::ServiceError
18
+ def message: () -> ::String
19
+ def resource_id: () -> ::String
20
+ end
21
+ class InternalServerException < ::Aws::Errors::ServiceError
22
+ def message: () -> ::String
23
+ end
17
24
  class InvalidRequestException < ::Aws::Errors::ServiceError
18
25
  def message: () -> ::String
19
26
  end
@@ -23,6 +30,9 @@ module Aws
23
30
  class ResourceNotFoundException < ::Aws::Errors::ServiceError
24
31
  def message: () -> ::String
25
32
  end
33
+ class ServiceQuotaExceededException < ::Aws::Errors::ServiceError
34
+ def message: () -> ::String
35
+ end
26
36
  class ServiceUnavailableException < ::Aws::Errors::ServiceError
27
37
  def message: () -> ::String
28
38
  end
@@ -33,6 +43,9 @@ module Aws
33
43
  def message: () -> ::String
34
44
  def payload: () -> ::String
35
45
  end
46
+ class ValidationException < ::Aws::Errors::ServiceError
47
+ def message: () -> ::String
48
+ end
36
49
  end
37
50
  end
38
51
  end
data/sig/types.rbs CHANGED
@@ -13,6 +13,23 @@ module Aws::IoTJobsDataPlane
13
13
  SENSITIVE: []
14
14
  end
15
15
 
16
+ class CommandParameterValue
17
+ attr_accessor s: ::String
18
+ attr_accessor b: bool
19
+ attr_accessor i: ::Integer
20
+ attr_accessor l: ::Integer
21
+ attr_accessor d: ::Float
22
+ attr_accessor bin: ::String
23
+ attr_accessor ul: ::String
24
+ SENSITIVE: []
25
+ end
26
+
27
+ class ConflictException
28
+ attr_accessor message: ::String
29
+ attr_accessor resource_id: ::String
30
+ SENSITIVE: []
31
+ end
32
+
16
33
  class DescribeJobExecutionRequest
17
34
  attr_accessor job_id: ::String
18
35
  attr_accessor thing_name: ::String
@@ -37,6 +54,11 @@ module Aws::IoTJobsDataPlane
37
54
  SENSITIVE: []
38
55
  end
39
56
 
57
+ class InternalServerException
58
+ attr_accessor message: ::String
59
+ SENSITIVE: []
60
+ end
61
+
40
62
  class InvalidRequestException
41
63
  attr_accessor message: ::String
42
64
  SENSITIVE: []
@@ -84,11 +106,30 @@ module Aws::IoTJobsDataPlane
84
106
  SENSITIVE: []
85
107
  end
86
108
 
109
+ class ServiceQuotaExceededException
110
+ attr_accessor message: ::String
111
+ SENSITIVE: []
112
+ end
113
+
87
114
  class ServiceUnavailableException
88
115
  attr_accessor message: ::String
89
116
  SENSITIVE: []
90
117
  end
91
118
 
119
+ class StartCommandExecutionRequest
120
+ attr_accessor target_arn: ::String
121
+ attr_accessor command_arn: ::String
122
+ attr_accessor parameters: ::Hash[::String, Types::CommandParameterValue]
123
+ attr_accessor execution_timeout_seconds: ::Integer
124
+ attr_accessor client_token: ::String
125
+ SENSITIVE: []
126
+ end
127
+
128
+ class StartCommandExecutionResponse
129
+ attr_accessor execution_id: ::String
130
+ SENSITIVE: []
131
+ end
132
+
92
133
  class StartNextPendingJobExecutionRequest
93
134
  attr_accessor thing_name: ::String
94
135
  attr_accessor status_details: ::Hash[::String, ::String]
@@ -130,5 +171,10 @@ module Aws::IoTJobsDataPlane
130
171
  attr_accessor job_document: ::String
131
172
  SENSITIVE: []
132
173
  end
174
+
175
+ class ValidationException
176
+ attr_accessor message: ::String
177
+ SENSITIVE: []
178
+ end
133
179
  end
134
180
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iotjobsdataplane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.61.0
4
+ version: 1.63.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-24 00:00:00.000000000 Z
11
+ date: 2024-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.207.0
22
+ version: 3.210.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.207.0
32
+ version: 3.210.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement