aws-sdk-iot 1.39.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #