aws-sdk-qapps 1.8.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -523,6 +523,164 @@ module Aws::QApps
523
523
  req.send_request(options)
524
524
  end
525
525
 
526
+ # Creates Categories for the Amazon Q Business application environment
527
+ # instance. Web experience users use Categories to tag and filter
528
+ # library items. For more information, see [Custom labels for Amazon Q
529
+ # Apps][1].
530
+ #
531
+ #
532
+ #
533
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/qapps-custom-labels.html
534
+ #
535
+ # @option params [required, String] :instance_id
536
+ # The unique identifier of the Amazon Q Business application environment
537
+ # instance.
538
+ #
539
+ # @option params [required, Array<Types::BatchCreateCategoryInputCategory>] :categories
540
+ # The list of category objects to be created
541
+ #
542
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
543
+ #
544
+ #
545
+ # @example Example: Creates the categories for the library
546
+ #
547
+ # resp = client.batch_create_category({
548
+ # categories: [
549
+ # {
550
+ # id: "549abfe0-f5c4-45a2-bb9b-c05987a49c6d",
551
+ # title: "HR",
552
+ # },
553
+ # {
554
+ # id: "18cbebaa-196a-4aa5-a840-88d548e07f8f",
555
+ # title: "Marketing",
556
+ # },
557
+ # ],
558
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
559
+ # })
560
+ #
561
+ # @example Request syntax with placeholder values
562
+ #
563
+ # resp = client.batch_create_category({
564
+ # instance_id: "InstanceId", # required
565
+ # categories: [ # required
566
+ # {
567
+ # id: "UUID",
568
+ # title: "BatchCreateCategoryInputCategoryTitleString", # required
569
+ # color: "BatchCreateCategoryInputCategoryColorString",
570
+ # },
571
+ # ],
572
+ # })
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/BatchCreateCategory AWS API Documentation
575
+ #
576
+ # @overload batch_create_category(params = {})
577
+ # @param [Hash] params ({})
578
+ def batch_create_category(params = {}, options = {})
579
+ req = build_request(:batch_create_category, params)
580
+ req.send_request(options)
581
+ end
582
+
583
+ # Deletes Categories for the Amazon Q Business application environment
584
+ # instance. Web experience users use Categories to tag and filter
585
+ # library items. For more information, see [Custom labels for Amazon Q
586
+ # Apps][1].
587
+ #
588
+ #
589
+ #
590
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/qapps-custom-labels.html
591
+ #
592
+ # @option params [required, String] :instance_id
593
+ # The unique identifier of the Amazon Q Business application environment
594
+ # instance.
595
+ #
596
+ # @option params [required, Array<String>] :categories
597
+ # The list of IDs of the categories to be deleted.
598
+ #
599
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
600
+ #
601
+ #
602
+ # @example Example: Deletes the categories in the library
603
+ #
604
+ # resp = client.batch_delete_category({
605
+ # categories: [
606
+ # "9c871ed4-1c41-4065-aefe-321cd4b61cf8",
607
+ # ],
608
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
609
+ # })
610
+ #
611
+ # @example Request syntax with placeholder values
612
+ #
613
+ # resp = client.batch_delete_category({
614
+ # instance_id: "InstanceId", # required
615
+ # categories: ["UUID"], # required
616
+ # })
617
+ #
618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/BatchDeleteCategory AWS API Documentation
619
+ #
620
+ # @overload batch_delete_category(params = {})
621
+ # @param [Hash] params ({})
622
+ def batch_delete_category(params = {}, options = {})
623
+ req = build_request(:batch_delete_category, params)
624
+ req.send_request(options)
625
+ end
626
+
627
+ # Updates Categories for the Amazon Q Business application environment
628
+ # instance. Web experience users use Categories to tag and filter
629
+ # library items. For more information, see [Custom labels for Amazon Q
630
+ # Apps][1].
631
+ #
632
+ #
633
+ #
634
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/qapps-custom-labels.html
635
+ #
636
+ # @option params [required, String] :instance_id
637
+ # The unique identifier of the Amazon Q Business application environment
638
+ # instance.
639
+ #
640
+ # @option params [required, Array<Types::CategoryInput>] :categories
641
+ # The list of categories to be updated with their new values.
642
+ #
643
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
644
+ #
645
+ #
646
+ # @example Example: Updates the categories in the library
647
+ #
648
+ # resp = client.batch_update_category({
649
+ # categories: [
650
+ # {
651
+ # id: "549abfe0-f5c4-45a2-bb9b-c05987a49c6d",
652
+ # title: "HR Management",
653
+ # },
654
+ # {
655
+ # id: "18cbebaa-196a-4aa5-a840-88d548e07f8f",
656
+ # title: "Sales",
657
+ # },
658
+ # ],
659
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
660
+ # })
661
+ #
662
+ # @example Request syntax with placeholder values
663
+ #
664
+ # resp = client.batch_update_category({
665
+ # instance_id: "InstanceId", # required
666
+ # categories: [ # required
667
+ # {
668
+ # id: "UUID", # required
669
+ # title: "CategoryInputTitleString", # required
670
+ # color: "CategoryInputColorString",
671
+ # },
672
+ # ],
673
+ # })
674
+ #
675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/BatchUpdateCategory AWS API Documentation
676
+ #
677
+ # @overload batch_update_category(params = {})
678
+ # @param [Hash] params ({})
679
+ def batch_update_category(params = {}, options = {})
680
+ req = build_request(:batch_update_category, params)
681
+ req.send_request(options)
682
+ end
683
+
526
684
  # Creates a new library item for an Amazon Q App, allowing it to be
527
685
  # discovered and used by other allowed users.
528
686
  #
@@ -604,6 +762,123 @@ module Aws::QApps
604
762
  req.send_request(options)
605
763
  end
606
764
 
