aws-sdk-iot 1.39.0 → 1.40.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.
@@ -166,6 +166,9 @@ module Aws::IoT
166
166
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
167
167
  CompliantChecksCount = Shapes::IntegerShape.new(name: 'CompliantChecksCount')
168
168
  Configuration = Shapes::StructureShape.new(name: 'Configuration')
169
+ ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
170
+ ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
171
+ ConfirmationToken = Shapes::StringShape.new(name: 'ConfirmationToken')
169
172
  ConflictingResourceUpdateException = Shapes::StructureShape.new(name: 'ConflictingResourceUpdateException')
170
173
  ConnectivityTimestamp = Shapes::IntegerShape.new(name: 'ConnectivityTimestamp')
171
174
  ConsecutiveDatapointsToAlarm = Shapes::IntegerShape.new(name: 'ConsecutiveDatapointsToAlarm')
@@ -205,6 +208,8 @@ module Aws::IoT
205
208
  CreateThingResponse = Shapes::StructureShape.new(name: 'CreateThingResponse')
206
209
  CreateThingTypeRequest = Shapes::StructureShape.new(name: 'CreateThingTypeRequest')
207
210
  CreateThingTypeResponse = Shapes::StructureShape.new(name: 'CreateThingTypeResponse')
211
+ CreateTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'CreateTopicRuleDestinationRequest')
212
+ CreateTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'CreateTopicRuleDestinationResponse')
208
213
  CreateTopicRuleRequest = Shapes::StructureShape.new(name: 'CreateTopicRuleRequest')
209
214
  CreatedAtDate = Shapes::TimestampShape.new(name: 'CreatedAtDate')
210
215
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
@@ -255,6 +260,8 @@ module Aws::IoT
255
260
  DeleteThingResponse = Shapes::StructureShape.new(name: 'DeleteThingResponse')
256
261
  DeleteThingTypeRequest = Shapes::StructureShape.new(name: 'DeleteThingTypeRequest')
257
262
  DeleteThingTypeResponse = Shapes::StructureShape.new(name: 'DeleteThingTypeResponse')
263
+ DeleteTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'DeleteTopicRuleDestinationRequest')
264
+ DeleteTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'DeleteTopicRuleDestinationResponse')
258
265
  DeleteTopicRuleRequest = Shapes::StructureShape.new(name: 'DeleteTopicRuleRequest')
259
266
  DeleteV2LoggingLevelRequest = Shapes::StructureShape.new(name: 'DeleteV2LoggingLevelRequest')
260
267
  DeliveryStreamName = Shapes::StringShape.new(name: 'DeliveryStreamName')
@@ -373,7 +380,6 @@ module Aws::IoT
373
380
  ForceFlag = Shapes::BooleanShape.new(name: 'ForceFlag')
374
381
  Forced = Shapes::BooleanShape.new(name: 'Forced')
375
382
  FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
376
- GEMaxResults = Shapes::IntegerShape.new(name: 'GEMaxResults')
377
383
  GenerationId = Shapes::StringShape.new(name: 'GenerationId')
378
384
  GetCardinalityRequest = Shapes::StructureShape.new(name: 'GetCardinalityRequest')
379
385
  GetCardinalityResponse = Shapes::StructureShape.new(name: 'GetCardinalityResponse')
@@ -397,6 +403,8 @@ module Aws::IoT
397
403
  GetRegistrationCodeResponse = Shapes::StructureShape.new(name: 'GetRegistrationCodeResponse')
398
404
  GetStatisticsRequest = Shapes::StructureShape.new(name: 'GetStatisticsRequest')
399
405
  GetStatisticsResponse = Shapes::StructureShape.new(name: 'GetStatisticsResponse')
406
+ GetTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'GetTopicRuleDestinationRequest')
407
+ GetTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'GetTopicRuleDestinationResponse')
400
408
  GetTopicRuleRequest = Shapes::StructureShape.new(name: 'GetTopicRuleRequest')
401
409
  GetTopicRuleResponse = Shapes::StructureShape.new(name: 'GetTopicRuleResponse')
402
410
  GetV2LoggingOptionsRequest = Shapes::StructureShape.new(name: 'GetV2LoggingOptionsRequest')
@@ -405,6 +413,15 @@ module Aws::IoT
405
413
  HashAlgorithm = Shapes::StringShape.new(name: 'HashAlgorithm')
406
414
  HashKeyField = Shapes::StringShape.new(name: 'HashKeyField')
407
415
  HashKeyValue = Shapes::StringShape.new(name: 'HashKeyValue')
416
+ HeaderKey = Shapes::StringShape.new(name: 'HeaderKey')
417
+ HeaderList = Shapes::ListShape.new(name: 'HeaderList')
418
+ HeaderValue = Shapes::StringShape.new(name: 'HeaderValue')
419
+ HttpAction = Shapes::StructureShape.new(name: 'HttpAction')
420
+ HttpActionHeader = Shapes::StructureShape.new(name: 'HttpActionHeader')
421
+ HttpAuthorization = Shapes::StructureShape.new(name: 'HttpAuthorization')
422
+ HttpUrlDestinationConfiguration = Shapes::StructureShape.new(name: 'HttpUrlDestinationConfiguration')
423
+ HttpUrlDestinationProperties = Shapes::StructureShape.new(name: 'HttpUrlDestinationProperties')
424
+ HttpUrlDestinationSummary = Shapes::StructureShape.new(name: 'HttpUrlDestinationSummary')
408
425
  ImplicitDeny = Shapes::StructureShape.new(name: 'ImplicitDeny')
409
426
  InProgressChecksCount = Shapes::IntegerShape.new(name: 'InProgressChecksCount')
410
427
  InProgressThings = Shapes::IntegerShape.new(name: 'InProgressThings')
@@ -540,6 +557,8 @@ module Aws::IoT
540
557
  ListThingsInThingGroupResponse = Shapes::StructureShape.new(name: 'ListThingsInThingGroupResponse')
541
558
  ListThingsRequest = Shapes::StructureShape.new(name: 'ListThingsRequest')
542
559
  ListThingsResponse = Shapes::StructureShape.new(name: 'ListThingsResponse')
560
+ ListTopicRuleDestinationsRequest = Shapes::StructureShape.new(name: 'ListTopicRuleDestinationsRequest')
561
+ ListTopicRuleDestinationsResponse = Shapes::StructureShape.new(name: 'ListTopicRuleDestinationsResponse')
543
562
  ListTopicRulesRequest = Shapes::StructureShape.new(name: 'ListTopicRulesRequest')
544
563
  ListTopicRulesResponse = Shapes::StructureShape.new(name: 'ListTopicRulesResponse')
545
564
  ListV2LoggingLevelsRequest = Shapes::StructureShape.new(name: 'ListV2LoggingLevelsRequest')
@@ -729,6 +748,7 @@ module Aws::IoT
729
748
  SecurityProfileTargetMapping = Shapes::StructureShape.new(name: 'SecurityProfileTargetMapping')
730
749
  SecurityProfileTargetMappings = Shapes::ListShape.new(name: 'SecurityProfileTargetMappings')
731
750
  SecurityProfileTargets = Shapes::ListShape.new(name: 'SecurityProfileTargets')
751
+ ServiceName = Shapes::StringShape.new(name: 'ServiceName')
732
752
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
733
753
  SetAsActive = Shapes::BooleanShape.new(name: 'SetAsActive')
734
754
  SetAsActiveFlag = Shapes::BooleanShape.new(name: 'SetAsActiveFlag')
@@ -739,11 +759,13 @@ module Aws::IoT
739
759
  SetLoggingOptionsRequest = Shapes::StructureShape.new(name: 'SetLoggingOptionsRequest')
740
760
  SetV2LoggingLevelRequest = Shapes::StructureShape.new(name: 'SetV2LoggingLevelRequest')
741
761
  SetV2LoggingOptionsRequest = Shapes::StructureShape.new(name: 'SetV2LoggingOptionsRequest')
