aws-sdk-lexmodelsv2 1.3.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -82,6 +82,11 @@ module Aws::LexModelsV2
82
82
  CloudWatchLogGroupLogDestination = Shapes::StructureShape.new(name: 'CloudWatchLogGroupLogDestination')
83
83
  CodeHookInterfaceVersion = Shapes::StringShape.new(name: 'CodeHookInterfaceVersion')
84
84
  CodeHookSpecification = Shapes::StructureShape.new(name: 'CodeHookSpecification')
85
+ ConditionKey = Shapes::StringShape.new(name: 'ConditionKey')
86
+ ConditionKeyValueMap = Shapes::MapShape.new(name: 'ConditionKeyValueMap')
87
+ ConditionMap = Shapes::MapShape.new(name: 'ConditionMap')
88
+ ConditionOperator = Shapes::StringShape.new(name: 'ConditionOperator')
89
+ ConditionValue = Shapes::StringShape.new(name: 'ConditionValue')
85
90
  ConfidenceThreshold = Shapes::FloatShape.new(name: 'ConfidenceThreshold')
86
91
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
87
92
  ContextTimeToLiveInSeconds = Shapes::IntegerShape.new(name: 'ContextTimeToLiveInSeconds')
@@ -99,6 +104,10 @@ module Aws::LexModelsV2
99
104
  CreateExportResponse = Shapes::StructureShape.new(name: 'CreateExportResponse')
100
105
  CreateIntentRequest = Shapes::StructureShape.new(name: 'CreateIntentRequest')
101
106
  CreateIntentResponse = Shapes::StructureShape.new(name: 'CreateIntentResponse')
107
+ CreateResourcePolicyRequest = Shapes::StructureShape.new(name: 'CreateResourcePolicyRequest')
108
+ CreateResourcePolicyResponse = Shapes::StructureShape.new(name: 'CreateResourcePolicyResponse')
109
+ CreateResourcePolicyStatementRequest = Shapes::StructureShape.new(name: 'CreateResourcePolicyStatementRequest')
110
+ CreateResourcePolicyStatementResponse = Shapes::StructureShape.new(name: 'CreateResourcePolicyStatementResponse')
102
111
  CreateSlotRequest = Shapes::StructureShape.new(name: 'CreateSlotRequest')
103
112
  CreateSlotResponse = Shapes::StructureShape.new(name: 'CreateSlotResponse')
104
113
  CreateSlotTypeRequest = Shapes::StructureShape.new(name: 'CreateSlotTypeRequest')
@@ -121,6 +130,10 @@ module Aws::LexModelsV2
121
130
  DeleteImportRequest = Shapes::StructureShape.new(name: 'DeleteImportRequest')
122
131
  DeleteImportResponse = Shapes::StructureShape.new(name: 'DeleteImportResponse')
123
132
  DeleteIntentRequest = Shapes::StructureShape.new(name: 'DeleteIntentRequest')
133
+ DeleteResourcePolicyRequest = Shapes::StructureShape.new(name: 'DeleteResourcePolicyRequest')
134
+ DeleteResourcePolicyResponse = Shapes::StructureShape.new(name: 'DeleteResourcePolicyResponse')
135
+ DeleteResourcePolicyStatementRequest = Shapes::StructureShape.new(name: 'DeleteResourcePolicyStatementRequest')
136
+ DeleteResourcePolicyStatementResponse = Shapes::StructureShape.new(name: 'DeleteResourcePolicyStatementResponse')
124
137
  DeleteSlotRequest = Shapes::StructureShape.new(name: 'DeleteSlotRequest')
125
138
  DeleteSlotTypeRequest = Shapes::StructureShape.new(name: 'DeleteSlotTypeRequest')
126
139
  DescribeBotAliasRequest = Shapes::StructureShape.new(name: 'DescribeBotAliasRequest')
@@ -137,6 +150,8 @@ module Aws::LexModelsV2
137
150
  DescribeImportResponse = Shapes::StructureShape.new(name: 'DescribeImportResponse')
138
151
  DescribeIntentRequest = Shapes::StructureShape.new(name: 'DescribeIntentRequest')
139
152
  DescribeIntentResponse = Shapes::StructureShape.new(name: 'DescribeIntentResponse')
153
+ DescribeResourcePolicyRequest = Shapes::StructureShape.new(name: 'DescribeResourcePolicyRequest')
154
+ DescribeResourcePolicyResponse = Shapes::StructureShape.new(name: 'DescribeResourcePolicyResponse')
140
155
  DescribeSlotRequest = Shapes::StructureShape.new(name: 'DescribeSlotRequest')
141
156
  DescribeSlotResponse = Shapes::StructureShape.new(name: 'DescribeSlotResponse')
142
157
  DescribeSlotTypeRequest = Shapes::StructureShape.new(name: 'DescribeSlotTypeRequest')
@@ -144,6 +159,7 @@ module Aws::LexModelsV2
144
159
  Description = Shapes::StringShape.new(name: 'Description')
145
160
  DialogCodeHookSettings = Shapes::StructureShape.new(name: 'DialogCodeHookSettings')
146
161
  DraftBotVersion = Shapes::StringShape.new(name: 'DraftBotVersion')
162
+ Effect = Shapes::StringShape.new(name: 'Effect')
147
163
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
148
164
  ExportFilter = Shapes::StructureShape.new(name: 'ExportFilter')
149
165
  ExportFilterName = Shapes::StringShape.new(name: 'ExportFilterName')
@@ -227,17 +243,24 @@ module Aws::LexModelsV2
227
243
  MessageGroup = Shapes::StructureShape.new(name: 'MessageGroup')
228
244
  MessageGroupsList = Shapes::ListShape.new(name: 'MessageGroupsList')
229
245
  MessageVariationsList = Shapes::ListShape.new(name: 'MessageVariationsList')
246
+ MultipleValuesSetting = Shapes::StructureShape.new(name: 'MultipleValuesSetting')
230
247
  Name = Shapes::StringShape.new(name: 'Name')
231
248
  NextToken = Shapes::StringShape.new(name: 'NextToken')
232
249
  NumericalBotVersion = Shapes::StringShape.new(name: 'NumericalBotVersion')
233
250
  ObfuscationSetting = Shapes::StructureShape.new(name: 'ObfuscationSetting')
234
251
  ObfuscationSettingType = Shapes::StringShape.new(name: 'ObfuscationSettingType')
252
+ Operation = Shapes::StringShape.new(name: 'Operation')
253
+ OperationList = Shapes::ListShape.new(name: 'OperationList')
235
254
  OutputContext = Shapes::StructureShape.new(name: 'OutputContext')
236
255
  OutputContextsList = Shapes::ListShape.new(name: 'OutputContextsList')
237
256
  PlainTextMessage = Shapes::StructureShape.new(name: 'PlainTextMessage')
238
257
  PlainTextMessageValue = Shapes::StringShape.new(name: 'PlainTextMessageValue')
