aws-sdk-iot 1.97.0 → 1.98.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: 521211841904fbce0e816b01c78a696f7113ba5467ef7a3d57e82448eacdab34
4
- data.tar.gz: c335d4e65417cee60ed113ea5bcb311f479877f59132cbf84dcb02a46da9c8d2
3
+ metadata.gz: 98abdf790987147b8ee5938ad15028e56f0bc2717a3a60e7b70278faa3948359
4
+ data.tar.gz: 917059501d2307233af16a81b10321ae79dad8e5d117e3e6b6166e248fb559b8
5
5
  SHA512:
6
- metadata.gz: 7b32c2a862b5fcb47f8c4d817c1d102fc0c11dae5d74733929f1672bcc5372122e349a60365c0608cc0e17cb4a79bf42f892d1f432f2c96a9ec6aabf61937e7a
7
- data.tar.gz: 5f1d3f589b05d8674478034b25e5903545be746325a8d48fe9a55718fc379e49e0ff164a35f29cecf47fcf0a32226fe4d2ce08881767460326fad90385d4bfd5
6
+ metadata.gz: 35dad2d1c3b526ae4ff36f0a198313da42703d47eb5a03d26ece19b559efea359d6eeac3e39dd04268da2c5c940913de57555e26b139d3a63e6438412ce9ee77
7
+ data.tar.gz: d496604ba52eb0f5954407f619ac114ef223d33b217a123740494ae3432e2731ce5988c31de0ffec3b22325a2368ee35944e4ffa9d390967f7d9bf4b2739acb1
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.98.0 (2022-11-28)
5
+ ------------------
6
+
7
+ * Feature - Job scheduling enables the scheduled rollout of a Job with start and end times and a customizable end behavior when end time is reached. This is available for continuous and snapshot jobs. Added support for MQTT5 properties to AWS IoT TopicRule Republish Action.
8
+
4
9
  1.97.0 (2022-11-11)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.97.0
1
+ 1.98.0
@@ -666,8 +666,8 @@ module Aws::IoT
666
666
  end
667
667
 
668
668
  # Attaches the specified principal to the specified thing. A principal
669
- # can be X.509 certificates, IAM users, groups, and roles, Amazon
670
- # Cognito identities or federated identities.
669
+ # can be X.509 certificates, Amazon Cognito identities or federated
670
+ # identities.
671
671
  #
672
672
  # Requires permission to access the [AttachThingPrincipal][1] action.
673
673
  #
@@ -1793,6 +1793,11 @@ module Aws::IoT
1793
1793
  #
1794
1794
  # </note>
1795
1795
  #
1796
+ # @option params [Types::SchedulingConfig] :scheduling_config
1797
+ # The configuration that allows you to schedule a job for a future date
1798
+ # and time in addition to specifying the end behavior for each job
1799
+ # execution.
1800
+ #
1796
1801
  # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1797
1802
  #
1798
1803
  # * {Types::CreateJobResponse#job_arn #job_arn} => String
@@ -1855,6 +1860,11 @@ module Aws::IoT
1855
1860
  # document_parameters: {
1856
1861
  # "ParameterKey" => "ParameterValue",
1857
1862
  # },
1863
+ # scheduling_config: {
1864
+ # start_time: "StringDateTime",
1865
+ # end_time: "StringDateTime",
1866
+ # end_behavior: "STOP_ROLLOUT", # accepts STOP_ROLLOUT, CANCEL, FORCE_CANCEL
1867
+ # },
1858
1868
  # })
1859
1869
  #
1860
1870
  # @example Response structure
@@ -3213,6 +3223,19 @@ module Aws::IoT
3213
3223
  # role_arn: "AwsArn", # required
3214
3224
  # topic: "TopicPattern", # required
3215
3225
  # qos: 1,
3226
+ # headers: {
3227
+ # payload_format_indicator: "PayloadFormatIndicator",
3228
+ # content_type: "ContentType",
3229
+ # response_topic: "ResponseTopic",
3230
+ # correlation_data: "CorrelationData",
3231
+ # message_expiry: "MessageExpiry",
3232
+ # user_properties: [
3233
+ # {
3234
+ # key: "UserPropertyKey", # required
3235
+ # value: "UserPropertyValue", # required
3236
+ # },
3237
+ # ],
3238
+ # },
3216
3239
  # },
3217
3240
  # s3: {
3218
3241
  # role_arn: "AwsArn", # required
@@ -3402,6 +3425,19 @@ module Aws::IoT
3402
3425
  # role_arn: "AwsArn", # required
3403
3426
  # topic: "TopicPattern", # required
3404
3427
  # qos: 1,
3428
+ # headers: {
3429
+ # payload_format_indicator: "PayloadFormatIndicator",
3430
+ # content_type: "ContentType",
3431
+ # response_topic: "ResponseTopic",
3432
+ # correlation_data: "CorrelationData",
3433
+ # message_expiry: "MessageExpiry",
3434
+ # user_properties: [
3435
+ # {
3436
+ # key: "UserPropertyKey", # required
3437
+ # value: "UserPropertyValue", # required
3438
+ # },
3439
+ # ],
3440
+ # },
3405
3441
  # },
3406
3442
  # s3: {
3407
3443
  # role_arn: "AwsArn", # required
@@ -5590,7 +5626,7 @@ module Aws::IoT
5590
5626
  # resp.job.job_arn #=> String
5591
5627
  # resp.job.job_id #=> String
5592
5628
  # resp.job.target_selection #=> String, one of "CONTINUOUS", "SNAPSHOT"
5593
- # resp.job.status #=> String, one of "IN_PROGRESS", "CANCELED", "COMPLETED", "DELETION_IN_PROGRESS"
5629
+ # resp.job.status #=> String, one of "IN_PROGRESS", "CANCELED", "COMPLETED", "DELETION_IN_PROGRESS", "SCHEDULED"
5594
5630
  # resp.job.force_canceled #=> Boolean
5595
5631
  # resp.job.reason_code #=> String
5596
5632
  # resp.job.comment #=> String
@@ -5631,6 +5667,9 @@ module Aws::IoT
5631
5667
  # resp.job.document_parameters #=> Hash