762
+ SigV4Authorization = Shapes::StructureShape.new(name: 'SigV4Authorization')
742
763
  Signature = Shapes::BlobShape.new(name: 'Signature')
743
764
  SignatureAlgorithm = Shapes::StringShape.new(name: 'SignatureAlgorithm')
744
765
  SigningJobId = Shapes::StringShape.new(name: 'SigningJobId')
745
766
  SigningProfileName = Shapes::StringShape.new(name: 'SigningProfileName')
746
767
  SigningProfileParameter = Shapes::StructureShape.new(name: 'SigningProfileParameter')
768
+ SigningRegion = Shapes::StringShape.new(name: 'SigningRegion')
747
769
  SkippedFindingsCount = Shapes::IntegerShape.new(name: 'SkippedFindingsCount')
748
770
  SkyfallMaxResults = Shapes::IntegerShape.new(name: 'SkyfallMaxResults')
749
771
  SnsAction = Shapes::StructureShape.new(name: 'SnsAction')
@@ -851,8 +873,15 @@ module Aws::IoT
851
873
  Topic = Shapes::StringShape.new(name: 'Topic')
852
874
  TopicPattern = Shapes::StringShape.new(name: 'TopicPattern')
853
875
  TopicRule = Shapes::StructureShape.new(name: 'TopicRule')
876
+ TopicRuleDestination = Shapes::StructureShape.new(name: 'TopicRuleDestination')
877
+ TopicRuleDestinationConfiguration = Shapes::StructureShape.new(name: 'TopicRuleDestinationConfiguration')
878
+ TopicRuleDestinationMaxResults = Shapes::IntegerShape.new(name: 'TopicRuleDestinationMaxResults')
879
+ TopicRuleDestinationStatus = Shapes::StringShape.new(name: 'TopicRuleDestinationStatus')
880
+ TopicRuleDestinationSummaries = Shapes::ListShape.new(name: 'TopicRuleDestinationSummaries')
881
+ TopicRuleDestinationSummary = Shapes::StructureShape.new(name: 'TopicRuleDestinationSummary')
854
882
  TopicRuleList = Shapes::ListShape.new(name: 'TopicRuleList')
855
883
  TopicRuleListItem = Shapes::StructureShape.new(name: 'TopicRuleListItem')
884
+ TopicRuleMaxResults = Shapes::IntegerShape.new(name: 'TopicRuleMaxResults')
856
885
  TopicRulePayload = Shapes::StructureShape.new(name: 'TopicRulePayload')
857
886
  TotalChecksCount = Shapes::IntegerShape.new(name: 'TotalChecksCount')
858
887
  TotalFindingsCount = Shapes::IntegerShape.new(name: 'TotalFindingsCount')
@@ -900,6 +929,9 @@ module Aws::IoT
900
929
  UpdateThingGroupsForThingResponse = Shapes::StructureShape.new(name: 'UpdateThingGroupsForThingResponse')
901
930
  UpdateThingRequest = Shapes::StructureShape.new(name: 'UpdateThingRequest')
902
931
  UpdateThingResponse = Shapes::StructureShape.new(name: 'UpdateThingResponse')
932
+ UpdateTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'UpdateTopicRuleDestinationRequest')
933
+ UpdateTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'UpdateTopicRuleDestinationResponse')
934
+ Url = Shapes::StringShape.new(name: 'Url')
903
935
  UseBase64 = Shapes::BooleanShape.new(name: 'UseBase64')
904
936
  Valid = Shapes::BooleanShape.new(name: 'Valid')
905
937
  ValidateSecurityProfileBehaviorsRequest = Shapes::StructureShape.new(name: 'ValidateSecurityProfileBehaviorsRequest')
@@ -952,6 +984,7 @@ module Aws::IoT
952
984
  Action.add_member(:iot_analytics, Shapes::ShapeRef.new(shape: IotAnalyticsAction, location_name: "iotAnalytics"))
953
985
  Action.add_member(:iot_events, Shapes::ShapeRef.new(shape: IotEventsAction, location_name: "iotEvents"))
954
986
  Action.add_member(:step_functions, Shapes::ShapeRef.new(shape: StepFunctionsAction, location_name: "stepFunctions"))
987
+ Action.add_member(:http, Shapes::ShapeRef.new(shape: HttpAction, location_name: "http"))
955
988
  Action.struct_class = Types::Action
956
989
 
957
990
  ActionList.member = Shapes::ShapeRef.new(shape: Action)
@@ -1303,6 +1336,11 @@ module Aws::IoT
1303
1336
  Configuration.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "Enabled"))
1304
1337
  Configuration.struct_class = Types::Configuration
1305
1338
 
1339
+ ConfirmTopicRuleDestinationRequest.add_member(:confirmation_token, Shapes::ShapeRef.new(shape: ConfirmationToken, required: true, location: "uri", location_name: "confirmationToken"))
1340
+ ConfirmTopicRuleDestinationRequest.struct_class = Types::ConfirmTopicRuleDestinationRequest
1341
+
1342
+ ConfirmTopicRuleDestinationResponse.struct_class = Types::ConfirmTopicRuleDestinationResponse
1343
+
1306
1344
  ConflictingResourceUpdateException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1307
1345
  ConflictingResourceUpdateException.struct_class = Types::ConflictingResourceUpdateException
1308
1346
 
@@ -1505,6 +1543,12 @@ module Aws::IoT
1505
1543
  CreateThingTypeResponse.add_member(:thing_type_id, Shapes::ShapeRef.new(shape: ThingTypeId, location_name: "thingTypeId"))
1506
1544
  CreateThingTypeResponse.struct_class = Types::CreateThingTypeResponse
1507
1545
 
1546
+ CreateTopicRuleDestinationRequest.add_member(:destination_configuration, Shapes::ShapeRef.new(shape: TopicRuleDestinationConfiguration, required: true, location_name: "destinationConfiguration"))
1547
+ CreateTopicRuleDestinationRequest.struct_class = Types::CreateTopicRuleDestinationRequest
1548
+
1549
+ CreateTopicRuleDestinationResponse.add_member(:topic_rule_destination, Shapes::ShapeRef.new(shape: TopicRuleDestination, location_name: "topicRuleDestination"))
1550
+ CreateTopicRuleDestinationResponse.struct_class = Types::CreateTopicRuleDestinationResponse
1551
+
1508
1552
  CreateTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
1509
1553
  CreateTopicRuleRequest.add_member(:topic_rule_payload, Shapes::ShapeRef.new(shape: TopicRulePayload, required: true, location_name: "topicRulePayload"))
1510
1554
  CreateTopicRuleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: String, location: "header", location_name: "x-amz-tagging"))
@@ -1623,6 +1667,11 @@ module Aws::IoT
1623
1667
 
1624
1668
  DeleteThingTypeResponse.struct_class = Types::DeleteThingTypeResponse
1625
1669
 
1670
+ DeleteTopicRuleDestinationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location: "uri", location_name: "arn"))
1671
+ DeleteTopicRuleDestinationRequest.struct_class = Types::DeleteTopicRuleDestinationRequest
1672
+
1673
+ DeleteTopicRuleDestinationResponse.struct_class = Types::DeleteTopicRuleDestinationResponse
1674
+
1626
1675
  DeleteTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
1627
1676
  DeleteTopicRuleRequest.struct_class = Types::DeleteTopicRuleRequest
1628
1677
 
@@ -2041,6 +2090,12 @@ module Aws::IoT
2041
2090
  GetStatisticsResponse.add_member(:statistics, Shapes::ShapeRef.new(shape: Statistics, location_name: "statistics"))
2042
2091
  GetStatisticsResponse.struct_class = Types::GetStatisticsResponse
2043
2092
 
2093
+ GetTopicRuleDestinationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location: "uri", location_name: "arn"))
2094
+ GetTopicRuleDestinationRequest.struct_class = Types::GetTopicRuleDestinationRequest
2095
+
2096
+ GetTopicRuleDestinationResponse.add_member(:topic_rule_destination, Shapes::ShapeRef.new(shape: TopicRuleDestination, location_name: "topicRuleDestination"))
2097
+ GetTopicRuleDestinationResponse.struct_class = Types::GetTopicRuleDestinationResponse
2098
+
2044
2099
  GetTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