765
+ # Creates a presigned URL for an S3 POST operation to upload a file. You
766
+ # can use this URL to set a default file for a `FileUploadCard` in a Q
767
+ # App definition or to provide a file for a single Q App run. The
768
+ # `scope` parameter determines how the file will be used, either at the
769
+ # app definition level or the app session level.
770
+ #
771
+ # @option params [required, String] :instance_id
772
+ # The unique identifier of the Amazon Q Business application environment
773
+ # instance.
774
+ #
775
+ # @option params [required, String] :card_id
776
+ # The unique identifier of the card the file is associated with.
777
+ #
778
+ # @option params [required, String] :app_id
779
+ # The unique identifier of the Q App the file is associated with.
780
+ #
781
+ # @option params [required, String] :file_contents_sha_256
782
+ # The Base64-encoded SHA-256 digest of the contents of the file to be
783
+ # uploaded.
784
+ #
785
+ # @option params [required, String] :file_name
786
+ # The name of the file to be uploaded.
787
+ #
788
+ # @option params [required, String] :scope
789
+ # Whether the file is associated with a Q App definition or a specific Q
790
+ # App session.
791
+ #
792
+ # @option params [String] :session_id
793
+ # The unique identifier of the Q App session the file is associated
794
+ # with, if applicable.
795
+ #
796
+ # @return [Types::CreatePresignedUrlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
797
+ #
798
+ # * {Types::CreatePresignedUrlOutput#file_id #file_id} => String
799
+ # * {Types::CreatePresignedUrlOutput#presigned_url #presigned_url} => String
800
+ # * {Types::CreatePresignedUrlOutput#presigned_url_fields #presigned_url_fields} => Hash&lt;String,String&gt;
801
+ # * {Types::CreatePresignedUrlOutput#presigned_url_expiration #presigned_url_expiration} => Time
802
+ #
803
+ #
804
+ # @example Example: Upload a file to a specific session
805
+ #
806
+ # resp = client.create_presigned_url({
807
+ # app_id: "4263767c-d889-4cb2-a8f6-8b649bc66af0",
808
+ # card_id: "82f69028-22a9-4bea-8727-0eabf58e9fed",
809
+ # file_contents_sha_256: "myMXwslBoXkTDQ0olhq1QsiHRWWL4yj1V0IuoK+PYOg=",
810
+ # file_name: "myFile.txt",
811
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
812
+ # scope: "SESSION",
813
+ # session_id: "4f0e5b87-9d38-41cd-9eb4-ebce2f2917cc",
814
+ # })
815
+ #
816
+ # resp.to_h outputs the following:
817
+ # {
818
+ # file_id: "412aa1b4-341c-45af-936d-da52f8a1a3b4",
819
+ # presigned_url: "https://presign-test-omg-6f98533b-3f9f-4e8a-8183-63793b9ffef0.s3.us-west-2.amazonaws.com/",
820
+ # presigned_url_expiration: Time.parse("2024-09-14T00:11:54.232Z"),
821
+ # presigned_url_fields: {
822
+ # "x-amz-checksum-sha256" => "fmHCdgdPjOGub9TVZ4NIOpAYP4UlIOaPRUwHw8nihR4=",
823
+ # "x-amz-server-side-encryption" => "aws:kms",
824
+ # "x-amz-server-side-encryption-aws-kms-key-id" => "0a6a474b-f2ca-46ea-9e72-deea9077d92f",
825
+ # "x-amz-server-side-encryption-context" => "eyJzb21ldGhpbmciOiJ0aGVyZSJ9",
826
+ # },
827
+ # }
828
+ #
829
+ # @example Example: Upload a file into a application
830
+ #
831
+ # resp = client.create_presigned_url({
832
+ # app_id: "4263767c-d889-4cb2-a8f6-8b649bc66af0",
833
+ # card_id: "7a11f34b-42d4-4bc8-b668-ae4a788dae1e",
834
+ # file_contents_sha_256: "myMXwslBoXkTDQ0olhq1QsiHRWWL4yj1V0IuoK+PYOg=",
835
+ # file_name: "anApplicationFile.txt",
836
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
837
+ # scope: "APPLICATION",
838
+ # })
839
+ #
840
+ # resp.to_h outputs the following:
841
+ # {
842
+ # file_id: "412aa1b4-341c-45af-936d-da52f8a1a3b4",
843
+ # presigned_url: "https://presign-test-omg-6f98533b-3f9f-4e8a-8183-63793b9ffef0.s3.us-west-2.amazonaws.com/",
844
+ # presigned_url_expiration: Time.parse("2024-09-14T00:11:54.232Z"),
845
+ # presigned_url_fields: {
846
+ # "x-amz-checksum-sha256" => "fmHCdgdPjOGub9TVZ4NIOpAYP4UlIOaPRUwHw8nihR4=",
847
+ # "x-amz-server-side-encryption" => "aws:kms",
848
+ # "x-amz-server-side-encryption-aws-kms-key-id" => "0a6a474b-f2ca-46ea-9e72-deea9077d92f",
849
+ # "x-amz-server-side-encryption-context" => "eyJzb21ldGhpbmciOiJ0aGVyZSJ9",
850
+ # },
851
+ # }
852
+ #
853
+ # @example Request syntax with placeholder values
854
+ #
855
+ # resp = client.create_presigned_url({
856
+ # instance_id: "InstanceId", # required
857
+ # card_id: "UUID", # required
858
+ # app_id: "UUID", # required
859
+ # file_contents_sha_256: "CreatePresignedUrlInputFileContentsSha256String", # required
860
+ # file_name: "Filename", # required
861
+ # scope: "APPLICATION", # required, accepts APPLICATION, SESSION
862
+ # session_id: "UUID",
863
+ # })
864
+ #
865
+ # @example Response structure
866
+ #
867
+ # resp.file_id #=> String
868
+ # resp.presigned_url #=> String
869
+ # resp.presigned_url_fields #=> Hash
870
+ # resp.presigned_url_fields["String"] #=> String
871
+ # resp.presigned_url_expiration #=> Time
872
+ #
873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/CreatePresignedUrl AWS API Documentation
874
+ #
875
+ # @overload create_presigned_url(params = {})
876
+ # @param [Hash] params ({})
877
+ def create_presigned_url(params = {}, options = {})
878
+ req = build_request(:create_presigned_url, params)
879
+ req.send_request(options)
880
+ end
881
+
607
882
  # Creates a new Amazon Q App based on the provided definition. The Q App
608
883
  # definition specifies the cards and flow of the Q App. This operation
609
884
  # also calculates the dependencies between the cards by inspecting the
@@ -697,14 +972,14 @@ module Aws::QApps
697
972
  # text_input: {
698
973
  # title: "Title", # required
699
974
  # id: "UUID", # required
700
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
975
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
701
976
  # placeholder: "Placeholder",
702
977
  # default_value: "Default",
703
978
  # },
704
979
  # q_query: {
705
980
  # title: "Title", # required
706
981
  # id: "UUID", # required
707
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
982
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
708
983
  # prompt: "Prompt", # required
709
984
  # output_source: "approved-sources", # accepts approved-sources, llm
710
985
  # attribute_filter: {
@@ -789,18 +1064,28 @@ module Aws::QApps
789
1064
  # q_plugin: {
790
1065
  # title: "Title", # required
791
1066
  # id: "UUID", # required
792
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
1067
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
793
1068
  # prompt: "Prompt", # required
794
1069
  # plugin_id: "PluginId", # required
795
1070
  # },
796
1071
  # file_upload: {
797
1072
  # title: "Title", # required
798
1073
  # id: "UUID", # required
799
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
1074
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
800
1075
  # filename: "Filename",
801
1076
  # file_id: "UUID",
802
1077
  # allow_override: false,
803
1078
  # },
1079
+ # form_input: {
1080
+ # title: "Title", # required
1081
+ # id: "UUID", # required
1082
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
1083
+ # metadata: { # required
1084
+ # schema: { # required
1085
+ # },
1086
+ # },
1087
+ # compute_mode: "append", # accepts append, replace
1088
+ # },
804
1089
  # },
805
1090
  # ],
806
1091
  # initial_prompt: "InitialPrompt",
@@ -907,6 +1192,79 @@ module Aws::QApps
907
1192
  req.send_request(options)