5632
5668
  # resp.job.document_parameters["ParameterKey"] #=> String
5633
5669
  # resp.job.is_concurrent #=> Boolean
5670
+ # resp.job.scheduling_config.start_time #=> String
5671
+ # resp.job.scheduling_config.end_time #=> String
5672
+ # resp.job.scheduling_config.end_behavior #=> String, one of "STOP_ROLLOUT", "CANCEL", "FORCE_CANCEL"
5634
5673
  #
5635
5674
  # @overload describe_job(params = {})
5636
5675
  # @param [Hash] params ({})
@@ -7225,6 +7264,14 @@ module Aws::IoT
7225
7264
  # resp.rule.actions[0].republish.role_arn #=> String
7226
7265
  # resp.rule.actions[0].republish.topic #=> String
7227
7266
  # resp.rule.actions[0].republish.qos #=> Integer
7267
+ # resp.rule.actions[0].republish.headers.payload_format_indicator #=> String
7268
+ # resp.rule.actions[0].republish.headers.content_type #=> String
7269
+ # resp.rule.actions[0].republish.headers.response_topic #=> String
7270
+ # resp.rule.actions[0].republish.headers.correlation_data #=> String
7271
+ # resp.rule.actions[0].republish.headers.message_expiry #=> String
7272
+ # resp.rule.actions[0].republish.headers.user_properties #=> Array
7273
+ # resp.rule.actions[0].republish.headers.user_properties[0].key #=> String
7274
+ # resp.rule.actions[0].republish.headers.user_properties[0].value #=> String
7228
7275
  # resp.rule.actions[0].s3.role_arn #=> String
7229
7276
  # resp.rule.actions[0].s3.bucket_name #=> String
7230
7277
  # resp.rule.actions[0].s3.key #=> String
@@ -7338,6 +7385,14 @@ module Aws::IoT
7338
7385
  # resp.rule.error_action.republish.role_arn #=> String
7339
7386
  # resp.rule.error_action.republish.topic #=> String
7340
7387
  # resp.rule.error_action.republish.qos #=> Integer
7388
+ # resp.rule.error_action.republish.headers.payload_format_indicator #=> String
7389
+ # resp.rule.error_action.republish.headers.content_type #=> String
7390
+ # resp.rule.error_action.republish.headers.response_topic #=> String
7391
+ # resp.rule.error_action.republish.headers.correlation_data #=> String
7392
+ # resp.rule.error_action.republish.headers.message_expiry #=> String
7393
+ # resp.rule.error_action.republish.headers.user_properties #=> Array
7394
+ # resp.rule.error_action.republish.headers.user_properties[0].key #=> String
7395
+ # resp.rule.error_action.republish.headers.user_properties[0].value #=> String
7341
7396
  # resp.rule.error_action.s3.role_arn #=> String
7342
7397
  # resp.rule.error_action.s3.bucket_name #=> String
7343
7398
  # resp.rule.error_action.s3.key #=> String
@@ -8964,7 +9019,7 @@ module Aws::IoT
8964
9019
  # @example Request syntax with placeholder values
8965
9020
  #
8966
9021
  # resp = client.list_jobs({
8967
- # status: "IN_PROGRESS", # accepts IN_PROGRESS, CANCELED, COMPLETED, DELETION_IN_PROGRESS
9022
+ # status: "IN_PROGRESS", # accepts IN_PROGRESS, CANCELED, COMPLETED, DELETION_IN_PROGRESS, SCHEDULED
8968
9023
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
8969
9024
  # max_results: 1,
8970
9025
  # next_token: "NextToken",
@@ -8980,7 +9035,7 @@ module Aws::IoT
8980
9035
  # resp.jobs[0].job_id #=> String
8981
9036
  # resp.jobs[0].thing_group_id #=> String
8982
9037
  # resp.jobs[0].target_selection #=> String, one of "CONTINUOUS", "SNAPSHOT"
8983
- # resp.jobs[0].status #=> String, one of "IN_PROGRESS", "CANCELED", "COMPLETED", "DELETION_IN_PROGRESS"
9038
+ # resp.jobs[0].status #=> String, one of "IN_PROGRESS", "CANCELED", "COMPLETED", "DELETION_IN_PROGRESS", "SCHEDULED"
8984
9039
  # resp.jobs[0].created_at #=> Time
8985
9040
  # resp.jobs[0].last_updated_at #=> Time
8986
9041
  # resp.jobs[0].completed_at #=> Time
@@ -11306,6 +11361,19 @@ module Aws::IoT
11306
11361
  # role_arn: "AwsArn", # required
11307
11362
  # topic: "TopicPattern", # required
11308
11363
  # qos: 1,
11364
+ # headers: {
11365
+ # payload_format_indicator: "PayloadFormatIndicator",
11366
+ # content_type: "ContentType",
11367
+ # response_topic: "ResponseTopic",
11368
+ # correlation_data: "CorrelationData",
11369
+ # message_expiry: "MessageExpiry",
11370
+ # user_properties: [
11371
+ # {
11372
+ # key: "UserPropertyKey", # required
11373
+ # value: "UserPropertyValue", # required
11374
+ # },
11375
+ # ],
11376
+ # },
11309
11377
  # },
11310
11378
  # s3: {
11311
11379
  # role_arn: "AwsArn", # required
@@ -11495,6 +11563,19 @@ module Aws::IoT
11495
11563
  # role_arn: "AwsArn", # required
11496
11564
  # topic: "TopicPattern", # required
11497
11565
  # qos: 1,
11566
+ # headers: {
11567
+ # payload_format_indicator: "PayloadFormatIndicator",
11568
+ # content_type: "ContentType",
11569
+ # response_topic: "ResponseTopic",
11570
+ # correlation_data: "CorrelationData",
11571
+ # message_expiry: "MessageExpiry",
11572
+ # user_properties: [
11573
+ # {
11574
+ # key: "UserPropertyKey", # required
11575
+ # value: "UserPropertyValue", # required
11576
+ # },
11577
+ # ],
11578
+ # },
11498
11579
  # },