2045
2100
  GetTopicRuleRequest.struct_class = Types::GetTopicRuleRequest
2046
2101
 
@@ -2059,6 +2114,30 @@ module Aws::IoT
2059
2114
  GroupNameAndArn.add_member(:group_arn, Shapes::ShapeRef.new(shape: ThingGroupArn, location_name: "groupArn"))
2060
2115
  GroupNameAndArn.struct_class = Types::GroupNameAndArn
2061
2116
 
2117
+ HeaderList.member = Shapes::ShapeRef.new(shape: HttpActionHeader)
2118
+
2119
+ HttpAction.add_member(:url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "url"))
2120
+ HttpAction.add_member(:confirmation_url, Shapes::ShapeRef.new(shape: Url, location_name: "confirmationUrl"))
2121
+ HttpAction.add_member(:headers, Shapes::ShapeRef.new(shape: HeaderList, location_name: "headers"))
2122
+ HttpAction.add_member(:auth, Shapes::ShapeRef.new(shape: HttpAuthorization, location_name: "auth"))
2123
+ HttpAction.struct_class = Types::HttpAction
2124
+
2125
+ HttpActionHeader.add_member(:key, Shapes::ShapeRef.new(shape: HeaderKey, required: true, location_name: "key"))
2126
+ HttpActionHeader.add_member(:value, Shapes::ShapeRef.new(shape: HeaderValue, required: true, location_name: "value"))
2127
+ HttpActionHeader.struct_class = Types::HttpActionHeader
2128
+
2129
+ HttpAuthorization.add_member(:sigv4, Shapes::ShapeRef.new(shape: SigV4Authorization, location_name: "sigv4"))
2130
+ HttpAuthorization.struct_class = Types::HttpAuthorization
2131
+
2132
+ HttpUrlDestinationConfiguration.add_member(:confirmation_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "confirmationUrl"))
2133
+ HttpUrlDestinationConfiguration.struct_class = Types::HttpUrlDestinationConfiguration
2134
+
2135
+ HttpUrlDestinationProperties.add_member(:confirmation_url, Shapes::ShapeRef.new(shape: Url, location_name: "confirmationUrl"))
2136
+ HttpUrlDestinationProperties.struct_class = Types::HttpUrlDestinationProperties
2137
+
2138
+ HttpUrlDestinationSummary.add_member(:confirmation_url, Shapes::ShapeRef.new(shape: Url, location_name: "confirmationUrl"))
2139
+ HttpUrlDestinationSummary.struct_class = Types::HttpUrlDestinationSummary
2140
+
2062
2141
  ImplicitDeny.add_member(:policies, Shapes::ShapeRef.new(shape: Policies, location_name: "policies"))
2063
2142
  ImplicitDeny.struct_class = Types::ImplicitDeny
2064
2143
 
@@ -2578,8 +2657,16 @@ module Aws::IoT
2578
2657
  ListThingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2579
2658
  ListThingsResponse.struct_class = Types::ListThingsResponse
2580
2659
 
2660
+ ListTopicRuleDestinationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TopicRuleDestinationMaxResults, location: "querystring", location_name: "maxResults"))
2661
+ ListTopicRuleDestinationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2662
+ ListTopicRuleDestinationsRequest.struct_class = Types::ListTopicRuleDestinationsRequest
2663
+
2664
+ ListTopicRuleDestinationsResponse.add_member(:destination_summaries, Shapes::ShapeRef.new(shape: TopicRuleDestinationSummaries, location_name: "destinationSummaries"))
2665
+ ListTopicRuleDestinationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
2666
+ ListTopicRuleDestinationsResponse.struct_class = Types::ListTopicRuleDestinationsResponse
2667
+
2581
2668
  ListTopicRulesRequest.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, location: "querystring", location_name: "topic"))
2582
- ListTopicRulesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: GEMaxResults, location: "querystring", location_name: "maxResults"))
2669
+ ListTopicRulesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TopicRuleMaxResults, location: "querystring", location_name: "maxResults"))
2583
2670
  ListTopicRulesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
2584
2671
  ListTopicRulesRequest.add_member(:rule_disabled, Shapes::ShapeRef.new(shape: IsDisabled, location: "querystring", location_name: "ruleDisabled"))
2585
2672
  ListTopicRulesRequest.struct_class = Types::ListTopicRulesRequest
@@ -2968,6 +3055,11 @@ module Aws::IoT
2968
3055
  SetV2LoggingOptionsRequest.add_member(:disable_all_logs, Shapes::ShapeRef.new(shape: DisableAllLogs, location_name: "disableAllLogs"))
2969
3056
  SetV2LoggingOptionsRequest.struct_class = Types::SetV2LoggingOptionsRequest
2970
3057
 
3058
+ SigV4Authorization.add_member(:signing_region, Shapes::ShapeRef.new(shape: SigningRegion, required: true, location_name: "signingRegion"))
3059
+ SigV4Authorization.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, required: true, location_name: "serviceName"))
3060
+ SigV4Authorization.add_member(:role_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "roleArn"))
3061
+ SigV4Authorization.struct_class = Types::SigV4Authorization
3062
+
2971
3063
  SigningProfileParameter.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateArn, location_name: "certificateArn"))
2972
3064
  SigningProfileParameter.add_member(:platform, Shapes::ShapeRef.new(shape: Platform, location_name: "platform"))
2973
3065
  SigningProfileParameter.add_member(:certificate_path_on_device, Shapes::ShapeRef.new(shape: CertificatePathOnDevice, location_name: "certificatePathOnDevice"))
@@ -3227,6 +3319,23 @@ module Aws::IoT
3227
3319
  TopicRule.add_member(:error_action, Shapes::ShapeRef.new(shape: Action, location_name: "errorAction"))
3228
3320
  TopicRule.struct_class = Types::TopicRule
3229
3321
 
3322
+ TopicRuleDestination.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3323
+ TopicRuleDestination.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
3324
+ TopicRuleDestination.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3325
+ TopicRuleDestination.add_member(:http_url_properties, Shapes::ShapeRef.new(shape: HttpUrlDestinationProperties, location_name: "httpUrlProperties"))
3326
+ TopicRuleDestination.struct_class = Types::TopicRuleDestination
3327
+
3328
+ TopicRuleDestinationConfiguration.add_member(:http_url_configuration, Shapes::ShapeRef.new(shape: HttpUrlDestinationConfiguration, location_name: "httpUrlConfiguration"))
3329
+ TopicRuleDestinationConfiguration.struct_class = Types::TopicRuleDestinationConfiguration
3330
+
3331
+ TopicRuleDestinationSummaries.member = Shapes::ShapeRef.new(shape: TopicRuleDestinationSummary)
3332
+
3333
+ TopicRuleDestinationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, location_name: "arn"))
3334
+ TopicRuleDestinationSummary.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, location_name: "status"))
3335
+ TopicRuleDestinationSummary.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
3336
+ TopicRuleDestinationSummary.add_member(:http_url_summary, Shapes::ShapeRef.new(shape: HttpUrlDestinationSummary, location_name: "httpUrlSummary"))
3337
+ TopicRuleDestinationSummary.struct_class = Types::TopicRuleDestinationSummary
3338
+
3230
3339
  TopicRuleList.member = Shapes::ShapeRef.new(shape: TopicRuleListItem)
3231
3340
 
3232
3341
  TopicRuleListItem.add_member(:rule_arn, Shapes::ShapeRef.new(shape: RuleArn, location_name: "ruleArn"))
@@ -3434,6 +3543,12 @@ module Aws::IoT
3434
3543
 
3435
3544
  UpdateThingResponse.struct_class = Types::UpdateThingResponse
3436
3545
 