908
1193
  end
909
1194
 
1195
+ # Describes read permissions for a Amazon Q App in Amazon Q Business
1196
+ # application environment instance.
1197
+ #
1198
+ # @option params [required, String] :instance_id
1199
+ # The unique identifier of the Amazon Q Business application environment
1200
+ # instance.
1201
+ #
1202
+ # @option params [required, String] :app_id
1203
+ # The unique identifier of the Amazon Q App for which to retrieve
1204
+ # permissions.
1205
+ #
1206
+ # @return [Types::DescribeQAppPermissionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1207
+ #
1208
+ # * {Types::DescribeQAppPermissionsOutput#resource_arn #resource_arn} => String
1209
+ # * {Types::DescribeQAppPermissionsOutput#app_id #app_id} => String
1210
+ # * {Types::DescribeQAppPermissionsOutput#permissions #permissions} => Array&lt;Types::PermissionOutput&gt;
1211
+ #
1212
+ #
1213
+ # @example Example: Describe permissions for the app
1214
+ #
1215
+ # resp = client.describe_q_app_permissions({
1216
+ # app_id: "fe0acf86-49e5-4def-a0c2-40ce0cafee14",
1217
+ # instance_id: "01793661-ad73-4c7d-8eaa-1c95a10151c2",
1218
+ # })
1219
+ #
1220
+ # resp.to_h outputs the following:
1221
+ # {
1222
+ # app_id: "fe0acf86-49e5-4def-a0c2-40ce0cafee14",
1223
+ # permissions: [
1224
+ # {
1225
+ # action: "write",
1226
+ # principal: {
1227
+ # email: "user1@example.com",
1228
+ # user_id: "f8f15330-b091-708b-d46e-adb0d914b699",
1229
+ # },
1230
+ # },
1231
+ # {
1232
+ # action: "read",
1233
+ # principal: {
1234
+ # email: "user2@example.com",
1235
+ # user_id: "c81133d0-10d1-70eb-aaa3-d427ea6fc0f3",
1236
+ # },
1237
+ # },
1238
+ # ],
1239
+ # resource_arn: "arn:aws:qapps:us-west-2:111111111111:application/01793661-ad73-4c7d-8eaa-1c95a10151c2/qapp/fe0acf86-49e5-4def-a0c2-40ce0cafee14",
1240
+ # }
1241
+ #
1242
+ # @example Request syntax with placeholder values
1243
+ #
1244
+ # resp = client.describe_q_app_permissions({
1245
+ # instance_id: "InstanceId", # required
1246
+ # app_id: "UUID", # required
1247
+ # })
1248
+ #
1249
+ # @example Response structure
1250
+ #
1251
+ # resp.resource_arn #=> String
1252
+ # resp.app_id #=> String
1253
+ # resp.permissions #=> Array
1254
+ # resp.permissions[0].action #=> String, one of "read", "write"
1255
+ # resp.permissions[0].principal.user_id #=> String
1256
+ # resp.permissions[0].principal.user_type #=> String, one of "owner", "user"
1257
+ # resp.permissions[0].principal.email #=> String
1258
+ #
1259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DescribeQAppPermissions AWS API Documentation
1260
+ #
1261
+ # @overload describe_q_app_permissions(params = {})
1262
+ # @param [Hash] params ({})
1263
+ def describe_q_app_permissions(params = {}, options = {})
1264
+ req = build_request(:describe_q_app_permissions, params)
1265
+ req.send_request(options)
1266
+ end
1267
+
910
1268
  # Removes a rating or review previously submitted by the user for a
911
1269
  # library item.
912
1270
  #
@@ -979,6 +1337,43 @@ module Aws::QApps
979
1337
  req.send_request(options)
980
1338
  end
981
1339
 
1340
+ # Exports the collected data of a Q App data collection session.
1341
+ #
1342
+ # @option params [required, String] :instance_id
1343
+ # The unique identifier of the Amazon Q Business application environment
1344
+ # instance.
1345
+ #
1346
+ # @option params [required, String] :session_id
1347
+ # The unique identifier of the Q App data collection session.
1348
+ #
1349
+ # @return [Types::ExportQAppSessionDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1350
+ #
1351
+ # * {Types::ExportQAppSessionDataOutput#csv_file_link #csv_file_link} => String
1352
+ # * {Types::ExportQAppSessionDataOutput#expires_at #expires_at} => Time
1353
+ # * {Types::ExportQAppSessionDataOutput#session_arn #session_arn} => String
1354
+ #
1355
+ # @example Request syntax with placeholder values
1356
+ #
1357
+ # resp = client.export_q_app_session_data({
1358
+ # instance_id: "InstanceId", # required
1359
+ # session_id: "UUID", # required
1360
+ # })
1361
+ #
1362
+ # @example Response structure
1363
+ #
1364
+ # resp.csv_file_link #=> String
1365
+ # resp.expires_at #=> Time
1366
+ # resp.session_arn #=> String
1367
+ #
1368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ExportQAppSessionData AWS API Documentation
1369
+ #
1370
+ # @overload export_q_app_session_data(params = {})
1371
+ # @param [Hash] params ({})
1372
+ def export_q_app_session_data(params = {}, options = {})
1373
+ req = build_request(:export_q_app_session_data, params)
1374
+ req.send_request(options)
1375
+ end
1376
+
982
1377
  # Retrieves details about a library item for an Amazon Q App, including
983
1378
  # its metadata, categories, ratings, and usage statistics.
984
1379
  #
@@ -1063,6 +1458,8 @@ module Aws::QApps
1063
1458
  # resp.categories #=> Array
1064
1459
  # resp.categories[0].id #=> String
1065
1460
  # resp.categories[0].title #=> String
1461
+ # resp.categories[0].color #=> String
1462
+ # resp.categories[0].app_count #=> Integer
1066
1463
  # resp.status #=> String
1067
1464
  # resp.created_at #=> Time
1068
1465
  # resp.created_by #=> String
@@ -1092,6 +1489,9 @@ module Aws::QApps
1092
1489
  # @option params [required, String] :app_id
1093
1490
  # The unique identifier of the Q App to retrieve.
1094
1491
  #
1492
+ # @option params [Integer] :app_version
1493
+ # The version of the Q App.
1494
+ #
1095
1495
  # @return [Types::GetQAppOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1096
1496
  #
1097
1497
  # * {Types::GetQAppOutput#app_id #app_id} => String
@@ -1160,6 +1560,7 @@ module Aws::QApps
1160
1560
  # resp = client.get_q_app({
1161
1561
  # instance_id: "InstanceId", # required
1162
1562
  # app_id: "UUID", # required
1563
+ # app_version: 1,
1163
1564
  # })
1164
1565
  #
1165
1566
  # @example Response structure
@@ -1183,14 +1584,14 @@ module Aws::QApps
1183
1584
  # resp.app_definition.cards[0].text_input.title #=> String
1184
1585
  # resp.app_definition.cards[0].text_input.dependencies #=> Array