258
+ Policy = Shapes::StringShape.new(name: 'Policy')
239
259
  PreconditionFailedException = Shapes::StructureShape.new(name: 'PreconditionFailedException')
240
260
  PresignedS3Url = Shapes::StringShape.new(name: 'PresignedS3Url')
261
+ Principal = Shapes::StructureShape.new(name: 'Principal')
262
+ PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
263
+ PrincipalList = Shapes::ListShape.new(name: 'PrincipalList')
241
264
  PriorityValue = Shapes::IntegerShape.new(name: 'PriorityValue')
242
265
  PromptMaxRetries = Shapes::IntegerShape.new(name: 'PromptMaxRetries')
243
266
  PromptSpecification = Shapes::StructureShape.new(name: 'PromptSpecification')
@@ -247,6 +270,7 @@ module Aws::LexModelsV2
247
270
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
248
271
  ResponseSpecification = Shapes::StructureShape.new(name: 'ResponseSpecification')
249
272
  RetryAfterSeconds = Shapes::IntegerShape.new(name: 'RetryAfterSeconds')
273
+ RevisionId = Shapes::StringShape.new(name: 'RevisionId')
250
274
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
251
275
  S3BucketArn = Shapes::StringShape.new(name: 'S3BucketArn')
252
276
  S3BucketLogDestination = Shapes::StructureShape.new(name: 'S3BucketLogDestination')
@@ -256,6 +280,7 @@ module Aws::LexModelsV2
256
280
  SampleUtterancesList = Shapes::ListShape.new(name: 'SampleUtterancesList')
257
281
  SampleValue = Shapes::StructureShape.new(name: 'SampleValue')
258
282
  SentimentAnalysisSettings = Shapes::StructureShape.new(name: 'SentimentAnalysisSettings')
283
+ ServicePrincipal = Shapes::StringShape.new(name: 'ServicePrincipal')
259
284
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
260
285
  SessionTTL = Shapes::IntegerShape.new(name: 'SessionTTL')
261
286
  SkipResourceInUseCheck = Shapes::BooleanShape.new(name: 'SkipResourceInUseCheck')
@@ -319,6 +344,8 @@ module Aws::LexModelsV2
319
344
  UpdateExportResponse = Shapes::StructureShape.new(name: 'UpdateExportResponse')
320
345
  UpdateIntentRequest = Shapes::StructureShape.new(name: 'UpdateIntentRequest')
321
346
  UpdateIntentResponse = Shapes::StructureShape.new(name: 'UpdateIntentResponse')
347
+ UpdateResourcePolicyRequest = Shapes::StructureShape.new(name: 'UpdateResourcePolicyRequest')
348
+ UpdateResourcePolicyResponse = Shapes::StructureShape.new(name: 'UpdateResourcePolicyResponse')
322
349
  UpdateSlotRequest = Shapes::StructureShape.new(name: 'UpdateSlotRequest')
323
350
  UpdateSlotResponse = Shapes::StructureShape.new(name: 'UpdateSlotResponse')
324
351
  UpdateSlotTypeRequest = Shapes::StructureShape.new(name: 'UpdateSlotTypeRequest')
@@ -500,6 +527,12 @@ module Aws::LexModelsV2
500
527
  CodeHookSpecification.add_member(:lambda_code_hook, Shapes::ShapeRef.new(shape: LambdaCodeHook, required: true, location_name: "lambdaCodeHook"))
501
528
  CodeHookSpecification.struct_class = Types::CodeHookSpecification
502
529
 
530
+ ConditionKeyValueMap.key = Shapes::ShapeRef.new(shape: ConditionKey)
531
+ ConditionKeyValueMap.value = Shapes::ShapeRef.new(shape: ConditionValue)
532
+
533
+ ConditionMap.key = Shapes::ShapeRef.new(shape: ConditionOperator)
534
+ ConditionMap.value = Shapes::ShapeRef.new(shape: ConditionKeyValueMap)
535
+
503
536
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
504
537
  ConflictException.struct_class = Types::ConflictException
505
538
 
@@ -629,6 +662,27 @@ module Aws::LexModelsV2
629
662
  CreateIntentResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDateTime"))
630
663
  CreateIntentResponse.struct_class = Types::CreateIntentResponse
631
664
 
665
+ CreateResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "uri", location_name: "resourceArn"))
666
+ CreateResourcePolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "policy"))
667
+ CreateResourcePolicyRequest.struct_class = Types::CreateResourcePolicyRequest
668
+
669
+ CreateResourcePolicyResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceArn"))
670
+ CreateResourcePolicyResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
671
+ CreateResourcePolicyResponse.struct_class = Types::CreateResourcePolicyResponse
672
+
673
+ CreateResourcePolicyStatementRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "uri", location_name: "resourceArn"))
674
+ CreateResourcePolicyStatementRequest.add_member(:statement_id, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "statementId"))
675
+ CreateResourcePolicyStatementRequest.add_member(:effect, Shapes::ShapeRef.new(shape: Effect, required: true, location_name: "effect"))
676
+ CreateResourcePolicyStatementRequest.add_member(:principal, Shapes::ShapeRef.new(shape: PrincipalList, required: true, location_name: "principal"))
677
+ CreateResourcePolicyStatementRequest.add_member(:action, Shapes::ShapeRef.new(shape: OperationList, required: true, location_name: "action"))
678
+ CreateResourcePolicyStatementRequest.add_member(:condition, Shapes::ShapeRef.new(shape: ConditionMap, location_name: "condition"))
679
+ CreateResourcePolicyStatementRequest.add_member(:expected_revision_id, Shapes::ShapeRef.new(shape: RevisionId, location: "querystring", location_name: "expectedRevisionId"))
680
+ CreateResourcePolicyStatementRequest.struct_class = Types::CreateResourcePolicyStatementRequest
681
+
682
+ CreateResourcePolicyStatementResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceArn"))
683
+ CreateResourcePolicyStatementResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
684
+ CreateResourcePolicyStatementResponse.struct_class = Types::CreateResourcePolicyStatementResponse
685
+
632
686
  CreateSlotRequest.add_member(:slot_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "slotName"))
633
687
  CreateSlotRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
634
688
  CreateSlotRequest.add_member(:slot_type_id, Shapes::ShapeRef.new(shape: BuiltInOrCustomSlotTypeId, required: true, location_name: "slotTypeId"))
@@ -638,6 +692,7 @@ module Aws::LexModelsV2
638
692
  CreateSlotRequest.add_member(:bot_version, Shapes::ShapeRef.new(shape: DraftBotVersion, required: true, location: "uri", location_name: "botVersion"))
639
693
  CreateSlotRequest.add_member(:locale_id, Shapes::ShapeRef.new(shape: LocaleId, required: true, location: "uri", location_name: "localeId"))