11499
11580
  # s3: {
11500
11581
  # role_arn: "AwsArn", # required
@@ -13980,7 +14061,7 @@ module Aws::IoT
13980
14061
  params: params,
13981
14062
  config: config)
13982
14063
  context[:gem_name] = 'aws-sdk-iot'
13983
- context[:gem_version] = '1.97.0'
14064
+ context[:gem_version] = '1.98.0'
13984
14065
  Seahorse::Client::Request.new(handlers, context)
13985
14066
  end
13986
14067
 
@@ -232,6 +232,8 @@ module Aws::IoT
232
232
  ConnectivityTimestamp = Shapes::IntegerShape.new(name: 'ConnectivityTimestamp')
233
233
  ConsecutiveDatapointsToAlarm = Shapes::IntegerShape.new(name: 'ConsecutiveDatapointsToAlarm')
234
234
  ConsecutiveDatapointsToClear = Shapes::IntegerShape.new(name: 'ConsecutiveDatapointsToClear')
235
+ ContentType = Shapes::StringShape.new(name: 'ContentType')
236
+ CorrelationData = Shapes::StringShape.new(name: 'CorrelationData')
235
237
  Count = Shapes::IntegerShape.new(name: 'Count')
236
238
  CreateAuditSuppressionRequest = Shapes::StructureShape.new(name: 'CreateAuditSuppressionRequest')
237
239
  CreateAuditSuppressionResponse = Shapes::StructureShape.new(name: 'CreateAuditSuppressionResponse')
@@ -625,6 +627,7 @@ module Aws::IoT
625
627
  JobDescription = Shapes::StringShape.new(name: 'JobDescription')
626
628
  JobDocument = Shapes::StringShape.new(name: 'JobDocument')
627
629
  JobDocumentSource = Shapes::StringShape.new(name: 'JobDocumentSource')
630
+ JobEndBehavior = Shapes::StringShape.new(name: 'JobEndBehavior')
628
631
  JobExecution = Shapes::StructureShape.new(name: 'JobExecution')
629
632
  JobExecutionFailureType = Shapes::StringShape.new(name: 'JobExecutionFailureType')
630
633
  JobExecutionStatus = Shapes::StringShape.new(name: 'JobExecutionStatus')
@@ -797,6 +800,7 @@ module Aws::IoT
797
800
  Maximum = Shapes::FloatShape.new(name: 'Maximum')
798
801
  MaximumPerMinute = Shapes::IntegerShape.new(name: 'MaximumPerMinute')
799
802
  Message = Shapes::StringShape.new(name: 'Message')
803
+ MessageExpiry = Shapes::StringShape.new(name: 'MessageExpiry')
800
804
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
801
805
  MessageId = Shapes::StringShape.new(name: 'MessageId')
802
806
  MetricDatum = Shapes::StructureShape.new(name: 'MetricDatum')
@@ -824,6 +828,7 @@ module Aws::IoT
824
828
  ModelStatus = Shapes::StringShape.new(name: 'ModelStatus')
825
829
  MqttClientId = Shapes::StringShape.new(name: 'MqttClientId')
826
830
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
831
+ MqttHeaders = Shapes::StructureShape.new(name: 'MqttHeaders')
827
832
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
828
833
  MqttUsername = Shapes::StringShape.new(name: 'MqttUsername')
829
834
  NamedShadowIndexingMode = Shapes::StringShape.new(name: 'NamedShadowIndexingMode')
@@ -864,6 +869,7 @@ module Aws::IoT
864
869
  Parameters = Shapes::MapShape.new(name: 'Parameters')
865
870
  PartitionKey = Shapes::StringShape.new(name: 'PartitionKey')
866
871
  PayloadField = Shapes::StringShape.new(name: 'PayloadField')
872
+ PayloadFormatIndicator = Shapes::StringShape.new(name: 'PayloadFormatIndicator')
867
873
  PayloadVersion = Shapes::StringShape.new(name: 'PayloadVersion')
868
874
  Percent = Shapes::FloatShape.new(name: 'Percent')
869
875
  PercentList = Shapes::ListShape.new(name: 'PercentList')
@@ -971,6 +977,7 @@ module Aws::IoT
971
977
  ResourceRegistrationFailureException = Shapes::StructureShape.new(name: 'ResourceRegistrationFailureException')
972
978
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
973
979
  Resources = Shapes::ListShape.new(name: 'Resources')
980
+ ResponseTopic = Shapes::StringShape.new(name: 'ResponseTopic')
974
981
  RetryAttempt = Shapes::IntegerShape.new(name: 'RetryAttempt')
975
982
  RetryCriteria = Shapes::StructureShape.new(name: 'RetryCriteria')
976
983
  RetryCriteriaList = Shapes::ListShape.new(name: 'RetryCriteriaList')
@@ -999,6 +1006,7 @@ module Aws::IoT
999
1006
  ScheduledAuditMetadata = Shapes::StructureShape.new(name: 'ScheduledAuditMetadata')
1000
1007
  ScheduledAuditMetadataList = Shapes::ListShape.new(name: 'ScheduledAuditMetadataList')
1001
1008
  ScheduledAuditName = Shapes::StringShape.new(name: 'ScheduledAuditName')
1009
+ SchedulingConfig = Shapes::StructureShape.new(name: 'SchedulingConfig')
1002
1010
  SearchIndexRequest = Shapes::StructureShape.new(name: 'SearchIndexRequest')
1003
1011
  SearchIndexResponse = Shapes::StructureShape.new(name: 'SearchIndexResponse')
1004
1012
  SearchableAttributes = Shapes::ListShape.new(name: 'SearchableAttributes')
@@ -1078,6 +1086,7 @@ module Aws::IoT
1078
1086
  StreamVersion = Shapes::IntegerShape.new(name: 'StreamVersion')
1079
1087
  StreamsSummary = Shapes::ListShape.new(name: 'StreamsSummary')
1080
1088
  String = Shapes::StringShape.new(name: 'String')
1089
+ StringDateTime = Shapes::StringShape.new(name: 'StringDateTime')
1081
1090
  StringList = Shapes::ListShape.new(name: 'StringList')
1082
1091
  StringMap = Shapes::MapShape.new(name: 'StringMap')
1083
1092
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
@@ -1246,6 +1255,10 @@ module Aws::IoT
1246
1255
  UpdateTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'UpdateTopicRuleDestinationResponse')
1247
1256
  Url = Shapes::StringShape.new(name: 'Url')
1248
1257
  UseBase64 = Shapes::BooleanShape.new(name: 'UseBase64')
1258
+ UserProperties = Shapes::ListShape.new(name: 'UserProperties')
1259
+ UserProperty = Shapes::StructureShape.new(name: 'UserProperty')
1260
+ UserPropertyKey = Shapes::StringShape.new(name: 'UserPropertyKey')
1261
+ UserPropertyValue = Shapes::StringShape.new(name: 'UserPropertyValue')
1249
1262
  Valid = Shapes::BooleanShape.new(name: 'Valid')
1250
1263
  ValidateSecurityProfileBehaviorsRequest = Shapes::StructureShape.new(name: 'ValidateSecurityProfileBehaviorsRequest')
1251
1264
  ValidateSecurityProfileBehaviorsResponse = Shapes::StructureShape.new(name: 'ValidateSecurityProfileBehaviorsResponse')
@@ -1911,6 +1924,7 @@ module Aws::IoT
1911
1924
  CreateJobRequest.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
1912
1925
  CreateJobRequest.add_member(:job_executions_retry_config, Shapes::ShapeRef.new(shape: JobExecutionsRetryConfig, location_name: "jobExecutionsRetryConfig"))
1913
1926
  CreateJobRequest.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
1927
+ CreateJobRequest.add_member(:scheduling_config, Shapes::ShapeRef.new(shape: SchedulingConfig, location_name: "schedulingConfig"))
1914
1928
  CreateJobRequest.struct_class = Types::CreateJobRequest
1915
1929
 
1916
1930
  CreateJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: JobArn, location_name: "jobArn"))
@@ -3048,6 +3062,7 @@ module Aws::IoT
3048
3062
  Job.add_member(:job_executions_retry_config, Shapes::ShapeRef.new(shape: JobExecutionsRetryConfig, location_name: "jobExecutionsRetryConfig"))
3049
3063
  Job.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
3050
3064
  Job.add_member(:is_concurrent, Shapes::ShapeRef.new(shape: BooleanWrapperObject, location_name: "isConcurrent"))
3065
+ Job.add_member(:scheduling_config, Shapes::ShapeRef.new(shape: SchedulingConfig, location_name: "schedulingConfig"))
3051
3066
  Job.struct_class = Types::Job
3052
3067
 
3053
3068
  JobExecution.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
@@ -3808,6 +3823,14 @@ module Aws::IoT
3808
3823
  MqttContext.add_member(:client_id, Shapes::ShapeRef.new(shape: MqttClientId, location_name: "clientId"))
3809
3824
  MqttContext.struct_class = Types::MqttContext
3810
3825
 
3826
+ MqttHeaders.add_member(:payload_format_indicator, Shapes::ShapeRef.new(shape: PayloadFormatIndicator, location_name: "payloadFormatIndicator"))
3827
+ MqttHeaders.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location_name: "contentType"))
3828
+ MqttHeaders.add_member(:response_topic, Shapes::ShapeRef.new(shape: ResponseTopic, location_name: "responseTopic"))
3829
+ MqttHeaders.add_member(:correlation_data, Shapes::ShapeRef.new(shape: CorrelationData, location_name: "correlationData"))
3830
+ MqttHeaders.add_member(:message_expiry, Shapes::ShapeRef.new(shape: MessageExpiry, location_name: "messageExpiry"))
3831
+ MqttHeaders.add_member(:user_properties, Shapes::ShapeRef.new(shape: UserProperties, location_name: "userProperties"))
3832
+ MqttHeaders.struct_class = Types::MqttHeaders
3833
+
3811
3834
  NamedShadowNamesFilter.member = Shapes::ShapeRef.new(shape: ShadowName)
3812
3835
 
3813
3836
  NonCompliantResource.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
@@ -4060,6 +4083,7 @@ module Aws::IoT
4060
4083
  RepublishAction.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
4061
4084
  RepublishAction.add_member(:topic, Shapes::ShapeRef.new(shape: TopicPattern, required: true, location_name: "topic"))
4062
4085
  RepublishAction.add_member(:qos, Shapes::ShapeRef.new(shape: Qos, location_name: "qos"))
4086
+ RepublishAction.add_member(:headers, Shapes::ShapeRef.new(shape: MqttHeaders, location_name: "headers"))
4063
4087
  RepublishAction.struct_class = Types::RepublishAction
4064
4088
 
4065
4089
  ResourceAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -4137,6 +4161,11 @@ module Aws::IoT
4137
4161
 
4138
4162
  ScheduledAuditMetadataList.member = Shapes::ShapeRef.new(shape: ScheduledAuditMetadata)
4139
4163
 
4164
+ SchedulingConfig.add_member(:start_time, Shapes::ShapeRef.new(shape: StringDateTime, location_name: "startTime"))
4165
+ SchedulingConfig.add_member(:end_time, Shapes::ShapeRef.new(shape: StringDateTime, location_name: "endTime"))
4166
+ SchedulingConfig.add_member(:end_behavior, Shapes::ShapeRef.new(shape: JobEndBehavior, location_name: "endBehavior"))
4167
+ SchedulingConfig.struct_class = Types::SchedulingConfig
4168
+
4140
4169
  SearchIndexRequest.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
4141
4170
  SearchIndexRequest.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, required: true, location_name: "queryString"))
4142
4171
  SearchIndexRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
@@ -4828,6 +4857,12 @@ module Aws::IoT
4828
4857
 
4829
4858
  UpdateTopicRuleDestinationResponse.struct_class = Types::UpdateTopicRuleDestinationResponse
4830
4859
 
