aws-sdk-iot 1.100.0 → 1.101.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: a2ce5d3794d27ca0e3ec42661d0cd377e460f3fce246e515606a3098a272b078
4
- data.tar.gz: 0f0cac12014418d2e4a53ff54250799a37431596acbf4fcb7b46e895ba47dc89
3
+ metadata.gz: 96636d17e491b5c5c4903497dc0c157d33547001dfac12c7bb3ffd17a9f3a737
4
+ data.tar.gz: 127d488f7ef299d5822ea0634b2f3ef679613ab28ebdca9d1dd7844247361460
5
5
  SHA512:
6
- metadata.gz: b5d9ab463fe7db463cdc4500ad683311061527103ab7fd19a7248542f39fe05d6e1729c55bd51016564b7d48886922cdfc8a070c05cc9e06775cbf830259785e
7
- data.tar.gz: 61aa63f3914268ec53b5c69401d57d10c257e63a6b6ccdc710d91789f7f1ce67c4666df944774f287c1ba13ddfe5691f8d9ae80538e369b51877adb341d07c89
6
+ metadata.gz: 59f0ac3f5b57edbf8a24583082a51e89c0d349308d7644596b2b9f94ed126cc923e9833ae8c6782013f51dda4f0da97d6532f9a82e3c018eed2f2c129b6442c7
7
+ data.tar.gz: 300bf8291fce0f89843c63df3191461b5e2fbe6bcf7e3c19f76f8a94750611c138c44cd7616b23de2cbefb8fd00f4430fbaf8b51bf58a206b27d7acaf82ea54d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.101.0 (2023-03-02)
5
+ ------------------
6
+
7
+ * Feature - A recurring maintenance window is an optional configuration used for rolling out the job document to all devices in the target group observing a predetermined start time, duration, and frequency that the maintenance window occurs.
8
+
4
9
  1.100.0 (2023-01-31)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.100.0
1
+ 1.101.0
@@ -1201,61 +1201,63 @@ module Aws::IoT
1201
1201
  # Creates an X.509 certificate using the specified certificate signing
1202
1202
  # request.
1203
1203
  #
1204
- # **Note:** The CSR must include a public key that is either an RSA key
1205
- # with a length of at least 2048 bits or an ECC key from NIST P-256,
1206
- # NIST P-384, or NIST P-512 curves. For supported certificates, consult
1207
- # [ Certificate signing algorithms supported by IoT][1].
1204
+ # Requires permission to access the [CreateCertificateFromCsr][1]
1205
+ # action.
1208
1206
  #
1209
- # **Note:** Reusing the same certificate signing request (CSR) results
1210
- # in a distinct certificate.
1207
+ # <note markdown="1"> The CSR must include a public key that is either an RSA key with a
1208
+ # length of at least 2048 bits or an ECC key from NIST P-25 or NIST
1209
+ # P-384 curves. For supported certificates, consult [ Certificate
1210
+ # signing algorithms supported by IoT][2].
1211
1211
  #
1212
- # Requires permission to access the [CreateCertificateFromCsr][2]
1213
- # action.
1212
+ # </note>
1213
+ #
1214
+ # <note markdown="1"> Reusing the same certificate signing request (CSR) results in a
1215
+ # distinct certificate.
1216
+ #
1217
+ # </note>
1214
1218
  #
1215
1219
  # You can create multiple certificates in a batch by creating a
1216
- # directory, copying multiple .csr files into that directory, and then
1220
+ # directory, copying multiple `.csr` files into that directory, and then
1217
1221
  # specifying that directory on the command line. The following commands
1218
- # show how to create a batch of certificates given a batch of CSRs.
1219
- #
1220
- # Assuming a set of CSRs are located inside of the directory
1221
- # my-csr-directory:
1222
+ # show how to create a batch of certificates given a batch of CSRs. In
1223
+ # the following commands, we assume that a set of CSRs are located
1224
+ # inside of the directory my-csr-directory:
1222
1225
  #
1223
1226
  # On Linux and OS X, the command is:
1224
1227
  #