640
694
  CreateSlotRequest.add_member(:intent_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "intentId"))
695
+ CreateSlotRequest.add_member(:multiple_values_setting, Shapes::ShapeRef.new(shape: MultipleValuesSetting, location_name: "multipleValuesSetting"))
641
696
  CreateSlotRequest.struct_class = Types::CreateSlotRequest
642
697
 
643
698
  CreateSlotResponse.add_member(:slot_id, Shapes::ShapeRef.new(shape: Id, location_name: "slotId"))
@@ -651,6 +706,7 @@ module Aws::LexModelsV2
651
706
  CreateSlotResponse.add_member(:locale_id, Shapes::ShapeRef.new(shape: LocaleId, location_name: "localeId"))
652
707
  CreateSlotResponse.add_member(:intent_id, Shapes::ShapeRef.new(shape: Id, location_name: "intentId"))
653
708
  CreateSlotResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDateTime"))
709
+ CreateSlotResponse.add_member(:multiple_values_setting, Shapes::ShapeRef.new(shape: MultipleValuesSetting, location_name: "multipleValuesSetting"))
654
710
  CreateSlotResponse.struct_class = Types::CreateSlotResponse
655
711
 
656
712
  CreateSlotTypeRequest.add_member(:slot_type_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "slotTypeName"))
@@ -746,6 +802,23 @@ module Aws::LexModelsV2
746
802
  DeleteIntentRequest.add_member(:locale_id, Shapes::ShapeRef.new(shape: LocaleId, required: true, location: "uri", location_name: "localeId"))
747
803
  DeleteIntentRequest.struct_class = Types::DeleteIntentRequest
748
804
 
805
+ DeleteResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "uri", location_name: "resourceArn"))
806
+ DeleteResourcePolicyRequest.add_member(:expected_revision_id, Shapes::ShapeRef.new(shape: RevisionId, location: "querystring", location_name: "expectedRevisionId"))
807
+ DeleteResourcePolicyRequest.struct_class = Types::DeleteResourcePolicyRequest
808
+
809
+ DeleteResourcePolicyResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceArn"))
810
+ DeleteResourcePolicyResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
811
+ DeleteResourcePolicyResponse.struct_class = Types::DeleteResourcePolicyResponse
812
+
813
+ DeleteResourcePolicyStatementRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "uri", location_name: "resourceArn"))
814
+ DeleteResourcePolicyStatementRequest.add_member(:statement_id, Shapes::ShapeRef.new(shape: Name, required: true, location: "uri", location_name: "statementId"))
815
+ DeleteResourcePolicyStatementRequest.add_member(:expected_revision_id, Shapes::ShapeRef.new(shape: RevisionId, location: "querystring", location_name: "expectedRevisionId"))
816
+ DeleteResourcePolicyStatementRequest.struct_class = Types::DeleteResourcePolicyStatementRequest
817
+
818
+ DeleteResourcePolicyStatementResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceArn"))
819
+ DeleteResourcePolicyStatementResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
820
+ DeleteResourcePolicyStatementResponse.struct_class = Types::DeleteResourcePolicyStatementResponse
821
+
749
822
  DeleteSlotRequest.add_member(:slot_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "slotId"))
750
823
  DeleteSlotRequest.add_member(:bot_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "botId"))
751
824
  DeleteSlotRequest.add_member(:bot_version, Shapes::ShapeRef.new(shape: DraftBotVersion, required: true, location: "uri", location_name: "botVersion"))
@@ -883,6 +956,14 @@ module Aws::LexModelsV2
883
956
  DescribeIntentResponse.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdatedDateTime"))
884
957
  DescribeIntentResponse.struct_class = Types::DescribeIntentResponse
885
958
 
959
+ DescribeResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "uri", location_name: "resourceArn"))
960
+ DescribeResourcePolicyRequest.struct_class = Types::DescribeResourcePolicyRequest
961
+
962
+ DescribeResourcePolicyResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceArn"))
963
+ DescribeResourcePolicyResponse.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "policy"))
964
+ DescribeResourcePolicyResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
965
+ DescribeResourcePolicyResponse.struct_class = Types::DescribeResourcePolicyResponse
966
+
886
967
  DescribeSlotRequest.add_member(:slot_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "slotId"))
887
968
  DescribeSlotRequest.add_member(:bot_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "botId"))
888
969
  DescribeSlotRequest.add_member(:bot_version, Shapes::ShapeRef.new(shape: BotVersion, required: true, location: "uri", location_name: "botVersion"))
@@ -902,6 +983,7 @@ module Aws::LexModelsV2
902
983
  DescribeSlotResponse.add_member(:intent_id, Shapes::ShapeRef.new(shape: Id, location_name: "intentId"))
903
984
  DescribeSlotResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDateTime"))
904
985
  DescribeSlotResponse.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdatedDateTime"))
986
+ DescribeSlotResponse.add_member(:multiple_values_setting, Shapes::ShapeRef.new(shape: MultipleValuesSetting, location_name: "multipleValuesSetting"))
905
987
  DescribeSlotResponse.struct_class = Types::DescribeSlotResponse
906
988
 
907
989
  DescribeSlotTypeRequest.add_member(:slot_type_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "slotTypeId"))
@@ -1201,9 +1283,14 @@ module Aws::LexModelsV2
1201
1283
 
1202
1284
  MessageVariationsList.member = Shapes::ShapeRef.new(shape: Message)
1203
1285
 
1286
+ MultipleValuesSetting.add_member(:allow_multiple_values, Shapes::ShapeRef.new(shape: Boolean, location_name: "allowMultipleValues"))
1287
+ MultipleValuesSetting.struct_class = Types::MultipleValuesSetting
1288
+
1204
1289
  ObfuscationSetting.add_member(:obfuscation_setting_type, Shapes::ShapeRef.new(shape: ObfuscationSettingType, required: true, location_name: "obfuscationSettingType"))
1205
1290
  ObfuscationSetting.struct_class = Types::ObfuscationSetting
1206
1291
 
1292
+ OperationList.member = Shapes::ShapeRef.new(shape: Operation)
1293
+
1207
1294
  OutputContext.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
1208
1295
  OutputContext.add_member(:time_to_live_in_seconds, Shapes::ShapeRef.new(shape: ContextTimeToLiveInSeconds, required: true, location_name: "timeToLiveInSeconds"))
1209
1296
  OutputContext.add_member(:turns_to_live, Shapes::ShapeRef.new(shape: ContextTurnsToLive, required: true, location_name: "turnsToLive"))
@@ -1217,6 +1304,12 @@ module Aws::LexModelsV2
1217
1304
  PreconditionFailedException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1218
1305
  PreconditionFailedException.struct_class = Types::PreconditionFailedException
1219
1306
 