4860
+ UserProperties.member = Shapes::ShapeRef.new(shape: UserProperty)
4861
+
4862
+ UserProperty.add_member(:key, Shapes::ShapeRef.new(shape: UserPropertyKey, required: true, location_name: "key"))
4863
+ UserProperty.add_member(:value, Shapes::ShapeRef.new(shape: UserPropertyValue, required: true, location_name: "value"))
4864
+ UserProperty.struct_class = Types::UserProperty
4865
+
4831
4866
  ValidateSecurityProfileBehaviorsRequest.add_member(:behaviors, Shapes::ShapeRef.new(shape: Behaviors, required: true, location_name: "behaviors"))
4832
4867
  ValidateSecurityProfileBehaviorsRequest.struct_class = Types::ValidateSecurityProfileBehaviorsRequest
4833
4868
 
@@ -50,6 +50,9 @@ module Aws::IoT
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -29,82 +29,82 @@ module Aws::IoT
29
29
  # @api private
30
30
  RULES = <<-JSON
31
31
  eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL2lvdC1maXBzLntSZWdpb259LntQYXJ0aXRp
77
- b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
- LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
- b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
- ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
- ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
- IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
- cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
- eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
- QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
- b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
- dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
- IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9pb3QtZmlwcy57UmVn
89
- aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
90
- Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJj
91
- b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRo
92
- aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJl
93
- cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
94
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBl
95
- IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
96
- YW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3Yi
97
- Olt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFj
98
- ayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
99
- W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vaW90LntSZWdpb259LntQ
100
- YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
101
- ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
102
- b25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBi
103
- dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2si
104
- LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
- Ijp7InVybCI6Imh0dHBzOi8vaW90LntSZWdpb259LntQYXJ0aXRpb25SZXN1
106
- bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
107
- InR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
+ YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
+ ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
+ aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
+ ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
+ IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
+ bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
+ aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
+ IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
+ IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
+ aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
+ Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
+ cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
+ bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
+ YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
+ bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
+ ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
+ IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
+ b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
+ ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfSx7ImZuIjoicGFy
54
+ c2VVUkwiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XSwiYXNzaWduIjoi
55
+ dXJsIn1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
56
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
57
+ In0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZpZ3VyYXRpb246IEZJ
58
+ UFMgYW5kIGN1c3RvbSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5
59
+ cGUiOiJlcnJvciJ9LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwi
60
+ cnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
61
+ ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sImVycm9y
62
+ IjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBEdWFsc3RhY2sgYW5kIGN1c3Rv
63
+ bSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5cGUiOiJlcnJvciJ9
64
+ LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6eyJyZWYiOiJF
65
+ bmRwb2ludCJ9LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
66
+ IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
67
+ YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsi
68
+ Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0
69
+ YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
70
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
71
+ biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
72
+ fSwic3VwcG9ydHNGSVBTIl19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
73
+ cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
74
+ cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
75
+ ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
76
+ Ijp7InVybCI6Imh0dHBzOi8vaW90LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlv
77
+ blJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30s
78
+ ImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlv
79
+ bnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5hYmxl
80
+ ZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25lIG9y
81
+ IGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4i
82
+ OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRy
83
+ dWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7
84
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRB
85
+ dHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBv
86
+ cnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
87
+ aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
88
+ OltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2lvdC1maXBzLntSZWdp
89
+ b259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMi
90
+ Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfSx7ImNv
91
+ bmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxlZCBidXQgdGhp
92
+ cyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwidHlwZSI6ImVy
93
+ cm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
94
+ ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sInR5cGUi
95
+ OiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
96
+ bkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6
97
+ W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRHVhbFN0YWNr
98
+ Il19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
99
+ XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9pb3Que1JlZ2lvbn0ue1Bh
100
+ cnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGll
101
+ cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNv
102
+ bmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1
103
+ dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIs
104
+ InR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQi
105
+ OnsidXJsIjoiaHR0cHM6Ly9pb3Que1JlZ2lvbn0ue1BhcnRpdGlvblJlc3Vs
106
+ dCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
107
+ dHlwZSI6ImVuZHBvaW50In1dfV19
108
108
 
109
109
  JSON
110
110
  end
@@ -150,6 +150,19 @@ module Aws::IoT
150
150
  # role_arn: "AwsArn", # required
151
151
  # topic: "TopicPattern", # required
152
152
  # qos: 1,
153
+ # headers: {
154
+ # payload_format_indicator: "PayloadFormatIndicator",
155
+ # content_type: "ContentType",
156
+ # response_topic: "ResponseTopic",
157
+ # correlation_data: "CorrelationData",
158
+ # message_expiry: "MessageExpiry",
159
+ # user_properties: [
160
+ # {
161
+ # key: "UserPropertyKey", # required
162
+ # value: "UserPropertyValue", # required
163
+ # },
164
+ # ],
165
+ # },
153
166
  # },
154
167
  # s3: {
155
168
  # role_arn: "AwsArn", # required
@@ -3608,6 +3621,11 @@ module Aws::IoT
3608
3621
  # document_parameters: {
3609
3622
  # "ParameterKey" => "ParameterValue",
3610
3623
  # },
3624
+ # scheduling_config: {
3625
+ # start_time: "StringDateTime",
3626
+ # end_time: "StringDateTime",
3627
+ # end_behavior: "STOP_ROLLOUT", # accepts STOP_ROLLOUT, CANCEL, FORCE_CANCEL
3628
+ # },
3611
3629
  # }
3612
3630
  #
3613
3631
  # @!attribute [rw] job_id
@@ -3719,6 +3737,12 @@ module Aws::IoT
3719
3737
  # </note>
3720
3738
  # @return [Hash<String,String>]
3721
3739
  #
3740
+ # @!attribute [rw] scheduling_config
3741
+ # The configuration that allows you to schedule a job for a future
3742
+ # date and time in addition to specifying the end behavior for each
3743
+ # job execution.
3744
+ # @return [Types::SchedulingConfig]
3745
+ #
3722
3746
  class CreateJobRequest < Struct.new(
3723
3747
  :job_id,
3724
3748
  :targets,
@@ -3734,7 +3758,8 @@ module Aws::IoT
3734
3758
  :namespace_id,
3735
3759
  :job_template_arn,
3736
3760
  :job_executions_retry_config,
3737
- :document_parameters)
3761
+ :document_parameters,
3762
+ :scheduling_config)
3738
3763
  SENSITIVE = []