1225
- # $ ls my-csr-directory/ \| xargs -I \\\{\\} aws iot
1228
+ # `$ ls my-csr-directory/ | xargs -I \{\} aws iot
1226
1229
  # create-certificate-from-csr --certificate-signing-request
1227
- # file://my-csr-directory/\\\{\\}
1230
+ # file://my-csr-directory/\{\}`
1228
1231
  #
1229
1232
  # This command lists all of the CSRs in my-csr-directory and pipes each
1230
- # CSR file name to the aws iot create-certificate-from-csr Amazon Web
1233
+ # CSR file name to the `aws iot create-certificate-from-csr` Amazon Web
1231
1234
  # Services CLI command to create a certificate for the corresponding
1232
1235
  # CSR.
1233
1236
  #
1234
- # The aws iot create-certificate-from-csr part of the command can also
1235
- # be run in parallel to speed up the certificate creation process:
1237
+ # You can also run the `aws iot create-certificate-from-csr` part of the
1238
+ # command in parallel to speed up the certificate creation process:
1236
1239
  #
1237
- # $ ls my-csr-directory/ \| xargs -P 10 -I \\\{\\} aws iot
1240
+ # `$ ls my-csr-directory/ | xargs -P 10 -I \{\} aws iot
1238
1241
  # create-certificate-from-csr --certificate-signing-request
1239
- # file://my-csr-directory/\\\{\\}
1242
+ # file://my-csr-directory/\{\} `
1240
1243
  #
1241
1244
  # On Windows PowerShell, the command to create certificates for all CSRs
1242
1245
  # in my-csr-directory is:
1243
1246
  #
1244
- # &gt; ls -Name my-csr-directory \| %\\\{aws iot
1245
- # create-certificate-from-csr --certificate-signing-request
1246
- # file://my-csr-directory/$\_\\}
1247
+ # `> ls -Name my-csr-directory | %\{aws iot create-certificate-from-csr
1248
+ # --certificate-signing-request file://my-csr-directory/$_\} `
1247
1249
  #
1248
1250
  # On a Windows command prompt, the command to create certificates for
1249
1251
  # all CSRs in my-csr-directory is:
1250
1252
  #
1251
- # &gt; forfiles /p my-csr-directory /c "cmd /c aws iot
1253
+ # `> forfiles /p my-csr-directory /c "cmd /c aws iot
1252
1254
  # create-certificate-from-csr --certificate-signing-request
1253
- # file://@path"
1255
+ # file://@path" `
1254
1256
  #
1255
1257
  #
1256
1258
  #
1257
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms
1258
- # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1259
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1260
+ # [2]: https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms
1259
1261
  #
1260
1262
  # @option params [required, String] :certificate_signing_request
1261
1263
  # The certificate signing request (CSR).
@@ -1646,7 +1648,7 @@ module Aws::IoT
1646
1648
  #
1647
1649
  #
1648
1650
  #
1649
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
1651
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
1650
1652
  #
1651
1653
  # @option params [Array<Types::Tag>] :tags
1652
1654
  # Metadata, which can be used to manage the fleet metric.
@@ -1864,6 +1866,12 @@ module Aws::IoT
1864
1866
  # start_time: "StringDateTime",
1865
1867
  # end_time: "StringDateTime",
1866
1868
  # end_behavior: "STOP_ROLLOUT", # accepts STOP_ROLLOUT, CANCEL, FORCE_CANCEL
1869
+ # maintenance_windows: [
1870
+ # {
1871
+ # start_time: "CronExpression", # required
1872
+ # duration_in_minutes: 1, # required
1873
+ # },
1874
+ # ],
1867
1875
  # },
1868
1876
  # })
1869
1877
  #
@@ -1940,6 +1948,10 @@ module Aws::IoT
1940
1948
  # @option params [Types::JobExecutionsRetryConfig] :job_executions_retry_config
1941
1949
  # Allows you to create the criteria to retry a job.
1942
1950
  #