1307
+ Principal.add_member(:service, Shapes::ShapeRef.new(shape: ServicePrincipal, location_name: "service"))
1308
+ Principal.add_member(:arn, Shapes::ShapeRef.new(shape: PrincipalArn, location_name: "arn"))
1309
+ Principal.struct_class = Types::Principal
1310
+
1311
+ PrincipalList.member = Shapes::ShapeRef.new(shape: Principal)
1312
+
1220
1313
  PromptSpecification.add_member(:message_groups, Shapes::ShapeRef.new(shape: MessageGroupsList, required: true, location_name: "messageGroups"))
1221
1314
  PromptSpecification.add_member(:max_retries, Shapes::ShapeRef.new(shape: PromptMaxRetries, required: true, location_name: "maxRetries"))
1222
1315
  PromptSpecification.add_member(:allow_interrupt, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "allowInterrupt"))
@@ -1491,6 +1584,15 @@ module Aws::LexModelsV2
1491
1584
  UpdateIntentResponse.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdatedDateTime"))
1492
1585
  UpdateIntentResponse.struct_class = Types::UpdateIntentResponse
1493
1586
 
1587
+ UpdateResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location: "uri", location_name: "resourceArn"))
1588
+ UpdateResourcePolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "policy"))
1589
+ UpdateResourcePolicyRequest.add_member(:expected_revision_id, Shapes::ShapeRef.new(shape: RevisionId, location: "querystring", location_name: "expectedRevisionId"))
1590
+ UpdateResourcePolicyRequest.struct_class = Types::UpdateResourcePolicyRequest
1591
+
1592
+ UpdateResourcePolicyResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceArn"))
1593
+ UpdateResourcePolicyResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
1594
+ UpdateResourcePolicyResponse.struct_class = Types::UpdateResourcePolicyResponse
1595
+
1494
1596
  UpdateSlotRequest.add_member(:slot_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "slotId"))
1495
1597
  UpdateSlotRequest.add_member(:slot_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "slotName"))
1496
1598
  UpdateSlotRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
@@ -1501,6 +1603,7 @@ module Aws::LexModelsV2
1501
1603
  UpdateSlotRequest.add_member(:bot_version, Shapes::ShapeRef.new(shape: DraftBotVersion, required: true, location: "uri", location_name: "botVersion"))
1502
1604
  UpdateSlotRequest.add_member(:locale_id, Shapes::ShapeRef.new(shape: LocaleId, required: true, location: "uri", location_name: "localeId"))
1503
1605
  UpdateSlotRequest.add_member(:intent_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "intentId"))
1606
+ UpdateSlotRequest.add_member(:multiple_values_setting, Shapes::ShapeRef.new(shape: MultipleValuesSetting, location_name: "multipleValuesSetting"))
1504
1607
  UpdateSlotRequest.struct_class = Types::UpdateSlotRequest
1505
1608
 
1506
1609
  UpdateSlotResponse.add_member(:slot_id, Shapes::ShapeRef.new(shape: Id, location_name: "slotId"))
@@ -1515,6 +1618,7 @@ module Aws::LexModelsV2
1515
1618
  UpdateSlotResponse.add_member(:intent_id, Shapes::ShapeRef.new(shape: Id, location_name: "intentId"))
1516
1619
  UpdateSlotResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "creationDateTime"))
1517
1620
  UpdateSlotResponse.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdatedDateTime"))
1621
+ UpdateSlotResponse.add_member(:multiple_values_setting, Shapes::ShapeRef.new(shape: MultipleValuesSetting, location_name: "multipleValuesSetting"))
1518
1622
  UpdateSlotResponse.struct_class = Types::UpdateSlotResponse
1519
1623
 
1520
1624
  UpdateSlotTypeRequest.add_member(:slot_type_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "slotTypeId"))
@@ -1669,6 +1773,35 @@ module Aws::LexModelsV2
1669
1773
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1670
1774
  end)
1671
1775
 
1776
+ api.add_operation(:create_resource_policy, Seahorse::Model::Operation.new.tap do |o|
1777
+ o.name = "CreateResourcePolicy"
1778
+ o.http_method = "POST"
1779
+ o.http_request_uri = "/policy/{resourceArn}/"
1780
+ o.input = Shapes::ShapeRef.new(shape: CreateResourcePolicyRequest)
1781
+ o.output = Shapes::ShapeRef.new(shape: CreateResourcePolicyResponse)
1782
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1783
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1784
+ o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
1785
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1786
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1787
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1788
+ end)
1789
+
1790
+ api.add_operation(:create_resource_policy_statement, Seahorse::Model::Operation.new.tap do |o|
1791
+ o.name = "CreateResourcePolicyStatement"
1792
+ o.http_method = "POST"
1793
+ o.http_request_uri = "/policy/{resourceArn}/statements/"
1794
+ o.input = Shapes::ShapeRef.new(shape: CreateResourcePolicyStatementRequest)
1795
+ o.output = Shapes::ShapeRef.new(shape: CreateResourcePolicyStatementResponse)
1796
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1797
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1798
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1799
+ o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
1800
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1801
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1802
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1803
+ end)
1804
+
1672
1805
  api.add_operation(:create_slot, Seahorse::Model::Operation.new.tap do |o|
1673
1806
  o.name = "CreateSlot"
1674
1807
  o.http_method = "PUT"
@@ -1806,6 +1939,30 @@ module Aws::LexModelsV2
1806
1939
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1807
1940
  end)
1808
1941
 
1942
+ api.add_operation(:delete_resource_policy, Seahorse::Model::Operation.new.tap do |o|
1943
+ o.name = "DeleteResourcePolicy"
1944
+ o.http_method = "DELETE"
1945
+ o.http_request_uri = "/policy/{resourceArn}/"
1946
+ o.input = Shapes::ShapeRef.new(shape: DeleteResourcePolicyRequest)
1947
+ o.output = Shapes::ShapeRef.new(shape: DeleteResourcePolicyResponse)
1948
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1949
+ o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
1950
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1951
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1952
+ end)
1953
+
1954
+ api.add_operation(:delete_resource_policy_statement, Seahorse::Model::Operation.new.tap do |o|
1955
+ o.name = "DeleteResourcePolicyStatement"
1956
+ o.http_method = "DELETE"
1957
+ o.http_request_uri = "/policy/{resourceArn}/statements/{statementId}/"
1958
+ o.input = Shapes::ShapeRef.new(shape: DeleteResourcePolicyStatementRequest)
1959
+ o.output = Shapes::ShapeRef.new(shape: DeleteResourcePolicyStatementResponse)
1960
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1961
+ o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
1962
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1963
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1964
+ end)
1965
+
1809
1966
  api.add_operation(:delete_slot, Seahorse::Model::Operation.new.tap do |o|
1810
1967
  o.name = "DeleteSlot"
1811
1968
  o.http_method = "DELETE"
@@ -1923,6 +2080,17 @@ module Aws::LexModelsV2
1923
2080
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1924
2081
  end)
1925
2082
 