3546
+ UpdateTopicRuleDestinationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "arn"))
3547
+ UpdateTopicRuleDestinationRequest.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, required: true, location_name: "status"))
3548
+ UpdateTopicRuleDestinationRequest.struct_class = Types::UpdateTopicRuleDestinationRequest
3549
+
3550
+ UpdateTopicRuleDestinationResponse.struct_class = Types::UpdateTopicRuleDestinationResponse
3551
+
3437
3552
  ValidateSecurityProfileBehaviorsRequest.add_member(:behaviors, Shapes::ShapeRef.new(shape: Behaviors, required: true, location_name: "behaviors"))
3438
3553
  ValidateSecurityProfileBehaviorsRequest.struct_class = Types::ValidateSecurityProfileBehaviorsRequest
3439
3554
 
@@ -3670,6 +3785,19 @@ module Aws::IoT
3670
3785
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
3671
3786
  end)
3672
3787
 
3788
+ api.add_operation(:confirm_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
3789
+ o.name = "ConfirmTopicRuleDestination"
3790
+ o.http_method = "GET"
3791
+ o.http_request_uri = "/confirmdestination/{confirmationToken+}"
3792
+ o.input = Shapes::ShapeRef.new(shape: ConfirmTopicRuleDestinationRequest)
3793
+ o.output = Shapes::ShapeRef.new(shape: ConfirmTopicRuleDestinationResponse)
3794
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
3795
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
3796
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
3797
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
3798
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
3799
+ end)
3800
+
3673
3801
  api.add_operation(:create_authorizer, Seahorse::Model::Operation.new.tap do |o|
3674
3802
  o.name = "CreateAuthorizer"
3675
3803
  o.http_method = "POST"
@@ -3923,6 +4051,19 @@ module Aws::IoT
3923
4051
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
3924
4052
  end)
3925
4053
 
4054
+ api.add_operation(:create_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
4055
+ o.name = "CreateTopicRuleDestination"
4056
+ o.http_method = "POST"
4057
+ o.http_request_uri = "/destinations"
4058
+ o.input = Shapes::ShapeRef.new(shape: CreateTopicRuleDestinationRequest)
4059
+ o.output = Shapes::ShapeRef.new(shape: CreateTopicRuleDestinationResponse)
4060
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4061
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4062
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
4063
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
4064
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
4065
+ end)
4066
+
3926
4067
  api.add_operation(:delete_account_audit_configuration, Seahorse::Model::Operation.new.tap do |o|
3927
4068
  o.name = "DeleteAccountAuditConfiguration"
3928
4069
  o.http_method = "DELETE"
@@ -4209,6 +4350,19 @@ module Aws::IoT
4209
4350
  o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
4210
4351
  end)
4211
4352
 
4353
+ api.add_operation(:delete_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
4354
+ o.name = "DeleteTopicRuleDestination"
4355
+ o.http_method = "DELETE"
4356
+ o.http_request_uri = "/destinations/{arn+}"
4357
+ o.input = Shapes::ShapeRef.new(shape: DeleteTopicRuleDestinationRequest)
4358
+ o.output = Shapes::ShapeRef.new(shape: DeleteTopicRuleDestinationResponse)
4359
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4360
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4361
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
4362
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
4363
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
4364
+ end)
4365
+
4212
4366
  api.add_operation(:delete_v2_logging_level, Seahorse::Model::Operation.new.tap do |o|
4213
4367
  o.name = "DeleteV2LoggingLevel"
4214
4368
  o.http_method = "DELETE"
@@ -4775,6 +4929,18 @@ module Aws::IoT
4775
4929
  o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
4776
4930
  end)
4777
4931
 
4932
+ api.add_operation(:get_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
4933
+ o.name = "GetTopicRuleDestination"
4934
+ o.http_method = "GET"
4935
+ o.http_request_uri = "/destinations/{arn+}"
4936
+ o.input = Shapes::ShapeRef.new(shape: GetTopicRuleDestinationRequest)
4937
+ o.output = Shapes::ShapeRef.new(shape: GetTopicRuleDestinationResponse)
4938
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4939
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4940
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
4941
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
4942
+ end)
4943
+
4778
4944
  api.add_operation(:get_v2_logging_options, Seahorse::Model::Operation.new.tap do |o|
4779
4945
  o.name = "GetV2LoggingOptions"
4780
4946
  o.http_method = "GET"
@@ -5286,6 +5452,18 @@ module Aws::IoT
5286
5452
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5287
5453
  end)
5288
5454
 
5455
+ api.add_operation(:list_topic_rule_destinations, Seahorse::Model::Operation.new.tap do |o|
5456
+ o.name = "ListTopicRuleDestinations"
5457
+ o.http_method = "GET"
5458
+ o.http_request_uri = "/destinations"
5459
+ o.input = Shapes::ShapeRef.new(shape: ListTopicRuleDestinationsRequest)
5460
+ o.output = Shapes::ShapeRef.new(shape: ListTopicRuleDestinationsResponse)
5461
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5462
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5463
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
5464
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
5465
+ end)
5466
+
5289
5467
  api.add_operation(:list_topic_rules, Seahorse::Model::Operation.new.tap do |o|
5290
5468
  o.name = "ListTopicRules"
5291
5469
  o.http_method = "GET"
@@ -5845,6 +6023,19 @@ module Aws::IoT
5845
6023
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5846
6024
  end)
5847
6025
 
6026
+ api.add_operation(:update_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
6027
+ o.name = "UpdateTopicRuleDestination"
6028
+ o.http_method = "PATCH"
6029
+ o.http_request_uri = "/destinations"
6030
+ o.input = Shapes::ShapeRef.new(shape: UpdateTopicRuleDestinationRequest)
6031
+ o.output = Shapes::ShapeRef.new(shape: UpdateTopicRuleDestinationResponse)
6032
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
6033
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6034
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
6035
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
6036
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingResourceUpdateException)
6037
+ end)
6038
+
5848
6039
  api.add_operation(:validate_security_profile_behaviors, Seahorse::Model::Operation.new.tap do |o|
5849
6040
  o.name = "ValidateSecurityProfileBehaviors"
5850
6041
  o.http_method = "POST"
@@ -197,6 +197,23 @@ module Aws::IoT
197
197
  # state_machine_name: "StateMachineName", # required
198
198
  # role_arn: "AwsArn", # required
199
199
  # },
200
+ # http: {
201
+ # url: "Url", # required
202
+ # confirmation_url: "Url",
203
+ # headers: [
204
+ # {
205
+ # key: "HeaderKey", # required
206
+ # value: "HeaderValue", # required
207
+ # },
208
+ # ],
209
+ # auth: {
210
+ # sigv4: {
211
+ # signing_region: "SigningRegion", # required
212
+ # service_name: "ServiceName", # required
213
+ # role_arn: "AwsArn", # required
214
+ # },
215
+ # },
216
+ # },
200
217
  # }
201
218
  #
202
219
  # @!attribute [rw] dynamo_db
@@ -265,6 +282,10 @@ module Aws::IoT
265
282
  # Starts execution of a Step Functions state machine.
266
283
  # @return [Types::StepFunctionsAction]
267
284
  #
285
+ # @!attribute [rw] http
286
+ # Send data to an HTTPS endpoint.
287
+ # @return [Types::HttpAction]
288
+ #
268
289
  class Action < Struct.new(
269
290
  :dynamo_db,
270
291
  :dynamo_d_bv_2,
@@ -281,7 +302,8 @@ module Aws::IoT
281
302
  :salesforce,
282
303
  :iot_analytics,
283
304
  :iot_events,
284
- :step_functions)
305
+ :step_functions,
306
+ :http)
285
307
  include Aws::Structure
286
308
  end
287
309
 
@@ -1875,6 +1897,25 @@ module Aws::IoT
1875
1897
  include Aws::Structure
1876
1898
  end
1877
1899
 