1951
+ # @option params [Array<Types::MaintenanceWindow>] :maintenance_windows
1952
+ # Allows you to configure an optional maintenance window for the rollout
1953
+ # of a job document to all devices in the target group for a job.
1954
+ #
1943
1955
  # @return [Types::CreateJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1944
1956
  #
1945
1957
  # * {Types::CreateJobTemplateResponse#job_template_arn #job_template_arn} => String
@@ -1995,6 +2007,12 @@ module Aws::IoT
1995
2007
  # },
1996
2008
  # ],
1997
2009
  # },
2010
+ # maintenance_windows: [
2011
+ # {
2012
+ # start_time: "CronExpression", # required
2013
+ # duration_in_minutes: 1, # required
2014
+ # },
2015
+ # ],
1998
2016
  # })
1999
2017
  #
2000
2018
  # @example Response structure
@@ -5672,6 +5690,11 @@ module Aws::IoT
5672
5690
  # resp.job.scheduling_config.start_time #=> String
5673
5691
  # resp.job.scheduling_config.end_time #=> String
5674
5692
  # resp.job.scheduling_config.end_behavior #=> String, one of "STOP_ROLLOUT", "CANCEL", "FORCE_CANCEL"
5693
+ # resp.job.scheduling_config.maintenance_windows #=> Array
5694
+ # resp.job.scheduling_config.maintenance_windows[0].start_time #=> String
5695
+ # resp.job.scheduling_config.maintenance_windows[0].duration_in_minutes #=> Integer
5696
+ # resp.job.scheduled_job_rollouts #=> Array
5697
+ # resp.job.scheduled_job_rollouts[0].start_time #=> String
5675
5698
  #
5676
5699
  # @overload describe_job(params = {})
5677
5700
  # @param [Hash] params ({})
@@ -5750,6 +5773,7 @@ module Aws::IoT
5750
5773
  # * {Types::DescribeJobTemplateResponse#abort_config #abort_config} => Types::AbortConfig
5751
5774
  # * {Types::DescribeJobTemplateResponse#timeout_config #timeout_config} => Types::TimeoutConfig
5752
5775
  # * {Types::DescribeJobTemplateResponse#job_executions_retry_config #job_executions_retry_config} => Types::JobExecutionsRetryConfig
5776
+ # * {Types::DescribeJobTemplateResponse#maintenance_windows #maintenance_windows} => Array&lt;Types::MaintenanceWindow&gt;
5753
5777
  #
5754
5778
  # @example Request syntax with placeholder values
5755
5779
  #
@@ -5781,6 +5805,9 @@ module Aws::IoT
5781
5805
  # resp.job_executions_retry_config.criteria_list #=> Array
5782
5806
  # resp.job_executions_retry_config.criteria_list[0].failure_type #=> String, one of "FAILED", "TIMED_OUT", "ALL"
5783
5807
  # resp.job_executions_retry_config.criteria_list[0].number_of_retries #=> Integer
5808
+ # resp.maintenance_windows #=> Array
5809
+ # resp.maintenance_windows[0].start_time #=> String
5810
+ # resp.maintenance_windows[0].duration_in_minutes #=> Integer
5784
5811
  #
5785
5812
  # @overload describe_job_template(params = {})
5786
5813
  # @param [Hash] params ({})
@@ -14067,7 +14094,7 @@ module Aws::IoT
14067
14094
  params: params,
14068
14095
  config: config)
14069
14096
  context[:gem_name] = 'aws-sdk-iot'
14070
- context[:gem_version] = '1.100.0'
14097
+ context[:gem_version] = '1.101.0'
14071
14098
  Seahorse::Client::Request.new(handlers, context)
14072
14099
  end
14073
14100
 
@@ -293,6 +293,7 @@ module Aws::IoT
293
293
  CreatedAtDate = Shapes::TimestampShape.new(name: 'CreatedAtDate')
294
294
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
295
295
  CredentialDurationSeconds = Shapes::IntegerShape.new(name: 'CredentialDurationSeconds')
296
+ CronExpression = Shapes::StringShape.new(name: 'CronExpression')
296
297
  CustomCodeSigning = Shapes::StructureShape.new(name: 'CustomCodeSigning')