2083
+ api.add_operation(:describe_resource_policy, Seahorse::Model::Operation.new.tap do |o|
2084
+ o.name = "DescribeResourcePolicy"
2085
+ o.http_method = "GET"
2086
+ o.http_request_uri = "/policy/{resourceArn}/"
2087
+ o.input = Shapes::ShapeRef.new(shape: DescribeResourcePolicyRequest)
2088
+ o.output = Shapes::ShapeRef.new(shape: DescribeResourcePolicyResponse)
2089
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2090
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2091
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2092
+ end)
2093
+
1926
2094
  api.add_operation(:describe_slot, Seahorse::Model::Operation.new.tap do |o|
1927
2095
  o.name = "DescribeSlot"
1928
2096
  o.http_method = "GET"
@@ -2265,6 +2433,20 @@ module Aws::LexModelsV2
2265
2433
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2266
2434
  end)
2267
2435
 
2436
+ api.add_operation(:update_resource_policy, Seahorse::Model::Operation.new.tap do |o|
2437
+ o.name = "UpdateResourcePolicy"
2438
+ o.http_method = "PUT"
2439
+ o.http_request_uri = "/policy/{resourceArn}/"
2440
+ o.input = Shapes::ShapeRef.new(shape: UpdateResourcePolicyRequest)
2441
+ o.output = Shapes::ShapeRef.new(shape: UpdateResourcePolicyResponse)
2442
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2443
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2444
+ o.errors << Shapes::ShapeRef.new(shape: PreconditionFailedException)
2445
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2446
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
2447
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2448
+ end)
2449
+
2268
2450
  api.add_operation(:update_slot, Seahorse::Model::Operation.new.tap do |o|
2269
2451
  o.name = "UpdateSlot"
2270
2452
  o.http_method = "PUT"
@@ -2081,6 +2081,184 @@ module Aws::LexModelsV2
2081
2081
  include Aws::Structure
2082
2082
  end
2083
2083
 
2084
+ # @note When making an API call, you may pass CreateResourcePolicyRequest
2085
+ # data as a hash:
2086
+ #
2087
+ # {
2088
+ # resource_arn: "AmazonResourceName", # required
2089
+ # policy: "Policy", # required
2090
+ # }
2091
+ #
2092
+ # @!attribute [rw] resource_arn
2093
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
2094
+ # resource policy is attached to.
2095
+ # @return [String]
2096
+ #
2097
+ # @!attribute [rw] policy
2098
+ # A resource policy to add to the resource. The policy is a JSON
2099
+ # structure that contains one or more statements that define the
2100
+ # policy. The policy must follow the IAM syntax. For more information
2101
+ # about the contents of a JSON policy document, see [ IAM JSON policy
2102
+ # reference ][1].
2103
+ #
2104
+ # If the policy isn't valid, Amazon Lex returns a validation
2105
+ # exception.
2106
+ #
2107
+ #
2108
+ #
2109
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
2110
+ # @return [String]
2111
+ #
2112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyRequest AWS API Documentation
2113
+ #
2114
+ class CreateResourcePolicyRequest < Struct.new(
2115
+ :resource_arn,
2116
+ :policy)
2117
+ SENSITIVE = []
2118
+ include Aws::Structure
2119
+ end
2120
+
2121
+ # @!attribute [rw] resource_arn
2122
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
2123
+ # resource policy was attached to.
2124
+ # @return [String]
2125
+ #
2126
+ # @!attribute [rw] revision_id
2127
+ # The current revision of the resource policy. Use the revision ID to
2128
+ # make sure that you are updating the most current version of a
2129
+ # resource policy when you add a policy statement to a resource,
2130
+ # delete a resource, or update a resource.
2131
+ # @return [String]
2132
+ #
2133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyResponse AWS API Documentation
2134
+ #
2135
+ class CreateResourcePolicyResponse < Struct.new(
2136
+ :resource_arn,
2137
+ :revision_id)
2138
+ SENSITIVE = []
2139
+ include Aws::Structure
2140
+ end
2141
+
2142
+ # @note When making an API call, you may pass CreateResourcePolicyStatementRequest
2143
+ # data as a hash:
2144
+ #
2145
+ # {
2146
+ # resource_arn: "AmazonResourceName", # required
2147
+ # statement_id: "Name", # required
2148
+ # effect: "Allow", # required, accepts Allow, Deny
2149
+ # principal: [ # required
2150
+ # {
2151
+ # service: "ServicePrincipal",
2152
+ # arn: "PrincipalArn",
2153
+ # },
2154
+ # ],
2155
+ # action: ["Operation"], # required
2156
+ # condition: {
2157
+ # "ConditionOperator" => {
2158
+ # "ConditionKey" => "ConditionValue",
2159
+ # },
2160
+ # },
2161
+ # expected_revision_id: "RevisionId",
2162
+ # }
2163
+ #
2164
+ # @!attribute [rw] resource_arn
2165
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
2166
+ # resource policy is attached to.
2167
+ # @return [String]
2168
+ #
2169
+ # @!attribute [rw] statement_id
2170
+ # The name of the statement. The ID is the same as the `Sid` IAM
2171
+ # property. The statement name must be unique within the policy. For
2172
+ # more information, see [IAM JSON policy elements: Sid][1].
2173
+ #
2174
+ #
2175
+ #
2176
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html
2177
+ # @return [String]
2178
+ #
2179
+ # @!attribute [rw] effect
2180
+ # Determines whether the statement allows or denies access to the
2181
+ # resource.
2182
+ # @return [String]
2183
+ #
2184
+ # @!attribute [rw] principal
2185
+ # An IAM principal, such as an IAM users, IAM roles, or AWS services
2186
+ # that is allowed or denied access to a resource. For more
2187
+ # information, see [AWS JSON policy elements: Principal][1].
2188
+ #
2189
+ #
2190
+ #
2191
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html
2192
+ # @return [Array<Types::Principal>]
2193
+ #
2194
+ # @!attribute [rw] action
2195
+ # The Amazon Lex action that this policy either allows or denies. The
2196
+ # action must apply to the resource type of the specified ARN. For
2197
+ # more information, see [ Actions, resources, and condition keys for
2198
+ # Amazon Lex V2][1].
2199
+ #
2200
+ #
2201
+ #
2202
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlexv2.html
2203
+ # @return [Array<String>]
2204
+ #
2205
+ # @!attribute [rw] condition
2206
+ # Specifies a condition when the policy is in effect. If the principal
2207
+ # of the policy is a service principal, you must provide two condition
2208
+ # blocks, one with a SourceAccount global condition key and one with a
2209
+ # SourceArn global condition key.
2210
+ #
2211
+ # For more information, see [IAM JSON policy elements: Condition ][1].
2212
+ #
2213
+ #
2214
+ #
2215
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html
2216
+ # @return [Hash<String,Hash<String,String>>]
2217
+ #
2218
+ # @!attribute [rw] expected_revision_id
2219
+ # The identifier of the revision of the policy to edit. If this
2220
+ # revision ID doesn't match the current revision ID, Amazon Lex
2221
+ # throws an exception.
2222
+ #
2223
+ # If you don't specify a revision, Amazon Lex overwrites the contents
2224
+ # of the policy with the new values.
2225
+ # @return [String]
2226
+ #
2227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyStatementRequest AWS API Documentation
2228
+ #
2229
+ class CreateResourcePolicyStatementRequest < Struct.new(
2230
+ :resource_arn,
2231
+ :statement_id,
2232
+ :effect,
2233
+ :principal,
2234
+ :action,
2235
+ :condition,
2236
+ :expected_revision_id)
2237
+ SENSITIVE = []
2238
+ include Aws::Structure
2239
+ end
2240
+
2241
+ # @!attribute [rw] resource_arn
2242
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
2243
+ # resource policy is attached to.
2244
+ # @return [String]
2245
+ #
2246
+ # @!attribute [rw] revision_id
2247
+ # The current revision of the resource policy. Use the revision ID to
2248
+ # make sure that you are updating the most current version of a
2249
+ # resource policy when you add a policy statement to a resource,
2250
+ # delete a resource, or update a resource.
2251
+ # @return [String]
2252
+ #
2253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyStatementResponse AWS API Documentation
2254
+ #
2255
+ class CreateResourcePolicyStatementResponse < Struct.new(
2256
+ :resource_arn,
2257
+ :revision_id)
2258
+ SENSITIVE = []
2259
+ include Aws::Structure
2260
+ end
2261
+
2084
2262
  # @note When making an API call, you may pass CreateSlotRequest
2085
2263
  # data as a hash:
2086
2264
  #
@@ -2327,6 +2505,9 @@ module Aws::LexModelsV2
2327
2505
  # bot_version: "DraftBotVersion", # required
2328
2506
  # locale_id: "LocaleId", # required
2329
2507
  # intent_id: "Id", # required
2508
+ # multiple_values_setting: {
2509
+ # allow_multiple_values: false,
2510
+ # },
2330
2511
  # }
2331
2512
  #
2332
2513
  # @!attribute [rw] slot_name
@@ -2383,6 +2564,16 @@ module Aws::LexModelsV2
2383
2564
  # The identifier of the intent that contains the slot.
2384
2565
  # @return [String]
2385
2566
  #
2567
+ # @!attribute [rw] multiple_values_setting
2568
+ # Indicates whether the slot returns multiple values in one response.
2569
+ # Multi-value slots are only available in the en-US locale. If you set
2570
+ # this value to `true` in any other locale, Amazon Lex throws a
2571
+ # `ValidationException`.
2572
+ #
2573
+ # If the `multipleValuesSetting` is not set, the default value is
2574
+ # `false`.
2575
+ # @return [Types::MultipleValuesSetting]
2576
+ #
2386
2577
  # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotRequest AWS API Documentation
2387
2578
  #
2388
2579
  class CreateSlotRequest < Struct.new(
@@ -2394,7 +2585,8 @@ module Aws::LexModelsV2
2394
2585
  :bot_id,
2395
2586
  :bot_version,
2396
2587
  :locale_id,
2397
- :intent_id)
2588
+ :intent_id,
2589
+ :multiple_values_setting)
2398
2590
  SENSITIVE = []