3739
3764
  include Aws::Structure
3740
3765
  end
@@ -5245,6 +5270,19 @@ module Aws::IoT
5245
5270
  # role_arn: "AwsArn", # required
5246
5271
  # topic: "TopicPattern", # required
5247
5272
  # qos: 1,
5273
+ # headers: {
5274
+ # payload_format_indicator: "PayloadFormatIndicator",
5275
+ # content_type: "ContentType",
5276
+ # response_topic: "ResponseTopic",
5277
+ # correlation_data: "CorrelationData",
5278
+ # message_expiry: "MessageExpiry",
5279
+ # user_properties: [
5280
+ # {
5281
+ # key: "UserPropertyKey", # required
5282
+ # value: "UserPropertyValue", # required
5283
+ # },
5284
+ # ],
5285
+ # },
5248
5286
  # },
5249
5287
  # s3: {
5250
5288
  # role_arn: "AwsArn", # required
@@ -5434,6 +5472,19 @@ module Aws::IoT
5434
5472
  # role_arn: "AwsArn", # required
5435
5473
  # topic: "TopicPattern", # required
5436
5474
  # qos: 1,
5475
+ # headers: {
5476
+ # payload_format_indicator: "PayloadFormatIndicator",
5477
+ # content_type: "ContentType",
5478
+ # response_topic: "ResponseTopic",
5479
+ # correlation_data: "CorrelationData",
5480
+ # message_expiry: "MessageExpiry",
5481
+ # user_properties: [
5482
+ # {
5483
+ # key: "UserPropertyKey", # required
5484
+ # value: "UserPropertyValue", # required
5485
+ # },
5486
+ # ],
5487
+ # },
5437
5488
  # },
5438
5489
  # s3: {
5439
5490
  # role_arn: "AwsArn", # required
@@ -10437,6 +10488,12 @@ module Aws::IoT
10437
10488
  # executions, otherwise false.
10438
10489
  # @return [Boolean]
10439
10490
  #
10491
+ # @!attribute [rw] scheduling_config
10492
+ # The configuration that allows you to schedule a job for a future
10493
+ # date and time in addition to specifying the end behavior for each
10494
+ # job execution.
10495
+ # @return [Types::SchedulingConfig]
10496
+ #
10440
10497
  class Job < Struct.new(
10441
10498
  :job_arn,
10442
10499
  :job_id,
@@ -10459,7 +10516,8 @@ module Aws::IoT
10459
10516
  :job_template_arn,
10460
10517
  :job_executions_retry_config,
10461
10518
  :document_parameters,
10462
- :is_concurrent)
10519
+ :is_concurrent,
10520
+ :scheduling_config)
10463
10521
  SENSITIVE = []
10464
10522
  include Aws::Structure
10465
10523
  end
@@ -12250,7 +12308,7 @@ module Aws::IoT
12250
12308
  # data as a hash:
12251
12309
  #
12252
12310
  # {
12253
- # status: "IN_PROGRESS", # accepts IN_PROGRESS, CANCELED, COMPLETED, DELETION_IN_PROGRESS
12311
+ # status: "IN_PROGRESS", # accepts IN_PROGRESS, CANCELED, COMPLETED, DELETION_IN_PROGRESS, SCHEDULED
12254
12312
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
12255
12313
  # max_results: 1,
12256
12314
  # next_token: "NextToken",
@@ -14566,6 +14624,132 @@ module Aws::IoT
14566
14624
  include Aws::Structure
14567
14625
  end
14568
14626
 
14627
+ # Specifies MQTT Version 5.0 headers information. For more information,
14628
+ # see [ MQTT][1] from Amazon Web Services IoT Core Developer Guide.
14629
+ #
14630
+ #
14631
+ #
14632
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html
14633
+ #
14634
+ # @note When making an API call, you may pass MqttHeaders
14635
+ # data as a hash:
14636
+ #
14637
+ # {
14638
+ # payload_format_indicator: "PayloadFormatIndicator",
14639
+ # content_type: "ContentType",
14640
+ # response_topic: "ResponseTopic",
14641
+ # correlation_data: "CorrelationData",
14642
+ # message_expiry: "MessageExpiry",
14643
+ # user_properties: [
14644
+ # {
14645
+ # key: "UserPropertyKey", # required
14646
+ # value: "UserPropertyValue", # required
14647
+ # },
14648
+ # ],
14649
+ # }
14650
+ #
14651
+ # @!attribute [rw] payload_format_indicator
14652
+ # An `Enum` string value that indicates whether the payload is
14653
+ # formatted as UTF-8.
14654
+ #
14655
+ # Valid values are `UNSPECIFIED_BYTES` and `UTF8_DATA`.
14656
+ #
14657
+ # For more information, see [ Payload Format Indicator][1] from the
14658
+ # MQTT Version 5.0 specification.
14659
+ #
14660
+ # Supports [substitution templates][2].
14661
+ #
14662
+ #
14663
+ #
14664
+ # [1]: https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901111
14665
+ # [2]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
14666
+ # @return [String]
14667
+ #
14668
+ # @!attribute [rw] content_type
14669
+ # A UTF-8 encoded string that describes the content of the publishing
14670
+ # message.
14671
+ #
14672
+ # For more information, see [ Content Type][1] from the MQTT Version
14673
+ # 5.0 specification.
14674
+ #
14675
+ # Supports [substitution templates][2].
14676
+ #
14677
+ #
14678
+ #
14679
+ # [1]: https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901118
14680
+ # [2]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
14681
+ # @return [String]
14682
+ #
14683
+ # @!attribute [rw] response_topic
14684
+ # A UTF-8 encoded string that's used as the topic name for a response
14685
+ # message. The response topic is used to describe the topic which the
14686
+ # receiver should publish to as part of the request-response flow. The
14687
+ # topic must not contain wildcard characters.
14688
+ #
14689
+ # For more information, see [ Response Topic][1] from the MQTT Version
14690
+ # 5.0 specification.
14691
+ #
14692
+ # Supports [substitution templates][2].
14693
+ #
14694
+ #
14695
+ #
14696
+ # [1]: https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901114
14697
+ # [2]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
14698
+ # @return [String]
14699
+ #
14700
+ # @!attribute [rw] correlation_data
14701
+ # The base64-encoded binary data used by the sender of the request
14702
+ # message to identify which request the response message is for when
14703
+ # it's received.
14704
+ #
14705
+ # For more information, see [ Correlation Data][1] from the MQTT
14706
+ # Version 5.0 specification.
14707
+ #
14708
+ # <note markdown="1"> This binary data must be based64-encoded.
14709
+ #
14710
+ # </note>
14711
+ #
14712
+ # Supports [substitution templates][2].
14713
+ #
14714
+ #
14715
+ #
14716
+ # [1]: https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901115
14717
+ # [2]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
14718
+ # @return [String]
14719
+ #
14720
+ # @!attribute [rw] message_expiry
14721
+ # A user-defined integer value that will persist a message at the
14722
+ # message broker for a specified amount of time to ensure that the
14723
+ # message will expire if it's no longer relevant to the subscriber.
14724
+ # The value of `messageExpiry` represents the number of seconds before
14725
+ # it expires. For more information about the limits of
14726
+ # `messageExpiry`, see [Amazon Web Services IoT Core message broker
14727
+ # and protocol limits and quotas ][1] from the Amazon Web Services
14728
+ # Reference Guide.
14729
+ #
14730
+ # Supports [substitution templates][2].
14731
+ #
14732
+ #
14733
+ #
14734
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html
14735
+ # [2]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
14736
+ # @return [String]
14737
+ #
14738
+ # @!attribute [rw] user_properties
14739
+ # An array of key-value pairs that you define in the MQTT5 header.
14740
+ # @return [Array<Types::UserProperty>]
14741
+ #
14742
+ class MqttHeaders < Struct.new(
14743
+ :payload_format_indicator,
14744
+ :content_type,
14745
+ :response_topic,
14746
+ :correlation_data,
14747
+ :message_expiry,
14748
+ :user_properties)
14749
+ SENSITIVE = []
14750
+ include Aws::Structure
14751
+ end
14752
+
14569
14753
  # Information about the resource that was noncompliant with the audit