297
298
  CustomMetricArn = Shapes::StringShape.new(name: 'CustomMetricArn')
298
299
  CustomMetricDisplayName = Shapes::StringShape.new(name: 'CustomMetricDisplayName')
@@ -475,6 +476,7 @@ module Aws::IoT
475
476
  DomainConfigurations = Shapes::ListShape.new(name: 'DomainConfigurations')
476
477
  DomainName = Shapes::StringShape.new(name: 'DomainName')
477
478
  DomainType = Shapes::StringShape.new(name: 'DomainType')
479
+ DurationInMinutes = Shapes::IntegerShape.new(name: 'DurationInMinutes')
478
480
  DurationSeconds = Shapes::IntegerShape.new(name: 'DurationSeconds')
479
481
  DynamicGroupStatus = Shapes::StringShape.new(name: 'DynamicGroupStatus')
480
482
  DynamoDBAction = Shapes::StructureShape.new(name: 'DynamoDBAction')
@@ -788,6 +790,8 @@ module Aws::IoT
788
790
  LogTargetType = Shapes::StringShape.new(name: 'LogTargetType')
789
791
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
790
792
  MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
793
+ MaintenanceWindow = Shapes::StructureShape.new(name: 'MaintenanceWindow')
794
+ MaintenanceWindows = Shapes::ListShape.new(name: 'MaintenanceWindows')
791
795
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
792
796
  ManagedJobTemplateName = Shapes::StringShape.new(name: 'ManagedJobTemplateName')
793
797
  ManagedJobTemplateSummary = Shapes::StructureShape.new(name: 'ManagedJobTemplateSummary')
@@ -1006,6 +1010,8 @@ module Aws::IoT
1006
1010
  ScheduledAuditMetadata = Shapes::StructureShape.new(name: 'ScheduledAuditMetadata')
1007
1011
  ScheduledAuditMetadataList = Shapes::ListShape.new(name: 'ScheduledAuditMetadataList')
1008
1012
  ScheduledAuditName = Shapes::StringShape.new(name: 'ScheduledAuditName')
1013
+ ScheduledJobRollout = Shapes::StructureShape.new(name: 'ScheduledJobRollout')
1014
+ ScheduledJobRolloutList = Shapes::ListShape.new(name: 'ScheduledJobRolloutList')
1009
1015
  SchedulingConfig = Shapes::StructureShape.new(name: 'SchedulingConfig')
1010
1016
  SearchIndexRequest = Shapes::StructureShape.new(name: 'SearchIndexRequest')
1011
1017
  SearchIndexResponse = Shapes::StructureShape.new(name: 'SearchIndexResponse')
@@ -1944,6 +1950,7 @@ module Aws::IoT
1944
1950
  CreateJobTemplateRequest.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
1945
1951
  CreateJobTemplateRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1946
1952
  CreateJobTemplateRequest.add_member(:job_executions_retry_config, Shapes::ShapeRef.new(shape: JobExecutionsRetryConfig, location_name: "jobExecutionsRetryConfig"))
1953
+ CreateJobTemplateRequest.add_member(:maintenance_windows, Shapes::ShapeRef.new(shape: MaintenanceWindows, location_name: "maintenanceWindows"))
1947
1954
  CreateJobTemplateRequest.struct_class = Types::CreateJobTemplateRequest
1948
1955
 
1949
1956
  CreateJobTemplateResponse.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
@@ -2506,6 +2513,7 @@ module Aws::IoT
2506
2513
  DescribeJobTemplateResponse.add_member(:abort_config, Shapes::ShapeRef.new(shape: AbortConfig, location_name: "abortConfig"))
2507
2514
  DescribeJobTemplateResponse.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2508
2515
  DescribeJobTemplateResponse.add_member(:job_executions_retry_config, Shapes::ShapeRef.new(shape: JobExecutionsRetryConfig, location_name: "jobExecutionsRetryConfig"))
2516
+ DescribeJobTemplateResponse.add_member(:maintenance_windows, Shapes::ShapeRef.new(shape: MaintenanceWindows, location_name: "maintenanceWindows"))
2509
2517
  DescribeJobTemplateResponse.struct_class = Types::DescribeJobTemplateResponse