1185
1586
  # resp.app_definition.cards[0].text_input.dependencies[0] #=> String
1186
- # resp.app_definition.cards[0].text_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
1587
+ # resp.app_definition.cards[0].text_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1187
1588
  # resp.app_definition.cards[0].text_input.placeholder #=> String
1188
1589
  # resp.app_definition.cards[0].text_input.default_value #=> String
1189
1590
  # resp.app_definition.cards[0].q_query.id #=> String
1190
1591
  # resp.app_definition.cards[0].q_query.title #=> String
1191
1592
  # resp.app_definition.cards[0].q_query.dependencies #=> Array
1192
1593
  # resp.app_definition.cards[0].q_query.dependencies[0] #=> String
1193
- # resp.app_definition.cards[0].q_query.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
1594
+ # resp.app_definition.cards[0].q_query.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1194
1595
  # resp.app_definition.cards[0].q_query.prompt #=> String
1195
1596
  # resp.app_definition.cards[0].q_query.output_source #=> String, one of "approved-sources", "llm"
1196
1597
  # resp.app_definition.cards[0].q_query.attribute_filter.and_all_filters #=> Array
@@ -1240,11 +1641,13 @@ module Aws::QApps
1240
1641
  # resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.string_list_value[0] #=> String
1241
1642
  # resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.long_value #=> Integer
1242
1643
  # resp.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.date_value #=> Time
1644
+ # resp.app_definition.cards[0].q_query.memory_references #=> Array
1645
+ # resp.app_definition.cards[0].q_query.memory_references[0] #=> String
1243
1646
  # resp.app_definition.cards[0].q_plugin.id #=> String
1244
1647
  # resp.app_definition.cards[0].q_plugin.title #=> String
1245
1648
  # resp.app_definition.cards[0].q_plugin.dependencies #=> Array
1246
1649
  # resp.app_definition.cards[0].q_plugin.dependencies[0] #=> String
1247
- # resp.app_definition.cards[0].q_plugin.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
1650
+ # resp.app_definition.cards[0].q_plugin.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1248
1651
  # resp.app_definition.cards[0].q_plugin.prompt #=> String
1249
1652
  # resp.app_definition.cards[0].q_plugin.plugin_type #=> String, one of "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM"
1250
1653
  # resp.app_definition.cards[0].q_plugin.plugin_id #=> String
@@ -1252,10 +1655,16 @@ module Aws::QApps
1252
1655
  # resp.app_definition.cards[0].file_upload.title #=> String
1253
1656
  # resp.app_definition.cards[0].file_upload.dependencies #=> Array
1254
1657
  # resp.app_definition.cards[0].file_upload.dependencies[0] #=> String
1255
- # resp.app_definition.cards[0].file_upload.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
1658
+ # resp.app_definition.cards[0].file_upload.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1256
1659
  # resp.app_definition.cards[0].file_upload.filename #=> String
1257
1660
  # resp.app_definition.cards[0].file_upload.file_id #=> String
1258
1661
  # resp.app_definition.cards[0].file_upload.allow_override #=> Boolean
1662
+ # resp.app_definition.cards[0].form_input.id #=> String
1663
+ # resp.app_definition.cards[0].form_input.title #=> String
1664
+ # resp.app_definition.cards[0].form_input.dependencies #=> Array
1665
+ # resp.app_definition.cards[0].form_input.dependencies[0] #=> String
1666
+ # resp.app_definition.cards[0].form_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1667
+ # resp.app_definition.cards[0].form_input.compute_mode #=> String, one of "append", "replace"
1259
1668
  # resp.app_definition.can_edit #=> Boolean
1260
1669
  #
1261
1670
  # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQApp AWS API Documentation
@@ -1281,37 +1690,86 @@ module Aws::QApps
1281
1690
  #
1282
1691
  # * {Types::GetQAppSessionOutput#session_id #session_id} => String
1283
1692
  # * {Types::GetQAppSessionOutput#session_arn #session_arn} => String
1693
+ # * {Types::GetQAppSessionOutput#session_name #session_name} => String
1694
+ # * {Types::GetQAppSessionOutput#app_version #app_version} => Integer
1695
+ # * {Types::GetQAppSessionOutput#latest_published_app_version #latest_published_app_version} => Integer
1284
1696
  # * {Types::GetQAppSessionOutput#status #status} => String
1285
1697
  # * {Types::GetQAppSessionOutput#card_status #card_status} => Hash&lt;String,Types::CardStatus&gt;
1698
+ # * {Types::GetQAppSessionOutput#user_is_host #user_is_host} => Boolean
1286
1699
  #
1287
- #
1288
- # @example Example: Retrieves an existing session for an Amazon Q App
1700
+ # @example Request syntax with placeholder values
1289
1701
  #
1290
1702
  # resp = client.get_q_app_session({
1291
- # instance_id: "288ae830-1df2-4871-b6c0-4314d74dadef",
1292
- # session_id: "1fca878e-64c5-4dc4-b1d9-c93effed4e82",
1703
+ # instance_id: "InstanceId", # required
1704
+ # session_id: "UUID", # required
1705
+ # })
1706
+ #
1707
+ # @example Response structure
1708
+ #
1709
+ # resp.session_id #=> String
1710
+ # resp.session_arn #=> String
1711
+ # resp.session_name #=> String
1712
+ # resp.app_version #=> Integer
1713
+ # resp.latest_published_app_version #=> Integer
1714
+ # resp.status #=> String, one of "IN_PROGRESS", "WAITING", "COMPLETED", "ERROR"
1715
+ # resp.card_status #=> Hash
1716
+ # resp.card_status["UUID"].current_state #=> String, one of "IN_PROGRESS", "WAITING", "COMPLETED", "ERROR"
1717
+ # resp.card_status["UUID"].current_value #=> String
1718
+ # resp.card_status["UUID"].submissions #=> Array
1719
+ # resp.card_status["UUID"].submissions[0].submission_id #=> String
1720
+ # resp.card_status["UUID"].submissions[0].timestamp #=> Time
1721
+ # resp.user_is_host #=> Boolean
1722
+ #
1723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQAppSession AWS API Documentation
1724
+ #
1725
+ # @overload get_q_app_session(params = {})
1726
+ # @param [Hash] params ({})
1727
+ def get_q_app_session(params = {}, options = {})
1728
+ req = build_request(:get_q_app_session, params)
1729
+ req.send_request(options)
1730
+ end
1731
+
1732
+ # Retrieves the current configuration of a Q App session.
1733
+ #
1734
+ # @option params [required, String] :instance_id
1735
+ # The unique identifier of the Amazon Q Business application environment
1736
+ # instance.
1737
+ #
1738
+ # @option params [required, String] :session_id
1739
+ # The unique identifier of the Q App session.
1740
+ #
1741
+ # @return [Types::GetQAppSessionMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1742
+ #
1743
+ # * {Types::GetQAppSessionMetadataOutput#session_id #session_id} => String
1744
+ # * {Types::GetQAppSessionMetadataOutput#session_arn #session_arn} => String
1745
+ # * {Types::GetQAppSessionMetadataOutput#session_name #session_name} => String
1746
+ # * {Types::GetQAppSessionMetadataOutput#sharing_configuration #sharing_configuration} => Types::SessionSharingConfiguration
1747
+ # * {Types::GetQAppSessionMetadataOutput#session_owner #session_owner} => Boolean
1748
+ #
1749
+ #
1750
+ # @example Example: Retrieves an existing session metadata for an Amazon Q App
1751
+ #
1752
+ # resp = client.get_q_app_session_metadata({
1753
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
1754
+ # session_id: "56ae47c3-10bc-4c2c-8b27-9b9fe23b3edb",
1293
1755
  # })