14570
14754
  # check.
14571
14755
  #
@@ -15773,6 +15957,19 @@ module Aws::IoT
15773
15957
  # role_arn: "AwsArn", # required
15774
15958
  # topic: "TopicPattern", # required
15775
15959
  # qos: 1,
15960
+ # headers: {
15961
+ # payload_format_indicator: "PayloadFormatIndicator",
15962
+ # content_type: "ContentType",
15963
+ # response_topic: "ResponseTopic",
15964
+ # correlation_data: "CorrelationData",
15965
+ # message_expiry: "MessageExpiry",
15966
+ # user_properties: [
15967
+ # {
15968
+ # key: "UserPropertyKey", # required
15969
+ # value: "UserPropertyValue", # required
15970
+ # },
15971
+ # ],
15972
+ # },
15776
15973
  # },
15777
15974
  # s3: {
15778
15975
  # role_arn: "AwsArn", # required
@@ -15962,6 +16159,19 @@ module Aws::IoT
15962
16159
  # role_arn: "AwsArn", # required
15963
16160
  # topic: "TopicPattern", # required
15964
16161
  # qos: 1,
16162
+ # headers: {
16163
+ # payload_format_indicator: "PayloadFormatIndicator",
16164
+ # content_type: "ContentType",
16165
+ # response_topic: "ResponseTopic",
16166
+ # correlation_data: "CorrelationData",
16167
+ # message_expiry: "MessageExpiry",
16168
+ # user_properties: [
16169
+ # {
16170
+ # key: "UserPropertyKey", # required
16171
+ # value: "UserPropertyValue", # required
16172
+ # },
16173
+ # ],
16174
+ # },
15965
16175
  # },
15966
16176
  # s3: {
15967
16177
  # role_arn: "AwsArn", # required
@@ -16134,6 +16344,19 @@ module Aws::IoT
16134
16344
  # role_arn: "AwsArn", # required
16135
16345
  # topic: "TopicPattern", # required
16136
16346
  # qos: 1,
16347
+ # headers: {
16348
+ # payload_format_indicator: "PayloadFormatIndicator",
16349
+ # content_type: "ContentType",
16350
+ # response_topic: "ResponseTopic",
16351
+ # correlation_data: "CorrelationData",
16352
+ # message_expiry: "MessageExpiry",
16353
+ # user_properties: [
16354
+ # {
16355
+ # key: "UserPropertyKey", # required
16356
+ # value: "UserPropertyValue", # required
16357
+ # },
16358
+ # ],
16359
+ # },
16137
16360
  # }
16138
16361
  #
16139
16362
  # @!attribute [rw] role_arn
@@ -16149,10 +16372,20 @@ module Aws::IoT
16149
16372
  # messages. The default value is 0.
16150
16373
  # @return [Integer]
16151
16374
  #
16375
+ # @!attribute [rw] headers
16376
+ # MQTT Version 5.0 headers information. For more information, see [
16377
+ # MQTT][1] from the Amazon Web Services IoT Core Developer Guide.
16378
+ #
16379
+ #
16380
+ #
16381
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html
16382
+ # @return [Types::MqttHeaders]
16383
+ #
16152
16384
  class RepublishAction < Struct.new(
16153
16385
  :role_arn,
16154
16386
  :topic,
16155
- :qos)
16387
+ :qos,
16388
+ :headers)
16156
16389
  SENSITIVE = []
16157
16390
  include Aws::Structure
16158
16391
  end
@@ -16521,6 +16754,50 @@ module Aws::IoT
16521
16754
  include Aws::Structure
16522
16755
  end
16523
16756
 