2510
2518
 
2511
2519
  DescribeManagedJobTemplateRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, required: true, location: "uri", location_name: "templateName"))
@@ -3064,6 +3072,7 @@ module Aws::IoT
3064
3072
  Job.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
3065
3073
  Job.add_member(:is_concurrent, Shapes::ShapeRef.new(shape: BooleanWrapperObject, location_name: "isConcurrent"))
3066
3074
  Job.add_member(:scheduling_config, Shapes::ShapeRef.new(shape: SchedulingConfig, location_name: "schedulingConfig"))
3075
+ Job.add_member(:scheduled_job_rollouts, Shapes::ShapeRef.new(shape: ScheduledJobRolloutList, location_name: "scheduledJobRollouts"))
3067
3076
  Job.struct_class = Types::Job
3068
3077
 
3069
3078
  JobExecution.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
@@ -3756,6 +3765,12 @@ module Aws::IoT
3756
3765
  MachineLearningDetectionConfig.add_member(:confidence_level, Shapes::ShapeRef.new(shape: ConfidenceLevel, required: true, location_name: "confidenceLevel"))
3757
3766
  MachineLearningDetectionConfig.struct_class = Types::MachineLearningDetectionConfig
3758
3767
 
3768
+ MaintenanceWindow.add_member(:start_time, Shapes::ShapeRef.new(shape: CronExpression, required: true, location_name: "startTime"))
3769
+ MaintenanceWindow.add_member(:duration_in_minutes, Shapes::ShapeRef.new(shape: DurationInMinutes, required: true, location_name: "durationInMinutes"))
3770
+ MaintenanceWindow.struct_class = Types::MaintenanceWindow
3771
+
3772
+ MaintenanceWindows.member = Shapes::ShapeRef.new(shape: MaintenanceWindow)
3773
+
3759
3774
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3760
3775
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3761
3776
 
@@ -4162,9 +4177,15 @@ module Aws::IoT
4162
4177
 
4163
4178
  ScheduledAuditMetadataList.member = Shapes::ShapeRef.new(shape: ScheduledAuditMetadata)
4164
4179
 
4180
+ ScheduledJobRollout.add_member(:start_time, Shapes::ShapeRef.new(shape: StringDateTime, location_name: "startTime"))
4181
+ ScheduledJobRollout.struct_class = Types::ScheduledJobRollout
4182
+
4183
+ ScheduledJobRolloutList.member = Shapes::ShapeRef.new(shape: ScheduledJobRollout)
4184
+
4165
4185
  SchedulingConfig.add_member(:start_time, Shapes::ShapeRef.new(shape: StringDateTime, location_name: "startTime"))
4166
4186
  SchedulingConfig.add_member(:end_time, Shapes::ShapeRef.new(shape: StringDateTime, location_name: "endTime"))
4167
4187
  SchedulingConfig.add_member(:end_behavior, Shapes::ShapeRef.new(shape: JobEndBehavior, location_name: "endBehavior"))
4188
+ SchedulingConfig.add_member(:maintenance_windows, Shapes::ShapeRef.new(shape: MaintenanceWindows, location_name: "maintenanceWindows"))
4168
4189
  SchedulingConfig.struct_class = Types::SchedulingConfig
4169
4190
 
4170
4191
  SearchIndexRequest.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
@@ -50,9 +50,6 @@ 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
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,36 +14,48 @@ module Aws::IoT
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://iot-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
19
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://iot-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
21
39
  end
22
40
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
24
45
  end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://iot-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
+ if Aws::Endpoints::Matchers.string_equals?("aws", Aws::Endpoints::Matchers.attr(partition_result, "name"))
47
+ return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.amazonaws.com", headers: {}, properties: {})
30
48
  end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
33
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://iot-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
49
+ if Aws::Endpoints::Matchers.string_equals?("aws-cn", Aws::Endpoints::Matchers.attr(partition_result, "name"))
50
+ return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.amazonaws.com.cn", headers: {}, properties: {})
36
51
  end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