1294
1756
  #
1295
1757
  # resp.to_h outputs the following:
1296
1758
  # {
1297
- # card_status: {
1298
- # "1e6caeac-b481-45ff-a082-8b9a4a0b72e8" => {
1299
- # current_state: "COMPLETED",
1300
- # current_value: "Earth's circumference is 24,901 miles",
1301
- # },
1302
- # "6fb5b404-3b7b-48a4-8a8b-56406922a606" => {
1303
- # current_state: "COMPLETED",
1304
- # current_value: "What is the circumference of Earth?",
1305
- # },
1759
+ # session_arn: "arn:aws:qapps:us-west-2:0123456789012:application/cbea8329-41c0-4566-a112-19250921a220/qapp/387ccac9-4717-489f-841f-729b7d7de355/session/56ae47c3-10bc-4c2c-8b27-9b9fe23b3edb",
1760
+ # session_id: "56ae47c3-10bc-4c2c-8b27-9b9fe23b3edb",
1761
+ # session_name: "Trip itinerary collection session",
1762
+ # session_owner: true,
1763
+ # sharing_configuration: {
1764
+ # accept_responses: true,
1765
+ # enabled: true,
1766
+ # reveal_cards: false,
1306
1767
  # },
1307
- # session_arn: "arn:aws:qapps:us-west-2:0123456789012:application/a929ecd6-5765-4ec7-bd3e-2ca90098b18e/qapp/65e7dce7-226a-47f9-b689-22850becef89/session/1fca878e-64c5-4dc4-b1d9-c93effed4e82",
1308
- # session_id: "1fca878e-64c5-4dc4-b1d9-c93effed4e82",
1309
- # status: "COMPLETED",
1310
1768
  # }
1311
1769
  #
1312
1770
  # @example Request syntax with placeholder values
1313
1771
  #
1314
- # resp = client.get_q_app_session({
1772
+ # resp = client.get_q_app_session_metadata({
1315
1773
  # instance_id: "InstanceId", # required
1316
1774
  # session_id: "UUID", # required
1317
1775
  # })
@@ -1320,17 +1778,18 @@ module Aws::QApps
1320
1778
  #
1321
1779
  # resp.session_id #=> String
1322
1780
  # resp.session_arn #=> String
1323
- # resp.status #=> String, one of "IN_PROGRESS", "WAITING", "COMPLETED"
1324
- # resp.card_status #=> Hash
1325
- # resp.card_status["UUID"].current_state #=> String, one of "IN_PROGRESS", "WAITING", "COMPLETED"
1326
- # resp.card_status["UUID"].current_value #=> String
1781
+ # resp.session_name #=> String
1782
+ # resp.sharing_configuration.enabled #=> Boolean
1783
+ # resp.sharing_configuration.accept_responses #=> Boolean
1784
+ # resp.sharing_configuration.reveal_cards #=> Boolean
1785
+ # resp.session_owner #=> Boolean
1327
1786
  #
1328
- # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQAppSession AWS API Documentation
1787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQAppSessionMetadata AWS API Documentation
1329
1788
  #
1330
- # @overload get_q_app_session(params = {})
1789
+ # @overload get_q_app_session_metadata(params = {})
1331
1790
  # @param [Hash] params ({})
1332
- def get_q_app_session(params = {}, options = {})
1333
- req = build_request(:get_q_app_session, params)
1791
+ def get_q_app_session_metadata(params = {}, options = {})
1792
+ req = build_request(:get_q_app_session_metadata, params)
1334
1793
  req.send_request(options)
1335
1794
  end
1336
1795
 
@@ -1345,8 +1804,7 @@ module Aws::QApps
1345
1804
  # instance.
1346
1805
  #
1347
1806
  # @option params [required, String] :card_id
1348
- # The unique identifier of the card the file is associated with, if
1349
- # applicable.
1807
+ # The unique identifier of the card the file is associated with.
1350
1808
  #
1351
1809
  # @option params [required, String] :app_id
1352
1810
  # The unique identifier of the Q App the file is associated with.
@@ -1358,8 +1816,8 @@ module Aws::QApps
1358
1816
  # The name of the file being uploaded.
1359
1817
  #
1360
1818
  # @option params [required, String] :scope
1361
- # Whether the file is associated with an Q App definition or a specific
1362
- # Q App session.
1819
+ # Whether the file is associated with a Q App definition or a specific Q
1820
+ # App session.
1363
1821
  #
1364
1822
  # @option params [String] :session_id
1365
1823
  # The unique identifier of the Q App session the file is associated
@@ -1428,6 +1886,70 @@ module Aws::QApps
1428
1886
  req.send_request(options)
1429
1887
  end
1430
1888
 
1889
+ # Lists the categories of a Amazon Q Business application environment
1890
+ # instance. For more information, see [Custom labels for Amazon Q
1891
+ # Apps][1].
1892
+ #
1893
+ #
1894
+ #
1895
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/qapps-custom-labels.html
1896
+ #
1897
+ # @option params [required, String] :instance_id
1898
+ # The unique identifier of the Amazon Q Business application environment
1899
+ # instance.
1900
+ #
1901
+ # @return [Types::ListCategoriesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1902
+ #
1903
+ # * {Types::ListCategoriesOutput#categories #categories} => Array&lt;Types::Category&gt;
1904
+ #
1905
+ #
1906
+ # @example Example: List categories available for the library items in this instance
1907
+ #
1908
+ # resp = client.list_categories({
1909
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
1910
+ # })
1911
+ #
1912
+ # resp.to_h outputs the following:
1913
+ # {
1914
+ # categories: [
1915
+ # {
1916
+ # app_count: 10,
1917
+ # color: "#FF6600",
1918
+ # id: "549abfe0-f5c4-45a2-bb9b-c05987a49c6d",
1919
+ # title: "HR",
1920
+ # },
1921
+ # {
1922
+ # app_count: 11,
1923
+ # color: "#FFFF00",
1924
+ # id: "18cbebaa-196a-4aa5-a840-88d548e07f8f",
1925
+ # title: "Marketing",
1926
+ # },
1927
+ # ],
1928
+ # }
1929
+ #
1930
+ # @example Request syntax with placeholder values
1931
+ #
1932
+ # resp = client.list_categories({
1933
+ # instance_id: "InstanceId", # required
1934
+ # })
1935
+ #
1936
+ # @example Response structure
1937
+ #
1938
+ # resp.categories #=> Array
1939
+ # resp.categories[0].id #=> String
1940
+ # resp.categories[0].title #=> String
1941
+ # resp.categories[0].color #=> String
1942
+ # resp.categories[0].app_count #=> Integer
1943
+ #
1944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListCategories AWS API Documentation
1945
+ #
1946
+ # @overload list_categories(params = {})
1947
+ # @param [Hash] params ({})
1948
+ def list_categories(params = {}, options = {})
1949
+ req = build_request(:list_categories, params)
1950
+ req.send_request(options)
1951
+ end
1952
+
1431
1953
  # Lists the library items for Amazon Q Apps that are published and
