aws-sdk-iot 1.97.0 → 1.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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