- end
39
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
52
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
53
+ return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.amazonaws.com", headers: {}, properties: {})
42
54
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
55
+ return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
56
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://iot.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
57
  end
58
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
59
  raise ArgumentError, 'No endpoint could be resolved'
48
60
 
49
61
  end
@@ -2659,7 +2659,7 @@ module Aws::IoT
2659
2659
  #
2660
2660
  #
2661
2661
  #
2662
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
2662
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
2663
2663
  # @return [String]
2664
2664
  #
2665
2665
  # @!attribute [rw] tags
@@ -2915,6 +2915,12 @@ module Aws::IoT
2915
2915
  # Allows you to create the criteria to retry a job.
2916
2916
  # @return [Types::JobExecutionsRetryConfig]
2917
2917
  #
2918
+ # @!attribute [rw] maintenance_windows
2919
+ # Allows you to configure an optional maintenance window for the
2920
+ # rollout of a job document to all devices in the target group for a
2921
+ # job.
2922
+ # @return [Array<Types::MaintenanceWindow>]
2923
+ #
2918
2924
  class CreateJobTemplateRequest < Struct.new(
2919
2925
  :job_template_id,
2920
2926
  :job_arn,
@@ -2926,7 +2932,8 @@ module Aws::IoT
2926
2932
  :abort_config,
2927
2933
  :timeout_config,
2928
2934
  :tags,
2929
- :job_executions_retry_config)
2935
+ :job_executions_retry_config,
2936
+ :maintenance_windows)
2930
2937
  SENSITIVE = []
2931
2938
  include Aws::Structure
2932
2939
  end
@@ -5159,7 +5166,7 @@ module Aws::IoT
5159
5166
  #
5160
5167
  #
5161
5168
  #
5162
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
5169
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
5163
5170
  # @return [String]
5164
5171
  #
5165
5172
  # @!attribute [rw] version
@@ -5354,6 +5361,12 @@ module Aws::IoT
5354
5361
  # each failure type for a job.
5355
5362
  # @return [Types::JobExecutionsRetryConfig]
5356
5363
  #
5364
+ # @!attribute [rw] maintenance_windows
5365
+ # Allows you to configure an optional maintenance window for the
5366
+ # rollout of a job document to all devices in the target group for a
5367
+ # job.
5368
+ # @return [Array<Types::MaintenanceWindow>]
5369
+ #
5357
5370
  class DescribeJobTemplateResponse < Struct.new(
5358
5371
  :job_template_arn,
5359
5372
  :job_template_id,
@@ -5365,7 +5378,8 @@ module Aws::IoT
5365
5378
  :job_executions_rollout_config,
5366
5379
  :abort_config,
5367
5380
  :timeout_config,
5368
- :job_executions_retry_config)
5381
+ :job_executions_retry_config,
5382
+ :maintenance_windows)
5369
5383
  SENSITIVE = []
5370
5384
  include Aws::Structure
5371
5385
  end
@@ -7816,6 +7830,11 @@ module Aws::IoT
7816
7830
  # job execution.
7817
7831
  # @return [Types::SchedulingConfig]
7818
7832
  #
7833
+ # @!attribute [rw] scheduled_job_rollouts
7834
+ # Displays the next seven maintenance window occurrences and their
7835
+ # start times.
7836
+ # @return [Array<Types::ScheduledJobRollout>]
7837
+ #
7819
7838
  class Job < Struct.new(
7820
7839
  :job_arn,
7821
7840
  :job_id,
@@ -7839,7 +7858,8 @@ module Aws::IoT
7839
7858
  :job_executions_retry_config,
7840
7859
  :document_parameters,
7841
7860
  :is_concurrent,
7842
- :scheduling_config)
7861
+ :scheduling_config,
7862
+ :scheduled_job_rollouts)
7843
7863
  SENSITIVE = []
7844
7864
  include Aws::Structure
7845
7865
  end
@@ -10917,6 +10937,26 @@ module Aws::IoT
10917
10937
  include Aws::Structure