2399
2591
  include Aws::Structure
2400
2592
  end
@@ -2445,6 +2637,10 @@ module Aws::LexModelsV2
2445
2637
  # The timestamp of the date and time that the slot was created.
2446
2638
  # @return [Time]
2447
2639
  #
2640
+ # @!attribute [rw] multiple_values_setting
2641
+ # Indicates whether the slot returns multiple values in one response.
2642
+ # @return [Types::MultipleValuesSetting]
2643
+ #
2448
2644
  # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotResponse AWS API Documentation
2449
2645
  #
2450
2646
  class CreateSlotResponse < Struct.new(
@@ -2458,7 +2654,8 @@ module Aws::LexModelsV2
2458
2654
  :bot_version,
2459
2655
  :locale_id,
2460
2656
  :intent_id,
2461
- :creation_date_time)
2657
+ :creation_date_time,
2658
+ :multiple_values_setting)
2462
2659
  SENSITIVE = []
2463
2660
  include Aws::Structure
2464
2661
  end
@@ -3070,6 +3267,115 @@ module Aws::LexModelsV2
3070
3267
  include Aws::Structure
3071
3268
  end
3072
3269
 
3270
+ # @note When making an API call, you may pass DeleteResourcePolicyRequest
3271
+ # data as a hash:
3272
+ #
3273
+ # {
3274
+ # resource_arn: "AmazonResourceName", # required
3275
+ # expected_revision_id: "RevisionId",
3276
+ # }
3277
+ #
3278
+ # @!attribute [rw] resource_arn
3279
+ # The Amazon Resource Name (ARN) of the bot or bot alias that has the
3280
+ # resource policy attached.
3281
+ # @return [String]
3282
+ #
3283
+ # @!attribute [rw] expected_revision_id
3284
+ # The identifier of the revision to edit. If this ID doesn't match
3285
+ # the current revision number, Amazon Lex returns an exception
3286
+ #
3287
+ # If you don't specify a revision ID, Amazon Lex will delete the
3288
+ # current policy.
3289
+ # @return [String]
3290
+ #
3291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyRequest AWS API Documentation
3292
+ #
3293
+ class DeleteResourcePolicyRequest < Struct.new(
3294
+ :resource_arn,
3295
+ :expected_revision_id)
3296
+ SENSITIVE = []
3297
+ include Aws::Structure
3298
+ end
3299
+
3300
+ # @!attribute [rw] resource_arn
3301
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
3302
+ # resource policy was deleted from.
3303
+ # @return [String]
3304
+ #
3305
+ # @!attribute [rw] revision_id
3306
+ # The current revision of the resource policy. Use the revision ID to
3307
+ # make sure that you are updating the most current version of a
3308
+ # resource policy when you add a policy statement to a resource,
3309
+ # delete a resource, or update a resource.
3310
+ # @return [String]
3311
+ #
3312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyResponse AWS API Documentation
3313
+ #
3314
+ class DeleteResourcePolicyResponse < Struct.new(
3315
+ :resource_arn,
3316
+ :revision_id)
3317
+ SENSITIVE = []
3318
+ include Aws::Structure
3319
+ end
3320
+
3321
+ # @note When making an API call, you may pass DeleteResourcePolicyStatementRequest
3322
+ # data as a hash:
3323
+ #
3324
+ # {
3325
+ # resource_arn: "AmazonResourceName", # required
3326
+ # statement_id: "Name", # required
3327
+ # expected_revision_id: "RevisionId",
3328
+ # }
3329
+ #
3330
+ # @!attribute [rw] resource_arn
3331
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
3332
+ # resource policy is attached to.
3333
+ # @return [String]
3334
+ #
3335
+ # @!attribute [rw] statement_id
3336
+ # The name of the statement (SID) to delete from the policy.
3337
+ # @return [String]
3338
+ #
3339
+ # @!attribute [rw] expected_revision_id
3340
+ # The identifier of the revision of the policy to delete the statement
3341
+ # from. If this revision ID doesn't match the current revision ID,
3342
+ # Amazon Lex throws an exception.
3343
+ #
3344
+ # If you don't specify a revision, Amazon Lex removes the current
3345
+ # contents of the statement.
3346
+ # @return [String]
3347
+ #
3348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyStatementRequest AWS API Documentation
3349
+ #
3350
+ class DeleteResourcePolicyStatementRequest < Struct.new(
3351
+ :resource_arn,
3352
+ :statement_id,
3353
+ :expected_revision_id)
3354
+ SENSITIVE = []
3355
+ include Aws::Structure
3356
+ end
3357
+
3358
+ # @!attribute [rw] resource_arn
3359
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
3360
+ # resource policy statement was removed from.
3361
+ # @return [String]
3362
+ #
3363
+ # @!attribute [rw] revision_id
3364
+ # The current revision of the resource policy. Use the revision ID to
3365
+ # make sure that you are updating the most current version of a
3366
+ # resource policy when you add a policy statement to a resource,
3367
+ # delete a resource, or update a resource.
3368
+ # @return [String]
3369
+ #
3370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyStatementResponse AWS API Documentation
3371
+ #
3372
+ class DeleteResourcePolicyStatementResponse < Struct.new(
3373
+ :resource_arn,
3374
+ :revision_id)
3375
+ SENSITIVE = []
3376
+ include Aws::Structure
3377
+ end
3378
+
3073
3379
  # @note When making an API call, you may pass DeleteSlotRequest