1432
1954
  # available for users in your Amazon Web Services account.
1433
1955
  #
@@ -1548,6 +2070,8 @@ module Aws::QApps
1548
2070
  # resp.library_items[0].categories #=> Array
1549
2071
  # resp.library_items[0].categories[0].id #=> String
1550
2072
  # resp.library_items[0].categories[0].title #=> String
2073
+ # resp.library_items[0].categories[0].color #=> String
2074
+ # resp.library_items[0].categories[0].app_count #=> Integer
1551
2075
  # resp.library_items[0].status #=> String
1552
2076
  # resp.library_items[0].created_at #=> Time
1553
2077
  # resp.library_items[0].created_by #=> String
@@ -1568,6 +2092,49 @@ module Aws::QApps
1568
2092
  req.send_request(options)
1569
2093
  end
1570
2094
 
2095
+ # Lists the collected data of a Q App data collection session.
2096
+ #
2097
+ # @option params [required, String] :instance_id
2098
+ # The unique identifier of the Amazon Q Business application environment
2099
+ # instance.
2100
+ #
2101
+ # @option params [required, String] :session_id
2102
+ # The unique identifier of the Q App data collection session.
2103
+ #
2104
+ # @return [Types::ListQAppSessionDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2105
+ #
2106
+ # * {Types::ListQAppSessionDataOutput#session_id #session_id} => String
2107
+ # * {Types::ListQAppSessionDataOutput#session_arn #session_arn} => String
2108
+ # * {Types::ListQAppSessionDataOutput#session_data #session_data} => Array&lt;Types::QAppSessionData&gt;
2109
+ # * {Types::ListQAppSessionDataOutput#next_token #next_token} => String
2110
+ #
2111
+ # @example Request syntax with placeholder values
2112
+ #
2113
+ # resp = client.list_q_app_session_data({
2114
+ # instance_id: "InstanceId", # required
2115
+ # session_id: "UUID", # required
2116
+ # })
2117
+ #
2118
+ # @example Response structure
2119
+ #
2120
+ # resp.session_id #=> String
2121
+ # resp.session_arn #=> String
2122
+ # resp.session_data #=> Array
2123
+ # resp.session_data[0].card_id #=> String
2124
+ # resp.session_data[0].user.user_id #=> String
2125
+ # resp.session_data[0].submission_id #=> String
2126
+ # resp.session_data[0].timestamp #=> Time
2127
+ # resp.next_token #=> String
2128
+ #
2129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListQAppSessionData AWS API Documentation
2130
+ #
2131
+ # @overload list_q_app_session_data(params = {})
2132
+ # @param [Hash] params ({})
2133
+ def list_q_app_session_data(params = {}, options = {})
2134
+ req = build_request(:list_q_app_session_data, params)
2135
+ req.send_request(options)
2136
+ end
2137
+
1571
2138
  # Lists the Amazon Q Apps owned by or associated with the user either
1572
2139
  # because they created it or because they used it from the library in
1573
2140
  # the past. The user identity is extracted from the credentials used to
@@ -1788,12 +2355,12 @@ module Aws::QApps
1788
2355
  # resp.app.app_definition.cards #=> Array
1789
2356
  # resp.app.app_definition.cards[0].text_input.title #=> String
1790
2357
  # resp.app.app_definition.cards[0].text_input.id #=> String
1791
- # resp.app.app_definition.cards[0].text_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
2358
+ # resp.app.app_definition.cards[0].text_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1792
2359
  # resp.app.app_definition.cards[0].text_input.placeholder #=> String
1793
2360
  # resp.app.app_definition.cards[0].text_input.default_value #=> String
1794
2361
  # resp.app.app_definition.cards[0].q_query.title #=> String
1795
2362
  # resp.app.app_definition.cards[0].q_query.id #=> String
1796
- # resp.app.app_definition.cards[0].q_query.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
2363
+ # resp.app.app_definition.cards[0].q_query.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1797
2364
  # resp.app.app_definition.cards[0].q_query.prompt #=> String
1798
2365
  # resp.app.app_definition.cards[0].q_query.output_source #=> String, one of "approved-sources", "llm"
1799
2366
  # resp.app.app_definition.cards[0].q_query.attribute_filter.and_all_filters #=> Array
@@ -1845,15 +2412,19 @@ module Aws::QApps
1845
2412
  # resp.app.app_definition.cards[0].q_query.attribute_filter.less_than_or_equals.value.date_value #=> Time
1846
2413
  # resp.app.app_definition.cards[0].q_plugin.title #=> String
1847
2414
  # resp.app.app_definition.cards[0].q_plugin.id #=> String
1848
- # resp.app.app_definition.cards[0].q_plugin.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
2415
+ # resp.app.app_definition.cards[0].q_plugin.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1849
2416
  # resp.app.app_definition.cards[0].q_plugin.prompt #=> String
1850
2417
  # resp.app.app_definition.cards[0].q_plugin.plugin_id #=> String
1851
2418
  # resp.app.app_definition.cards[0].file_upload.title #=> String
1852
2419
  # resp.app.app_definition.cards[0].file_upload.id #=> String
1853
- # resp.app.app_definition.cards[0].file_upload.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin"
2420
+ # resp.app.app_definition.cards[0].file_upload.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
1854
2421
  # resp.app.app_definition.cards[0].file_upload.filename #=> String
1855
2422
  # resp.app.app_definition.cards[0].file_upload.file_id #=> String
1856
2423
  # resp.app.app_definition.cards[0].file_upload.allow_override #=> Boolean
2424
+ # resp.app.app_definition.cards[0].form_input.title #=> String
2425
+ # resp.app.app_definition.cards[0].form_input.id #=> String
2426
+ # resp.app.app_definition.cards[0].form_input.type #=> String, one of "text-input", "q-query", "file-upload", "q-plugin", "form-input"
2427
+ # resp.app.app_definition.cards[0].form_input.compute_mode #=> String, one of "append", "replace"
1857
2428
  # resp.app.app_definition.initial_prompt #=> String
1858
2429
  # resp.problem_statement #=> String
1859
2430
  #
@@ -1887,6 +2458,9 @@ module Aws::QApps
1887
2458
  # @option params [Array<Types::CardValue>] :initial_values
1888
2459
  # Optional initial input values to provide for the Q App session.
1889
2460
  #