1900
+ # @note When making an API call, you may pass ConfirmTopicRuleDestinationRequest
1901
+ # data as a hash:
1902
+ #
1903
+ # {
1904
+ # confirmation_token: "ConfirmationToken", # required
1905
+ # }
1906
+ #
1907
+ # @!attribute [rw] confirmation_token
1908
+ # The token used to confirm ownership or access to the topic rule
1909
+ # confirmation URL.
1910
+ # @return [String]
1911
+ #
1912
+ class ConfirmTopicRuleDestinationRequest < Struct.new(
1913
+ :confirmation_token)
1914
+ include Aws::Structure
1915
+ end
1916
+
1917
+ class ConfirmTopicRuleDestinationResponse < Aws::EmptyStructure; end
1918
+
1878
1919
  # A conflicting resource update exception. This exception is thrown when
1879
1920
  # two pending updates cause a conflict.
1880
1921
  #
@@ -3172,6 +3213,35 @@ module Aws::IoT
3172
3213
  include Aws::Structure
3173
3214
  end
3174
3215
 
3216
+ # @note When making an API call, you may pass CreateTopicRuleDestinationRequest
3217
+ # data as a hash:
3218
+ #
3219
+ # {
3220
+ # destination_configuration: { # required
3221
+ # http_url_configuration: {
3222
+ # confirmation_url: "Url", # required
3223
+ # },
3224
+ # },
3225
+ # }
3226
+ #
3227
+ # @!attribute [rw] destination_configuration
3228
+ # The topic rule destination configuration.
3229
+ # @return [Types::TopicRuleDestinationConfiguration]
3230
+ #
3231
+ class CreateTopicRuleDestinationRequest < Struct.new(
3232
+ :destination_configuration)
3233
+ include Aws::Structure
3234
+ end
3235
+
3236
+ # @!attribute [rw] topic_rule_destination
3237
+ # The topic rule destination.
3238
+ # @return [Types::TopicRuleDestination]
3239
+ #
3240
+ class CreateTopicRuleDestinationResponse < Struct.new(
3241
+ :topic_rule_destination)
3242
+ include Aws::Structure
3243
+ end
3244
+
3175
3245
  # The input for the CreateTopicRule operation.
3176
3246
  #
3177
3247
  # @note When making an API call, you may pass CreateTopicRuleRequest
@@ -3276,6 +3346,23 @@ module Aws::IoT
3276
3346
  # state_machine_name: "StateMachineName", # required
3277
3347
  # role_arn: "AwsArn", # required
3278
3348
  # },
3349
+ # http: {
3350
+ # url: "Url", # required
3351
+ # confirmation_url: "Url",
3352
+ # headers: [
3353
+ # {
3354
+ # key: "HeaderKey", # required
3355
+ # value: "HeaderValue", # required
3356
+ # },
3357
+ # ],
3358
+ # auth: {
3359
+ # sigv4: {
3360
+ # signing_region: "SigningRegion", # required
3361
+ # service_name: "ServiceName", # required
3362
+ # role_arn: "AwsArn", # required
3363
+ # },
3364
+ # },
3365
+ # },
3279
3366
  # },
3280
3367
  # ],
3281
3368
  # rule_disabled: false,
@@ -3373,6 +3460,23 @@ module Aws::IoT
3373
3460
  # state_machine_name: "StateMachineName", # required
3374
3461
  # role_arn: "AwsArn", # required
3375
3462
  # },
3463
+ # http: {
3464
+ # url: "Url", # required
3465
+ # confirmation_url: "Url",
3466
+ # headers: [
3467
+ # {
3468
+ # key: "HeaderKey", # required
3469
+ # value: "HeaderValue", # required
3470
+ # },
3471
+ # ],
3472
+ # auth: {
3473
+ # sigv4: {
3474
+ # signing_region: "SigningRegion", # required
3475
+ # service_name: "ServiceName", # required
3476
+ # role_arn: "AwsArn", # required
3477
+ # },
3478
+ # },
3479
+ # },
3376
3480
  # },
3377
3481
  # },
3378
3482
  # tags: "String",
@@ -3945,6 +4049,24 @@ module Aws::IoT
3945
4049
  #
3946
4050
  class DeleteThingTypeResponse < Aws::EmptyStructure; end
3947
4051
 
4052
+ # @note When making an API call, you may pass DeleteTopicRuleDestinationRequest
4053
+ # data as a hash:
4054
+ #
4055
+ # {
4056
+ # arn: "AwsArn", # required
4057
+ # }
4058
+ #
4059
+ # @!attribute [rw] arn
4060
+ # The ARN of the topic rule destination to delete.
4061
+ # @return [String]
4062
+ #
4063
+ class DeleteTopicRuleDestinationRequest < Struct.new(
4064
+ :arn)
4065
+ include Aws::Structure
4066
+ end
4067
+
4068
+ class DeleteTopicRuleDestinationResponse < Aws::EmptyStructure; end
4069
+
3948
4070
  # The input for the DeleteTopicRule operation.
3949
4071
  #
3950
4072
  # @note When making an API call, you may pass DeleteTopicRuleRequest
@@ -5504,7 +5626,7 @@ module Aws::IoT
5504
5626
  include Aws::Structure
5505
5627
  end
5506
5628
 
5507
- # Describes the name and data type at a field.
5629
+ # The field to aggregate.
5508
5630
  #
5509
5631
  # @note When making an API call, you may pass Field
5510
5632
  # data as a hash:
@@ -5519,7 +5641,7 @@ module Aws::IoT
5519
5641
  # @return [String]
5520
5642
  #
5521
5643
  # @!attribute [rw] type
5522
- # The datatype of the field.
5644
+ # The data type of the field.
5523
5645
  # @return [String]
5524
5646
  #