3074
3380
  # data as a hash:
3075
3381
  #
@@ -3850,6 +4156,58 @@ module Aws::LexModelsV2
3850
4156
  include Aws::Structure
3851
4157
  end
3852
4158
 
4159
+ # @note When making an API call, you may pass DescribeResourcePolicyRequest
4160
+ # data as a hash:
4161
+ #
4162
+ # {
4163
+ # resource_arn: "AmazonResourceName", # required
4164
+ # }
4165
+ #
4166
+ # @!attribute [rw] resource_arn
4167
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
4168
+ # resource policy is attached to.
4169
+ # @return [String]
4170
+ #
4171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeResourcePolicyRequest AWS API Documentation
4172
+ #
4173
+ class DescribeResourcePolicyRequest < Struct.new(
4174
+ :resource_arn)
4175
+ SENSITIVE = []
4176
+ include Aws::Structure
4177
+ end
4178
+
4179
+ # @!attribute [rw] resource_arn
4180
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
4181
+ # resource policy is attached to.
4182
+ # @return [String]
4183
+ #
4184
+ # @!attribute [rw] policy
4185
+ # The JSON structure that contains the resource policy. For more
4186
+ # information about the contents of a JSON policy document, see [ IAM
4187
+ # JSON policy reference ][1].
4188
+ #
4189
+ #
4190
+ #
4191
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
4192
+ # @return [String]
4193
+ #
4194
+ # @!attribute [rw] revision_id
4195
+ # The current revision of the resource policy. Use the revision ID to
4196
+ # make sure that you are updating the most current version of a
4197
+ # resource policy when you add a policy statement to a resource,
4198
+ # delete a resource, or update a resource.
4199
+ # @return [String]
4200
+ #
4201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeResourcePolicyResponse AWS API Documentation
4202
+ #
4203
+ class DescribeResourcePolicyResponse < Struct.new(
4204
+ :resource_arn,
4205
+ :policy,
4206
+ :revision_id)
4207
+ SENSITIVE = []
4208
+ include Aws::Structure
4209
+ end
4210
+
3853
4211
  # @note When making an API call, you may pass DescribeSlotRequest
3854
4212
  # data as a hash:
3855
4213
  #
@@ -3949,6 +4307,14 @@ module Aws::LexModelsV2
3949
4307
  # A timestamp of the date and time that the slot was last updated.
3950
4308
  # @return [Time]
3951
4309
  #
4310
+ # @!attribute [rw] multiple_values_setting
4311
+ # Indicates whether the slot accepts multiple values in a single
4312
+ # utterance.
4313
+ #
4314
+ # If the `multipleValuesSetting` is not set, the default value is
4315
+ # `false`.
4316
+ # @return [Types::MultipleValuesSetting]
4317
+ #
3952
4318
  # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotResponse AWS API Documentation
3953
4319
  #
3954
4320
  class DescribeSlotResponse < Struct.new(
@@ -3963,7 +4329,8 @@ module Aws::LexModelsV2
3963
4329
  :locale_id,
3964
4330
  :intent_id,
3965
4331
  :creation_date_time,
3966
- :last_updated_date_time)
4332
+ :last_updated_date_time,
4333
+ :multiple_values_setting)
3967
4334
  SENSITIVE = []
3968
4335
  include Aws::Structure
3969
4336
  end
@@ -6125,6 +6492,36 @@ module Aws::LexModelsV2
6125
6492
  include Aws::Structure
6126
6493
  end
6127
6494
 
6495
+ # Indicates whether a slot can return multiple values.
6496
+ #
6497
+ # @note When making an API call, you may pass MultipleValuesSetting
6498
+ # data as a hash:
6499
+ #
6500
+ # {
6501
+ # allow_multiple_values: false,
6502
+ # }
6503
+ #
6504
+ # @!attribute [rw] allow_multiple_values
6505
+ # Indicates whether a slot can return multiple values. When `true`,
6506
+ # the slot may return more than one value in a response. When `false`,
6507
+ # the slot returns only a single value.
6508
+ #
6509
+ # Multi-value slots are only available in the en-US locale. If you set
6510
+ # this value to `true` in any other locale, Amazon Lex throws a
6511
+ # `ValidationException`.
6512
+ #
6513
+ # If the `allowMutlipleValues` is not set, the default value is
6514
+ # `false`.
6515
+ # @return [Boolean]
6516
+ #
6517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/MultipleValuesSetting AWS API Documentation
6518
+ #
6519
+ class MultipleValuesSetting < Struct.new(
6520
+ :allow_multiple_values)
6521
+ SENSITIVE = []
6522
+ include Aws::Structure
6523
+ end
6524
+
6128
6525
  # Determines whether Amazon Lex obscures slot values in conversation
6129
6526
  # logs.
6130
6527
  #
@@ -6218,6 +6615,41 @@ module Aws::LexModelsV2
6218
6615
  include Aws::Structure
6219
6616
  end
6220
6617
 