2461
+ # @option params [String] :session_id
2462
+ # The unique identifier of the a Q App session.
2463
+ #
1890
2464
  # @option params [Hash<String,String>] :tags
1891
2465
  # Optional tags to associate with the new Q App session.
1892
2466
  #
@@ -1926,8 +2500,13 @@ module Aws::QApps
1926
2500
  # {
1927
2501
  # card_id: "UUID", # required
1928
2502
  # value: "CardValueValueString", # required
2503
+ # submission_mutation: {
2504
+ # submission_id: "UUID", # required
2505
+ # mutation_type: "edit", # required, accepts edit, delete, add
2506
+ # },
1929
2507
  # },
1930
2508
  # ],
2509
+ # session_id: "String",
1931
2510
  # tags: {
1932
2511
  # "String" => "String",
1933
2512
  # },
@@ -2137,6 +2716,8 @@ module Aws::QApps
2137
2716
  # resp.categories #=> Array
2138
2717
  # resp.categories[0].id #=> String
2139
2718
  # resp.categories[0].title #=> String
2719
+ # resp.categories[0].color #=> String
2720
+ # resp.categories[0].app_count #=> Integer
2140
2721
  # resp.status #=> String
2141
2722
  # resp.created_at #=> Time
2142
2723
  # resp.created_by #=> String
@@ -2303,14 +2884,14 @@ module Aws::QApps
2303
2884
  # text_input: {
2304
2885
  # title: "Title", # required
2305
2886
  # id: "UUID", # required
2306
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
2887
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
2307
2888
  # placeholder: "Placeholder",
2308
2889
  # default_value: "Default",
2309
2890
  # },
2310
2891
  # q_query: {
2311
2892
  # title: "Title", # required
2312
2893
  # id: "UUID", # required
2313
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
2894
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
2314
2895
  # prompt: "Prompt", # required
2315
2896
  # output_source: "approved-sources", # accepts approved-sources, llm
2316
2897
  # attribute_filter: {
@@ -2395,18 +2976,28 @@ module Aws::QApps
2395
2976
  # q_plugin: {
2396
2977
  # title: "Title", # required
2397
2978
  # id: "UUID", # required
2398
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
2979
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
2399
2980
  # prompt: "Prompt", # required
2400
2981
  # plugin_id: "PluginId", # required
2401
2982
  # },
2402
2983
  # file_upload: {
2403
2984
  # title: "Title", # required
2404
2985
  # id: "UUID", # required
2405
- # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin
2986
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
2406
2987
  # filename: "Filename",
2407
2988
  # file_id: "UUID",
2408
2989
  # allow_override: false,
2409
2990
  # },
2991
+ # form_input: {
2992
+ # title: "Title", # required
2993
+ # id: "UUID", # required
2994
+ # type: "text-input", # required, accepts text-input, q-query, file-upload, q-plugin, form-input
2995
+ # metadata: { # required
2996
+ # schema: { # required
2997
+ # },
2998
+ # },
2999
+ # compute_mode: "append", # accepts append, replace
3000
+ # },
2410
3001
  # },
2411
3002
  # ],
2412
3003
  # initial_prompt: "InitialPrompt",
@@ -2438,6 +3029,131 @@ module Aws::QApps
2438
3029
  req.send_request(options)
2439
3030
  end
2440
3031
 
3032
+ # Updates read permissions for a Amazon Q App in Amazon Q Business
3033
+ # application environment instance.
3034
+ #
3035
+ # @option params [required, String] :instance_id
3036
+ # The unique identifier of the Amazon Q Business application environment
3037
+ # instance.
3038
+ #
3039
+ # @option params [required, String] :app_id
3040
+ # The unique identifier of the Amazon Q App for which permissions are
3041
+ # being updated.
3042
+ #
3043
+ # @option params [Array<Types::PermissionInput>] :grant_permissions
3044
+ # The list of permissions to grant for the Amazon Q App.
3045
+ #
3046
+ # @option params [Array<Types::PermissionInput>] :revoke_permissions
3047
+ # The list of permissions to revoke for the Amazon Q App.
3048
+ #
3049
+ # @return [Types::UpdateQAppPermissionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3050
+ #
3051
+ # * {Types::UpdateQAppPermissionsOutput#resource_arn #resource_arn} => String
3052
+ # * {Types::UpdateQAppPermissionsOutput#app_id #app_id} => String
3053
+ # * {Types::UpdateQAppPermissionsOutput#permissions #permissions} => Array&lt;Types::PermissionOutput&gt;
3054
+ #
3055
+ #
3056
+ # @example Example: Grant permissions for the app
3057
+ #
3058
+ # resp = client.update_q_app_permissions({
3059
+ # app_id: "fe0acf86-49e5-4def-a0c2-40ce0cafee14",
3060
+ # grant_permissions: [
3061
+ # {
3062
+ # action: "read",
3063
+ # principal: "user2@example.com",
3064
+ # },
3065
+ # ],
3066
+ # instance_id: "01793661-ad73-4c7d-8eaa-1c95a10151c2",
3067
+ # })
3068
+ #
3069
+ # resp.to_h outputs the following:
3070
+ # {
3071
+ # app_id: "fe0acf86-49e5-4def-a0c2-40ce0cafee14",
3072
+ # permissions: [
3073
+ # {
3074
+ # action: "write",
3075
+ # principal: {
3076
+ # email: "user1@example.com",
3077
+ # user_id: "f8f15330-b091-708b-d46e-adb0d914b699",
3078
+ # },
3079
+ # },
3080
+ # {
3081
+ # action: "read",
3082
+ # principal: {
3083
+ # email: "user2@example.com",
3084
+ # user_id: "c81133d0-10d1-70eb-aaa3-d427ea6fc0f3",
3085
+ # },
3086
+ # },
3087
+ # ],
3088
+ # resource_arn: "arn:aws:qapps:us-west-2:111111111111:application/01793661-ad73-4c7d-8eaa-1c95a10151c2/qapp/fe0acf86-49e5-4def-a0c2-40ce0cafee14",
3089
+ # }
3090
+ #
3091
+ # @example Example: Revoke permissions for the app
3092
+ #
3093
+ # resp = client.update_q_app_permissions({
3094
+ # app_id: "fe0acf86-49e5-4def-a0c2-40ce0cafee14",
3095
+ # instance_id: "01793661-ad73-4c7d-8eaa-1c95a10151c2",
3096
+ # revoke_permissions: [
3097
+ # {
3098
+ # action: "read",
3099
+ # principal: "user2@example.com",
3100
+ # },
3101
+ # ],
3102
+ # })
3103
+ #
3104
+ # resp.to_h outputs the following:
3105
+ # {
3106
+ # app_id: "fe0acf86-49e5-4def-a0c2-40ce0cafee14",
3107
+ # permissions: [
3108
+ # {
3109
+ # action: "write",
3110
+ # principal: {
3111
+ # email: "user1@example.com",
3112
+ # user_id: "f8f15330-b091-708b-d46e-adb0d914b699",
3113
+ # },
3114
+ # },
3115
+ # ],
3116
+ # resource_arn: "arn:aws:qapps:us-west-2:111111111111:application/01793661-ad73-4c7d-8eaa-1c95a10151c2/qapp/fe0acf86-49e5-4def-a0c2-40ce0cafee14",
3117
+ # }
3118
+ #
3119
+ # @example Request syntax with placeholder values
3120
+ #
3121
+ # resp = client.update_q_app_permissions({
3122
+ # instance_id: "InstanceId", # required
3123
+ # app_id: "UUID", # required
3124
+ # grant_permissions: [
3125
+ # {
3126
+ # action: "read", # required, accepts read, write
3127
+ # principal: "PermissionInputPrincipalString", # required
3128
+ # },
3129
+ # ],
3130
+ # revoke_permissions: [
3131
+ # {
3132
+ # action: "read", # required, accepts read, write
3133
+ # principal: "PermissionInputPrincipalString", # required
3134
+ # },
3135
+ # ],
3136
+ # })
3137
+ #
3138
+ # @example Response structure
3139
+ #
3140
+ # resp.resource_arn #=> String
3141
+ # resp.app_id #=> String
3142
+ # resp.permissions #=> Array
3143
+ # resp.permissions[0].action #=> String, one of "read", "write"
3144
+ # resp.permissions[0].principal.user_id #=> String
3145
+ # resp.permissions[0].principal.user_type #=> String, one of "owner", "user"
3146
+ # resp.permissions[0].principal.email #=> String
3147
+ #
3148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateQAppPermissions AWS API Documentation
3149
+ #
3150
+ # @overload update_q_app_permissions(params = {})
3151
+ # @param [Hash] params ({})
3152
+ def update_q_app_permissions(params = {}, options = {})
3153
+ req = build_request(:update_q_app_permissions, params)
3154
+ req.send_request(options)
3155
+ end
3156
+
2441
3157
  # Updates the session for a given Q App `sessionId`. This is only valid