16757
+ # Specifies the date and time that a job will begin the rollout of the
16758
+ # job document to all devices in the target group. Additionally, you can
16759
+ # specify the end behavior for each job execution when it reaches the
16760
+ # scheduled end time.
16761
+ #
16762
+ # @note When making an API call, you may pass SchedulingConfig
16763
+ # data as a hash:
16764
+ #
16765
+ # {
16766
+ # start_time: "StringDateTime",
16767
+ # end_time: "StringDateTime",
16768
+ # end_behavior: "STOP_ROLLOUT", # accepts STOP_ROLLOUT, CANCEL, FORCE_CANCEL
16769
+ # }
16770
+ #
16771
+ # @!attribute [rw] start_time
16772
+ # The time a job will begin rollout of the job document to all devices
16773
+ # in the target group for a job. The `startTime` can be scheduled up
16774
+ # to a year in advance and must be scheduled a minimum of thirty
16775
+ # minutes from the current time.
16776
+ # @return [String]
16777
+ #
16778
+ # @!attribute [rw] end_time
16779
+ # The time a job will stop rollout of the job document to all devices
16780
+ # in the target group for a job. The `endTime` must take place no
16781
+ # later than two years from the current time and be scheduled a
16782
+ # minimum of thirty minutes from the current time. The minimum
16783
+ # duration between `startTime` and `endTime` is thirty minutes. The
16784
+ # maximum duration between `startTime` and `endTime` is two years.
16785
+ # @return [String]
16786
+ #
16787
+ # @!attribute [rw] end_behavior
16788
+ # Specifies the end behavior for all job executions after a job
16789
+ # reaches the selected `endTime`. If `endTime` is not selected when
16790
+ # creating the job, then `endBehavior` does not apply.
16791
+ # @return [String]
16792
+ #
16793
+ class SchedulingConfig < Struct.new(
16794
+ :start_time,
16795
+ :end_time,
16796
+ :end_behavior)
16797
+ SENSITIVE = []
16798
+ include Aws::Structure
16799
+ end
16800
+
16524
16801
  # @note When making an API call, you may pass SearchIndexRequest
16525
16802
  # data as a hash:
16526
16803
  #
@@ -17995,7 +18272,13 @@ module Aws::IoT
17995
18272
  #
17996
18273
  # @!attribute [rw] managed_fields
17997
18274
  # Contains fields that are indexed and whose types are already known
17998
- # by the Fleet Indexing service.
18275
+ # by the Fleet Indexing service. This is an optional field. For more
18276
+ # information, see [Managed fields][1] in the *Amazon Web Services IoT
18277
+ # Core Developer Guide*.
18278
+ #
18279
+ #
18280
+ #
18281
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/managing-fleet-index.html#managed-field
17999
18282
  # @return [Array<Types::Field>]
18000
18283
  #
18001
18284
  # @!attribute [rw] custom_fields
@@ -18760,6 +19043,19 @@ module Aws::IoT
18760
19043
  # role_arn: "AwsArn", # required
18761
19044
  # topic: "TopicPattern", # required
18762
19045
  # qos: 1,
19046
+ # headers: {
19047
+ # payload_format_indicator: "PayloadFormatIndicator",
19048
+ # content_type: "ContentType",
19049
+ # response_topic: "ResponseTopic",
19050
+ # correlation_data: "CorrelationData",
19051
+ # message_expiry: "MessageExpiry",
19052
+ # user_properties: [
19053
+ # {
19054
+ # key: "UserPropertyKey", # required
19055
+ # value: "UserPropertyValue", # required
19056
+ # },
19057
+ # ],
19058
+ # },
18763
19059
  # },
18764
19060
  # s3: {
18765
19061
  # role_arn: "AwsArn", # required
@@ -18949,6 +19245,19 @@ module Aws::IoT
18949
19245
  # role_arn: "AwsArn", # required
18950
19246
  # topic: "TopicPattern", # required
18951
19247
  # qos: 1,
19248
+ # headers: {
19249
+ # payload_format_indicator: "PayloadFormatIndicator",
19250
+ # content_type: "ContentType",
19251
+ # response_topic: "ResponseTopic",
19252
+ # correlation_data: "CorrelationData",
19253
+ # message_expiry: "MessageExpiry",
19254
+ # user_properties: [
19255
+ # {
19256
+ # key: "UserPropertyKey", # required
19257
+ # value: "UserPropertyValue", # required
19258
+ # },
19259
+ # ],
19260
+ # },
18952
19261
  # },
18953
19262
  # s3: {
18954
19263
  # role_arn: "AwsArn", # required
@@ -20877,6 +21186,36 @@ module Aws::IoT
20877
21186
 
20878
21187
  class UpdateTopicRuleDestinationResponse < Aws::EmptyStructure; end
20879
21188
 
21189
+ # A key-value pair that you define in the header. Both the key and the
21190
+ # value are either literal strings or valid [substitution templates][1].
21191
+ #
21192
+ #
21193
+ #
21194
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html
21195
+ #
21196
+ # @note When making an API call, you may pass UserProperty
21197
+ # data as a hash:
21198
+ #
21199
+ # {
21200
+ # key: "UserPropertyKey", # required
21201
+ # value: "UserPropertyValue", # required
21202
+ # }
21203
+ #
21204
+ # @!attribute [rw] key
21205
+ # A key to be specified in `UserProperty`.
21206
+ # @return [String]
21207
+ #
21208
+ # @!attribute [rw] value
21209
+ # A value to be specified in `UserProperty`.
21210
+ # @return [String]
21211
+ #
21212
+ class UserProperty < Struct.new(
21213
+ :key,
21214
+ :value)
21215
+ SENSITIVE = []
21216
+ include Aws::Structure
21217
+ end
21218
+
20880
21219
  # @note When making an API call, you may pass ValidateSecurityProfileBehaviorsRequest
20881
21220
  # data as a hash:
20882
21221
  #
data/lib/aws-sdk-iot.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-iot/customizations'
52
52
  # @!group service
53
53
  module Aws::IoT
54
54
 
55
- GEM_VERSION = '1.97.0'
55
+ GEM_VERSION = '1.98.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.97.0
4
+ version: 1.98.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: 2022-11-11 00:00:00.000000000 Z
11
+ date: 2022-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core