6618
+ # The IAM principal that you allowing or denying access to an Amazon Lex
6619
+ # action. You must provide a `service` or an `arn`, but not both in the
6620
+ # same statement. For more information, see [ AWS JSON policy elements:
6621
+ # Principal ][1].
6622
+ #
6623
+ #
6624
+ #
6625
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html
6626
+ #
6627
+ # @note When making an API call, you may pass Principal
6628
+ # data as a hash:
6629
+ #
6630
+ # {
6631
+ # service: "ServicePrincipal",
6632
+ # arn: "PrincipalArn",
6633
+ # }
6634
+ #
6635
+ # @!attribute [rw] service
6636
+ # The name of the AWS service that should allowed or denied access to
6637
+ # an Amazon Lex action.
6638
+ # @return [String]
6639
+ #
6640
+ # @!attribute [rw] arn
6641
+ # The Amazon Resource Name (ARN) of the principal.
6642
+ # @return [String]
6643
+ #
6644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/Principal AWS API Documentation
6645
+ #
6646
+ class Principal < Struct.new(
6647
+ :service,
6648
+ :arn)
6649
+ SENSITIVE = []
6650
+ include Aws::Structure
6651
+ end
6652
+
6221
6653
  # Specifies a list of message groups that Amazon Lex sends to a user to
6222
6654
  # elicit a response.
6223
6655
  #
@@ -8434,6 +8866,75 @@ module Aws::LexModelsV2
8434
8866
  include Aws::Structure
8435
8867
  end
8436
8868
 
8869
+ # @note When making an API call, you may pass UpdateResourcePolicyRequest
8870
+ # data as a hash:
8871
+ #
8872
+ # {
8873
+ # resource_arn: "AmazonResourceName", # required
8874
+ # policy: "Policy", # required
8875
+ # expected_revision_id: "RevisionId",
8876
+ # }
8877
+ #
8878
+ # @!attribute [rw] resource_arn
8879
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
8880
+ # resource policy is attached to.
8881
+ # @return [String]
8882
+ #
8883
+ # @!attribute [rw] policy
8884
+ # A resource policy to add to the resource. The policy is a JSON
8885
+ # structure that contains one or more statements that define the
8886
+ # policy. The policy must follow the IAM syntax. For more information
8887
+ # about the contents of a JSON policy document, see [ IAM JSON policy
8888
+ # reference ][1].
8889
+ #
8890
+ # If the policy isn't valid, Amazon Lex returns a validation
8891
+ # exception.
8892
+ #
8893
+ #
8894
+ #
8895
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
8896
+ # @return [String]
8897
+ #
8898
+ # @!attribute [rw] expected_revision_id
8899
+ # The identifier of the revision of the policy to update. If this
8900
+ # revision ID doesn't match the current revision ID, Amazon Lex
8901
+ # throws an exception.
8902
+ #
8903
+ # If you don't specify a revision, Amazon Lex overwrites the contents
8904
+ # of the policy with the new values.
8905
+ # @return [String]
8906
+ #
8907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateResourcePolicyRequest AWS API Documentation
8908
+ #
8909
+ class UpdateResourcePolicyRequest < Struct.new(
8910
+ :resource_arn,
8911
+ :policy,
8912
+ :expected_revision_id)
8913
+ SENSITIVE = []
8914
+ include Aws::Structure
8915
+ end
8916
+
8917
+ # @!attribute [rw] resource_arn
8918
+ # The Amazon Resource Name (ARN) of the bot or bot alias that the
8919
+ # resource policy is attached to.
8920
+ # @return [String]
8921
+ #
8922
+ # @!attribute [rw] revision_id
8923
+ # The current revision of the resource policy. Use the revision ID to
8924
+ # make sure that you are updating the most current version of a
8925
+ # resource policy when you add a policy statement to a resource,
8926
+ # delete a resource, or update a resource.
8927
+ # @return [String]
8928
+ #
8929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateResourcePolicyResponse AWS API Documentation
8930
+ #
8931
+ class UpdateResourcePolicyResponse < Struct.new(
8932
+ :resource_arn,
8933
+ :revision_id)
8934
+ SENSITIVE = []
8935
+ include Aws::Structure
8936
+ end
8937
+
8437
8938
  # @note When making an API call, you may pass UpdateSlotRequest
8438
8939
  # data as a hash:
8439
8940
  #
@@ -8681,6 +9182,9 @@ module Aws::LexModelsV2
8681
9182
  # bot_version: "DraftBotVersion", # required
8682
9183
  # locale_id: "LocaleId", # required
8683
9184
  # intent_id: "Id", # required
9185
+ # multiple_values_setting: {
9186
+ # allow_multiple_values: false,
9187
+ # },
8684
9188
  # }
8685
9189
  #
8686
9190
  # @!attribute [rw] slot_id
@@ -8733,6 +9237,16 @@ module Aws::LexModelsV2
8733
9237
  # The identifier of the intent that contains the slot.
8734
9238
  # @return [String]
8735
9239
  #
9240
+ # @!attribute [rw] multiple_values_setting
9241
+ # Determines whether the slot accepts multiple values in one response.
9242
+ # Multiple value slots are only available in the en-US locale. If you
9243
+ # set this value to `true` in any other locale, Amazon Lex throws a
9244
+ # `ValidationException`.
9245
+ #
9246
+ # If the `multipleValuesSetting` is not set, the default value is
9247
+ # `false`.
9248
+ # @return [Types::MultipleValuesSetting]
9249
+ #
8736
9250
  # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotRequest AWS API Documentation
8737
9251
  #
8738
9252
  class UpdateSlotRequest < Struct.new(
@@ -8745,7 +9259,8 @@ module Aws::LexModelsV2
8745
9259
  :bot_id,
8746
9260
  :bot_version,
8747
9261
  :locale_id,
8748
- :intent_id)
9262
+ :intent_id,
9263
+ :multiple_values_setting)
8749
9264
  SENSITIVE = []
8750
9265
  include Aws::Structure
8751
9266
  end
@@ -8802,6 +9317,10 @@ module Aws::LexModelsV2
8802
9317
  # The timestamp of the date and time that the slot was last updated.
8803
9318
  # @return [Time]
8804
9319
  #
9320
+ # @!attribute [rw] multiple_values_setting
9321
+ # Indicates whether the slot accepts multiple values in one response.
9322
+ # @return [Types::MultipleValuesSetting]
9323
+ #
8805
9324
  # @see http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotResponse AWS API Documentation
8806
9325
  #
8807
9326
  class UpdateSlotResponse < Struct.new(
@@ -8816,7 +9335,8 @@ module Aws::LexModelsV2
8816
9335
  :locale_id,
8817
9336
  :intent_id,
8818
9337
  :creation_date_time,
8819
- :last_updated_date_time)
9338
+ :last_updated_date_time,
9339
+ :multiple_values_setting)
8820
9340
  SENSITIVE = []
8821
9341
  include Aws::Structure
8822
9342
  end