2442
3158
  # when at least one card of the session is in the `WAITING` state. Data
2443
3159
  # for each `WAITING` card can be provided as input. If inputs are not
@@ -2469,6 +3185,10 @@ module Aws::QApps
2469
3185
  # {
2470
3186
  # card_id: "UUID", # required
2471
3187
  # value: "CardValueValueString", # required
3188
+ # submission_mutation: {
3189
+ # submission_id: "UUID", # required
3190
+ # mutation_type: "edit", # required, accepts edit, delete, add
3191
+ # },
2472
3192
  # },
2473
3193
  # ],
2474
3194
  # })
@@ -2487,6 +3207,87 @@ module Aws::QApps
2487
3207
  req.send_request(options)
2488
3208
  end
2489
3209
 
3210
+ # Updates the configuration metadata of a session for a given Q App
3211
+ # `sessionId`.
3212
+ #
3213
+ # @option params [required, String] :instance_id
3214
+ # The unique identifier of the Amazon Q Business application environment
3215
+ # instance.
3216
+ #
3217
+ # @option params [required, String] :session_id
3218
+ # The unique identifier of the Q App session to update configuration
3219
+ # for.
3220
+ #
3221
+ # @option params [String] :session_name
3222
+ # The new name for the Q App session.
3223
+ #
3224
+ # @option params [required, Types::SessionSharingConfiguration] :sharing_configuration
3225
+ # The new sharing configuration for the Q App data collection session.
3226
+ #
3227
+ # @return [Types::UpdateQAppSessionMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3228
+ #
3229
+ # * {Types::UpdateQAppSessionMetadataOutput#session_id #session_id} => String
3230
+ # * {Types::UpdateQAppSessionMetadataOutput#session_arn #session_arn} => String
3231
+ # * {Types::UpdateQAppSessionMetadataOutput#session_name #session_name} => String
3232
+ # * {Types::UpdateQAppSessionMetadataOutput#sharing_configuration #sharing_configuration} => Types::SessionSharingConfiguration
3233
+ #
3234
+ #
3235
+ # @example Example: Updates an existing session metadata for an Amazon Q App
3236
+ #
3237
+ # resp = client.update_q_app_session_metadata({
3238
+ # instance_id: "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f",
3239
+ # session_id: "56ae47c3-10bc-4c2c-8b27-9b9fe23b3edb",
3240
+ # session_name: "Trip itinerary collection session",
3241
+ # sharing_configuration: {
3242
+ # accept_responses: true,
3243
+ # enabled: true,
3244
+ # reveal_cards: false,
3245
+ # },
3246
+ # })
3247
+ #
3248
+ # resp.to_h outputs the following:
3249
+ # {
3250
+ # session_arn: "arn:aws:qapps:us-west-2:0123456789012:application/cbea8329-41c0-4566-a112-19250921a220/qapp/387ccac9-4717-489f-841f-729b7d7de355/session/56ae47c3-10bc-4c2c-8b27-9b9fe23b3edb",
3251
+ # session_id: "56ae47c3-10bc-4c2c-8b27-9b9fe23b3edb",
3252
+ # session_name: "Trip itinerary collection session",
3253
+ # sharing_configuration: {
3254
+ # accept_responses: true,
3255
+ # enabled: true,
3256
+ # reveal_cards: false,
3257
+ # },
3258
+ # }
3259
+ #
3260
+ # @example Request syntax with placeholder values
3261
+ #
3262
+ # resp = client.update_q_app_session_metadata({
3263
+ # instance_id: "InstanceId", # required
3264
+ # session_id: "UUID", # required
3265
+ # session_name: "SessionName",
3266
+ # sharing_configuration: { # required
3267
+ # enabled: false, # required
3268
+ # accept_responses: false,
3269
+ # reveal_cards: false,
3270
+ # },
3271
+ # })
3272
+ #
3273
+ # @example Response structure
3274
+ #
3275
+ # resp.session_id #=> String
3276
+ # resp.session_arn #=> String
3277
+ # resp.session_name #=> String
3278
+ # resp.sharing_configuration.enabled #=> Boolean
3279
+ # resp.sharing_configuration.accept_responses #=> Boolean
3280
+ # resp.sharing_configuration.reveal_cards #=> Boolean
3281
+ #
3282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateQAppSessionMetadata AWS API Documentation
3283
+ #
3284
+ # @overload update_q_app_session_metadata(params = {})
3285
+ # @param [Hash] params ({})
3286
+ def update_q_app_session_metadata(params = {}, options = {})
3287
+ req = build_request(:update_q_app_session_metadata, params)
3288
+ req.send_request(options)
3289
+ end
3290
+
2490
3291
  # @!endgroup
2491
3292
 
2492
3293
  # @param params ({})
@@ -2505,7 +3306,7 @@ module Aws::QApps
2505
3306
  tracer: tracer
2506
3307
  )
2507
3308
  context[:gem_name] = 'aws-sdk-qapps'
2508
- context[:gem_version] = '1.8.0'
3309
+ context[:gem_version] = '1.10.0'
2509
3310
  Seahorse::Client::Request.new(handlers, context)
2510
3311
  end
2511
3312