10918
10938
  end
10919
10939
 
10940
+ # An optional configuration within the `SchedulingConfig` to setup a
10941
+ # recurring maintenance window with a predetermined start time and
10942
+ # duration for the rollout of a job document to all devices in a target
10943
+ # group for a job.
10944
+ #
10945
+ # @!attribute [rw] start_time
10946
+ # Displays the start time of the next maintenance window.
10947
+ # @return [String]
10948
+ #
10949
+ # @!attribute [rw] duration_in_minutes
10950
+ # Displays the duration of the next maintenance window.
10951
+ # @return [Integer]
10952
+ #
10953
+ class MaintenanceWindow < Struct.new(
10954
+ :start_time,
10955
+ :duration_in_minutes)
10956
+ SENSITIVE = []
10957
+ include Aws::Structure
10958
+ end
10959
+
10920
10960
  # The policy documentation is not valid.
10921
10961
  #
10922
10962
  # @!attribute [rw] message
@@ -12556,6 +12596,20 @@ module Aws::IoT
12556
12596
  include Aws::Structure
12557
12597
  end
12558
12598
 
12599
+ # Displays the next seven maintenance window occurrences and their start
12600
+ # times.
12601
+ #
12602
+ # @!attribute [rw] start_time
12603
+ # Displays the start times of the next seven maintenance window
12604
+ # occurrences.
12605
+ # @return [String]
12606
+ #
12607
+ class ScheduledJobRollout < Struct.new(
12608
+ :start_time)
12609
+ SENSITIVE = []
12610
+ include Aws::Structure
12611
+ end
12612
+
12559
12613
  # Specifies the date and time that a job will begin the rollout of the
12560
12614
  # job document to all devices in the target group. Additionally, you can
12561
12615
  # specify the end behavior for each job execution when it reaches the
@@ -12565,7 +12619,8 @@ module Aws::IoT
12565
12619
  # The time a job will begin rollout of the job document to all devices
12566
12620
  # in the target group for a job. The `startTime` can be scheduled up
12567
12621
  # to a year in advance and must be scheduled a minimum of thirty
12568
- # minutes from the current time.
12622
+ # minutes from the current time. The date and time format for the
12623
+ # `startTime` is YYYY-MM-DD for the date and HH:MM for the time.
12569
12624
  # @return [String]
12570
12625
  #
12571
12626
  # @!attribute [rw] end_time
@@ -12574,7 +12629,9 @@ module Aws::IoT
12574
12629
  # later than two years from the current time and be scheduled a
12575
12630
  # minimum of thirty minutes from the current time. The minimum
12576
12631
  # duration between `startTime` and `endTime` is thirty minutes. The
12577
- # maximum duration between `startTime` and `endTime` is two years.
12632
+ # maximum duration between `startTime` and `endTime` is two years. The
12633
+ # date and time format for the `endTime` is YYYY-MM-DD for the date
12634
+ # and HH:MM for the time.
12578
12635
  # @return [String]
12579
12636
  #
12580
12637
  # @!attribute [rw] end_behavior
@@ -12583,10 +12640,18 @@ module Aws::IoT
12583
12640
  # creating the job, then `endBehavior` does not apply.
12584
12641
  # @return [String]
12585
12642
  #
12643
+ # @!attribute [rw] maintenance_windows
12644
+ # An optional configuration within the `SchedulingConfig` to setup a
12645
+ # recurring maintenance window with a predetermined start time and
12646
+ # duration for the rollout of a job document to all devices in a
12647
+ # target group for a job.
12648
+ # @return [Array<Types::MaintenanceWindow>]
12649
+ #
12586
12650
  class SchedulingConfig < Struct.new(
12587
12651
  :start_time,
12588
12652
  :end_time,
12589
- :end_behavior)
12653
+ :end_behavior,
12654
+ :maintenance_windows)
12590
12655
  SENSITIVE = []
12591
12656
  include Aws::Structure
12592
12657
  end
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.100.0'
55
+ GEM_VERSION = '1.101.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.100.0
4
+ version: 1.101.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: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core