5525
5647
  class Field < Struct.new(
@@ -5628,7 +5750,7 @@ module Aws::IoT
5628
5750
  end
5629
5751
 
5630
5752
  # @!attribute [rw] cardinality
5631
- # The number of things that match the query.
5753
+ # The approximate count of unique values that match the query.
5632
5754
  # @return [Integer]
5633
5755
  #
5634
5756
  class GetCardinalityResponse < Struct.new(
@@ -5918,11 +6040,11 @@ module Aws::IoT
5918
6040
  # @return [Boolean]
5919
6041
  #
5920
6042
  # @!attribute [rw] creation_date
5921
- # The date the policy was created.
6043
+ # The date the policy version was created.
5922
6044
  # @return [Time]
5923
6045
  #
5924
6046
  # @!attribute [rw] last_modified_date
5925
- # The date the policy was last modified.
6047
+ # The date the policy version was last modified.
5926
6048
  # @return [Time]
5927
6049
  #
5928
6050
  # @!attribute [rw] generation_id
@@ -5978,7 +6100,7 @@ module Aws::IoT
5978
6100
  # @return [String]
5979
6101
  #
5980
6102
  # @!attribute [rw] aggregation_field
5981
- # The aggregation field name.
6103
+ # The aggregation field name. Currently not supported.
5982
6104
  # @return [String]
5983
6105
  #
5984
6106
  # @!attribute [rw] query_version
@@ -6003,6 +6125,31 @@ module Aws::IoT
6003
6125
  include Aws::Structure
6004
6126
  end
6005
6127
 
6128
+ # @note When making an API call, you may pass GetTopicRuleDestinationRequest
6129
+ # data as a hash:
6130
+ #
6131
+ # {
6132
+ # arn: "AwsArn", # required
6133
+ # }
6134
+ #
6135
+ # @!attribute [rw] arn
6136
+ # The ARN of the topic rule destination.
6137
+ # @return [String]
6138
+ #
6139
+ class GetTopicRuleDestinationRequest < Struct.new(
6140
+ :arn)
6141
+ include Aws::Structure
6142
+ end
6143
+
6144
+ # @!attribute [rw] topic_rule_destination
6145
+ # The topic rule destination.
6146
+ # @return [Types::TopicRuleDestination]
6147
+ #
6148
+ class GetTopicRuleDestinationResponse < Struct.new(
6149
+ :topic_rule_destination)
6150
+ include Aws::Structure
6151
+ end
6152
+
6006
6153
  # The input for the GetTopicRule operation.
6007
6154
  #
6008
6155
  # @note When making an API call, you may pass GetTopicRuleRequest
@@ -6076,6 +6223,156 @@ module Aws::IoT
6076
6223
  include Aws::Structure
6077
6224
  end
6078
6225
 
6226
+ # Send data to an HTTPS endpoint.
6227
+ #
6228
+ # @note When making an API call, you may pass HttpAction
6229
+ # data as a hash:
6230
+ #
6231
+ # {
6232
+ # url: "Url", # required
6233
+ # confirmation_url: "Url",
6234
+ # headers: [
6235
+ # {
6236
+ # key: "HeaderKey", # required
6237
+ # value: "HeaderValue", # required
6238
+ # },
6239
+ # ],
6240
+ # auth: {
6241
+ # sigv4: {
6242
+ # signing_region: "SigningRegion", # required
6243
+ # service_name: "ServiceName", # required
6244
+ # role_arn: "AwsArn", # required
6245
+ # },
6246
+ # },
6247
+ # }
6248
+ #
6249
+ # @!attribute [rw] url
6250
+ # The endpoint URL. If substitution templates are used in the URL, you
6251
+ # must also specify a `confirmationUrl`. If this is a new destination,
6252
+ # a new `TopicRuleDestination` is created if possible.
6253
+ # @return [String]
6254
+ #
6255
+ # @!attribute [rw] confirmation_url
6256
+ # The URL to which AWS IoT sends a confirmation message. The value of
6257
+ # the confirmation URL must be a prefix of the endpoint URL. If you do
6258
+ # not specify a confirmation URL AWS IoT uses the endpoint URL as the
6259
+ # confirmation URL. If you use substitution templates in the
6260
+ # confirmationUrl, you must create and enable topic rule destinations
6261
+ # that match each possible value of the substituion template before
6262
+ # traffic is allowed to your endpoint URL.
6263
+ # @return [String]
6264
+ #
6265
+ # @!attribute [rw] headers
6266
+ # The HTTP headers to send with the message data.
6267
+ # @return [Array<Types::HttpActionHeader>]
6268
+ #
6269
+ # @!attribute [rw] auth
6270
+ # The authentication method to use when sending data to an HTTPS
6271
+ # endpoint.
6272
+ # @return [Types::HttpAuthorization]
6273
+ #
6274
+ class HttpAction < Struct.new(
6275
+ :url,
6276
+ :confirmation_url,
6277
+ :headers,
6278
+ :auth)
6279
+ include Aws::Structure
6280
+ end
6281
+
6282
+ # The HTTP action header.
6283
+ #
6284
+ # @note When making an API call, you may pass HttpActionHeader
6285
+ # data as a hash:
6286
+ #
6287
+ # {
6288
+ # key: "HeaderKey", # required
6289
+ # value: "HeaderValue", # required
6290
+ # }
6291
+ #
6292
+ # @!attribute [rw] key
6293
+ # The HTTP header key.
6294
+ # @return [String]
6295
+ #
6296
+ # @!attribute [rw] value
6297
+ # The HTTP header value. Substitution templates are supported.
6298
+ # @return [String]
6299
+ #
6300
+ class HttpActionHeader < Struct.new(
6301
+ :key,
6302
+ :value)
6303
+ include Aws::Structure
6304
+ end
6305
+
6306
+ # The authorization method used to send messages.
6307
+ #
6308
+ # @note When making an API call, you may pass HttpAuthorization
6309
+ # data as a hash:
6310
+ #
6311
+ # {
6312
+ # sigv4: {
6313
+ # signing_region: "SigningRegion", # required
6314
+ # service_name: "ServiceName", # required
6315
+ # role_arn: "AwsArn", # required
6316
+ # },
6317
+ # }
6318
+ #
6319
+ # @!attribute [rw] sigv4
6320
+ # Use Sig V4 authorization. For more information, see [Signature
6321
+ # Version 4 Signing Process][1].
6322
+ #
6323
+ #
6324
+ #
6325
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
6326
+ # @return [Types::SigV4Authorization]
6327
+ #
6328
+ class HttpAuthorization < Struct.new(
6329
+ :sigv4)
6330
+ include Aws::Structure
6331
+ end
6332
+
6333
+ # HTTP URL destination configuration used by the topic rule's HTTP
6334
+ # action.
6335
+ #
6336
+ # @note When making an API call, you may pass HttpUrlDestinationConfiguration
6337
+ # data as a hash:
6338
+ #
6339
+ # {
6340
+ # confirmation_url: "Url", # required
6341
+ # }
6342
+ #
6343
+ # @!attribute [rw] confirmation_url
6344
+ # The URL AWS IoT uses to confirm ownership of or access to the topic
6345
+ # rule destination URL.
6346
+ # @return [String]
6347
+ #
6348
+ class HttpUrlDestinationConfiguration < Struct.new(
6349
+ :confirmation_url)
6350
+ include Aws::Structure
6351
+ end
6352
+
6353
+ # HTTP URL destination properties.
6354
+ #
6355
+ # @!attribute [rw] confirmation_url
6356
+ # The URL used to confirm the HTTP topic rule destination URL.
6357
+ # @return [String]
6358
+ #
6359
+ class HttpUrlDestinationProperties < Struct.new(
6360
+ :confirmation_url)
6361
+ include Aws::Structure
6362
+ end
6363
+
6364
+ # Information about an HTTP URL destination.
6365
+ #
6366
+ # @!attribute [rw] confirmation_url
6367
+ # The URL used to confirm ownership of or access to the HTTP topic
6368
+ # rule destination URL.
6369
+ # @return [String]
6370
+ #
6371
+ class HttpUrlDestinationSummary < Struct.new(
6372
+ :confirmation_url)
6373
+ include Aws::Structure
6374
+ end
6375
+
6079
6376
  # Information that implicitly denies authorization. When policy doesn't
6080
6377
  # explicitly deny or allow an action on a resource it is considered an
6081
6378
  # implicit deny.
@@ -8677,6 +8974,42 @@ module Aws::IoT
8677
8974
  include Aws::Structure
8678
8975
  end
8679
8976
 
8977
+ # @note When making an API call, you may pass ListTopicRuleDestinationsRequest
8978
+ # data as a hash:
8979
+ #
8980
+ # {
8981
+ # max_results: 1,
8982
+ # next_token: "NextToken",
8983
+ # }
8984
+ #
8985
+ # @!attribute [rw] max_results
8986
+ # The maximum number of results to return at one time.
8987
+ # @return [Integer]
8988
+ #
8989
+ # @!attribute [rw] next_token
8990
+ # The token to retrieve the next set of results.
8991
+ # @return [String]
8992
+ #
8993
+ class ListTopicRuleDestinationsRequest < Struct.new(
8994
+ :max_results,
8995
+ :next_token)
8996
+ include Aws::Structure
8997
+ end
8998
+
8999
+ # @!attribute [rw] destination_summaries
9000
+ # Information about a topic rule destination.
9001
+ # @return [Array<Types::TopicRuleDestinationSummary>]
9002
+ #
9003
+ # @!attribute [rw] next_token
9004
+ # The token to retrieve the next set of results.
9005
+ # @return [String]
9006
+ #
9007
+ class ListTopicRuleDestinationsResponse < Struct.new(
9008
+ :destination_summaries,
9009
+ :next_token)
9010
+ include Aws::Structure
9011
+ end
9012
+
8680
9013
  # The input for the ListTopicRules operation.
8681
9014
  #
8682
9015
  # @note When making an API call, you may pass ListTopicRulesRequest
@@ -9329,7 +9662,7 @@ module Aws::IoT
9329
9662
  # @return [Float]
9330
9663
  #
9331
9664
  # @!attribute [rw] value
9332
- # The value.
9665
+ # The value of the percentile.
9333
9666
  # @return [Float]
9334
9667
  #
9335
9668
  class PercentPair < Struct.new(
@@ -9935,6 +10268,23 @@ module Aws::IoT
9935
10268
  # state_machine_name: "StateMachineName", # required
9936
10269
  # role_arn: "AwsArn", # required
9937
10270
  # },
10271
+ # http: {
10272
+ # url: "Url", # required
10273
+ # confirmation_url: "Url",
10274
+ # headers: [
10275
+ # {
10276
+ # key: "HeaderKey", # required
10277
+ # value: "HeaderValue", # required
10278
+ # },
10279
+ # ],
10280
+ # auth: {
10281
+ # sigv4: {
10282
+ # signing_region: "SigningRegion", # required
10283
+ # service_name: "ServiceName", # required
10284
+ # role_arn: "AwsArn", # required
10285
+ # },
10286
+ # },
10287
+ # },
9938
10288
  # },
9939
10289
  # ],
9940
10290
  # rule_disabled: false,
@@ -10032,6 +10382,23 @@ module Aws::IoT
10032
10382
  # state_machine_name: "StateMachineName", # required
10033
10383
  # role_arn: "AwsArn", # required
10034
10384
  # },
10385
+ # http: {
10386
+ # url: "Url", # required
10387
+ # confirmation_url: "Url",
10388
+ # headers: [
10389
+ # {
10390
+ # key: "HeaderKey", # required
10391
+ # value: "HeaderValue", # required
10392
+ # },
10393
+ # ],
10394
+ # auth: {
10395
+ # sigv4: {
10396
+ # signing_region: "SigningRegion", # required
10397
+ # service_name: "ServiceName", # required
10398
+ # role_arn: "AwsArn", # required
10399
+ # },
10400
+ # },
10401
+ # },
10035
10402
  # },
10036
10403
  # },
10037
10404
  # }
@@ -10622,6 +10989,36 @@ module Aws::IoT
10622
10989
  include Aws::Structure
10623
10990
  end
10624
10991
 
10992
+ # Use Sig V4 authorization.
10993
+ #
10994
+ # @note When making an API call, you may pass SigV4Authorization
10995
+ # data as a hash:
10996
+ #
10997
+ # {
10998
+ # signing_region: "SigningRegion", # required
10999
+ # service_name: "ServiceName", # required
11000
+ # role_arn: "AwsArn", # required
11001
+ # }
11002
+ #
11003
+ # @!attribute [rw] signing_region
11004
+ # The signing region.
11005
+ # @return [String]
11006
+ #
11007
+ # @!attribute [rw] service_name
11008
+ # The service name to use while signing with Sig V4.
11009
+ # @return [String]
11010
+ #
11011
+ # @!attribute [rw] role_arn
11012
+ # The ARN of the signing role.
11013
+ # @return [String]
11014
+ #
11015
+ class SigV4Authorization < Struct.new(
11016
+ :signing_region,
11017
+ :service_name,
11018
+ :role_arn)
11019
+ include Aws::Structure
11020
+ end
11021
+
10625
11022
  # Describes the code-signing profile.
10626
11023
  #
10627
11024
  # @note When making an API call, you may pass SigningProfileParameter
@@ -10945,19 +11342,23 @@ module Aws::IoT
10945
11342
  # @return [Integer]
10946
11343
  #
10947
11344
  # @!attribute [rw] average
10948
- # The average of the aggregated field values.
11345
+ # The average of the aggregated fields. If the field data type is
11346
+ # String this value is indeterminate.
10949
11347
  # @return [Float]
10950
11348
  #
10951
11349
  # @!attribute [rw] sum
10952
- # The sum of the aggregated field values.
11350
+ # The sum of the aggregated fields. If the field data type is String
11351
+ # this value is indeterminate.
10953
11352
  # @return [Float]
10954
11353
  #
10955
11354
  # @!attribute [rw] minimum
10956
- # The minimum aggregated field value.
11355
+ # The minimum value of the aggregated fields. If the field data type
11356
+ # is String this value is indeterminate.
10957
11357
  # @return [Float]
10958
11358
  #
10959
11359
  # @!attribute [rw] maximum
10960
- # The maximum aggregated field value.
11360
+ # The maximum value of the aggregated fields. If the field data type
11361
+ # is String this value is indeterminate.
10961
11362
  # @return [Float]
10962
11363
  #
10963
11364
  # @!attribute [rw] sum_of_squares
@@ -10969,7 +11370,7 @@ module Aws::IoT
10969
11370
  # @return [Float]
10970
11371
  #
10971
11372
  # @!attribute [rw] std_deviation
10972
- # The standard deviation of the aggregated field valuesl
11373
+ # The standard deviation of the aggregated field values.
10973
11374
  # @return [Float]
10974
11375
  #
10975
11376
  class Statistics < Struct.new(
@@ -11577,12 +11978,13 @@ module Aws::IoT
11577
11978
  # @return [String]
11578
11979
  #
11579
11980
  # @!attribute [rw] managed_fields
11580
- # Contains fields that are indexed and whose types are already known
11581
- # by the Fleet Indexing service.
11981
+ # A list of automatically indexed thing group fields.
11582
11982
  # @return [Array<Types::Field>]
11583
11983
  #
11584
11984
  # @!attribute [rw] custom_fields
11585
- # Contains custom field names and their data type.
11985
+ # A list of thing group fields to index. This list cannot contain any
11986
+ # managed fields. Use the GetIndexingConfiguration API to get a list
11987
+ # of managed fields.
11586
11988
  # @return [Array<Types::Field>]
11587
11989
  #
11588
11990
  class ThingGroupIndexingConfiguration < Struct.new(
@@ -11691,12 +12093,13 @@ module Aws::IoT
11691
12093
  # @return [String]
11692
12094
  #
11693
12095
  # @!attribute [rw] managed_fields
11694
- # Contains fields that are indexed and whose types are already known
11695
- # by the Fleet Indexing service.
12096
+ # A list of automatically indexed thing fields.
11696
12097
  # @return [Array<Types::Field>]
11697
12098
  #
11698
12099
  # @!attribute [rw] custom_fields
11699
- # Contains custom field names and their data type.
12100
+ # A list of thing fields to index. This list cannot contain any
12101
+ # managed fields. Use the GetIndexingConfiguration API to get a list
12102
+ # of managed fields.
11700
12103
  # @return [Array<Types::Field>]
11701
12104
  #
11702
12105
  class ThingIndexingConfiguration < Struct.new(
@@ -11874,6 +12277,137 @@ module Aws::IoT
11874
12277
  include Aws::Structure
11875
12278
  end
11876
12279
 
12280
+ # A topic rule destination.
12281
+ #
12282
+ # @!attribute [rw] arn
12283
+ # The topic rule destination URL.
12284
+ # @return [String]
12285
+ #
12286
+ # @!attribute [rw] status
12287
+ # The status of the topic rule destination. Valid values are:
12288
+ #
12289
+ # IN\_PROGRESS
12290
+ #
12291
+ # : A topic rule destination was created but has not been confirmed.
12292
+ # You can set `status` to `IN_PROGRESS` by calling
12293
+ # `UpdateTopicRuleDestination`. Calling `UpdateTopicRuleDestination`
12294
+ # causes a new confirmation challenge to be sent to your
12295
+ # confirmation endpoint.
12296
+ #
12297
+ # ENABLED
12298
+ #
12299
+ # : Confirmation was completed, and traffic to this destination is
12300
+ # allowed. You can set `status` to `DISABLED` by calling
12301
+ # `UpdateTopicRuleDestination`.
12302
+ #
12303
+ # DISABLED
12304
+ #
12305
+ # : Confirmation was completed, and traffic to this destination is not
12306
+ # allowed. You can set `status` to `ENABLED` by calling
12307
+ # `UpdateTopicRuleDestination`.
12308
+ #
12309
+ # ERROR
12310
+ #
12311
+ # : Confirmation could not be completed, for example if the
12312
+ # confirmation timed out. You can call `GetTopicRuleDestination` for
12313
+ # details about the error. You can set `status` to `IN_PROGRESS` by
12314
+ # calling `UpdateTopicRuleDestination`. Calling
12315
+ # `UpdateTopicRuleDestination` causes a new confirmation challenge
12316
+ # to be sent to your confirmation endpoint.
12317
+ # @return [String]
12318
+ #
12319
+ # @!attribute [rw] status_reason
12320
+ # Additional details or reason why the topic rule destination is in
12321
+ # the current status.
12322
+ # @return [String]
12323
+ #
12324
+ # @!attribute [rw] http_url_properties
12325
+ # Properties of the HTTP URL.
12326
+ # @return [Types::HttpUrlDestinationProperties]
12327
+ #
12328
+ class TopicRuleDestination < Struct.new(
12329
+ :arn,
12330
+ :status,
12331
+ :status_reason,
12332
+ :http_url_properties)
12333
+ include Aws::Structure
12334
+ end
12335
+
12336
+ # Configuration of the topic rule destination.
12337
+ #
12338
+ # @note When making an API call, you may pass TopicRuleDestinationConfiguration
12339
+ # data as a hash:
12340
+ #
12341
+ # {
12342
+ # http_url_configuration: {
12343
+ # confirmation_url: "Url", # required
12344
+ # },
12345
+ # }
12346
+ #
12347
+ # @!attribute [rw] http_url_configuration
12348
+ # Configuration of the HTTP URL.
12349
+ # @return [Types::HttpUrlDestinationConfiguration]
12350
+ #
12351
+ class TopicRuleDestinationConfiguration < Struct.new(
12352
+ :http_url_configuration)
12353
+ include Aws::Structure
12354
+ end
12355
+
12356
+ # Information about the topic rule destination.
12357
+ #
12358
+ # @!attribute [rw] arn
12359
+ # The topic rule destination ARN.
12360
+ # @return [String]
12361
+ #
12362
+ # @!attribute [rw] status
12363
+ # The status of the topic rule destination. Valid values are:
12364
+ #
12365
+ # IN\_PROGRESS
12366
+ #
12367
+ # : A topic rule destination was created but has not been confirmed.
12368
+ # You can set `status` to `IN_PROGRESS` by calling
12369
+ # `UpdateTopicRuleDestination`. Calling `UpdateTopicRuleDestination`
12370
+ # causes a new confirmation challenge to be sent to your
12371
+ # confirmation endpoint.
12372
+ #
12373
+ # ENABLED
12374
+ #
12375
+ # : Confirmation was completed, and traffic to this destination is
12376
+ # allowed. You can set `status` to `DISABLED` by calling
12377
+ # `UpdateTopicRuleDestination`.
12378
+ #
12379
+ # DISABLED
12380
+ #
12381
+ # : Confirmation was completed, and traffic to this destination is not
12382
+ # allowed. You can set `status` to `ENABLED` by calling
12383
+ # `UpdateTopicRuleDestination`.
12384
+ #
12385
+ # ERROR
12386
+ #
12387
+ # : Confirmation could not be completed, for example if the
12388
+ # confirmation timed out. You can call `GetTopicRuleDestination` for
12389
+ # details about the error. You can set `status` to `IN_PROGRESS` by
12390
+ # calling `UpdateTopicRuleDestination`. Calling
12391
+ # `UpdateTopicRuleDestination` causes a new confirmation challenge
12392
+ # to be sent to your confirmation endpoint.
12393
+ # @return [String]
12394
+ #
12395
+ # @!attribute [rw] status_reason
12396
+ # The reason the topic rule destination is in the current status.
12397
+ # @return [String]
12398
+ #
12399
+ # @!attribute [rw] http_url_summary
12400
+ # Information about the HTTP URL.
12401
+ # @return [Types::HttpUrlDestinationSummary]
12402
+ #
12403
+ class TopicRuleDestinationSummary < Struct.new(
12404
+ :arn,
12405
+ :status,
12406
+ :status_reason,
12407
+ :http_url_summary)
12408
+ include Aws::Structure
12409
+ end
12410
+
11877
12411
  # Describes a rule.
11878
12412
  #
11879
12413
  # @!attribute [rw] rule_arn
@@ -12007,6 +12541,23 @@ module Aws::IoT
12007
12541
  # state_machine_name: "StateMachineName", # required
12008
12542
  # role_arn: "AwsArn", # required
12009
12543
  # },
12544
+ # http: {
12545
+ # url: "Url", # required
12546
+ # confirmation_url: "Url",
12547
+ # headers: [
12548
+ # {
12549
+ # key: "HeaderKey", # required
12550
+ # value: "HeaderValue", # required
12551
+ # },
12552
+ # ],
12553
+ # auth: {
12554
+ # sigv4: {
12555
+ # signing_region: "SigningRegion", # required
12556
+ # service_name: "ServiceName", # required
12557
+ # role_arn: "AwsArn", # required
12558
+ # },
12559
+ # },
12560
+ # },
12010
12561
  # },
12011
12562
  # ],
12012
12563
  # rule_disabled: false,
@@ -12104,6 +12655,23 @@ module Aws::IoT
12104
12655
  # state_machine_name: "StateMachineName", # required
12105
12656
  # role_arn: "AwsArn", # required
12106
12657
  # },
12658
+ # http: {
12659
+ # url: "Url", # required
12660
+ # confirmation_url: "Url",
12661
+ # headers: [
12662
+ # {
12663
+ # key: "HeaderKey", # required
12664
+ # value: "HeaderValue", # required
12665
+ # },
12666
+ # ],
12667
+ # auth: {
12668
+ # sigv4: {
12669
+ # signing_region: "SigningRegion", # required
12670
+ # service_name: "ServiceName", # required
12671
+ # role_arn: "AwsArn", # required
12672
+ # },
12673
+ # },
12674
+ # },
12107
12675
  # },
12108
12676
  # }
12109
12677
  #
@@ -13309,6 +13877,59 @@ module Aws::IoT
13309
13877
  #
13310
13878
  class UpdateThingResponse < Aws::EmptyStructure; end
13311
13879
 
13880
+ # @note When making an API call, you may pass UpdateTopicRuleDestinationRequest
13881
+ # data as a hash:
13882
+ #
13883
+ # {
13884
+ # arn: "AwsArn", # required
13885
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
13886
+ # }
13887
+ #
13888
+ # @!attribute [rw] arn
13889
+ # The ARN of the topic rule destination.
13890
+ # @return [String]
13891
+ #
13892
+ # @!attribute [rw] status
13893
+ # The status of the topic rule destination. Valid values are:
13894
+ #
13895
+ # IN\_PROGRESS
13896
+ #
13897
+ # : A topic rule destination was created but has not been confirmed.
13898
+ # You can set `status` to `IN_PROGRESS` by calling
13899
+ # `UpdateTopicRuleDestination`. Calling `UpdateTopicRuleDestination`
13900
+ # causes a new confirmation challenge to be sent to your
13901
+ # confirmation endpoint.
13902
+ #
13903
+ # ENABLED
13904
+ #
13905
+ # : Confirmation was completed, and traffic to this destination is
13906
+ # allowed. You can set `status` to `DISABLED` by calling
13907
+ # `UpdateTopicRuleDestination`.
13908
+ #
13909
+ # DISABLED
13910
+ #
13911
+ # : Confirmation was completed, and traffic to this destination is not
13912
+ # allowed. You can set `status` to `ENABLED` by calling
13913
+ # `UpdateTopicRuleDestination`.
13914
+ #
13915
+ # ERROR
13916
+ #
13917
+ # : Confirmation could not be completed, for example if the
13918
+ # confirmation timed out. You can call `GetTopicRuleDestination` for
13919
+ # details about the error. You can set `status` to `IN_PROGRESS` by
13920
+ # calling `UpdateTopicRuleDestination`. Calling
13921
+ # `UpdateTopicRuleDestination` causes a new confirmation challenge
13922
+ # to be sent to your confirmation endpoint.
13923
+ # @return [String]
13924
+ #
13925
+ class UpdateTopicRuleDestinationRequest < Struct.new(
13926
+ :arn,
13927
+ :status)
13928
+ include Aws::Structure
13929
+ end
13930
+
13931
+ class UpdateTopicRuleDestinationResponse < Aws::EmptyStructure; end
13932
+
13312
13933
  # @note When making an API call, you may pass ValidateSecurityProfileBehaviorsRequest
13313
13934
  # data as a hash:
13314
13935
  #