aws-sdk-lexmodelsv2 1.3.0 → 1.7.0

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