aws-sdk-qapps 1.8.0 → 1.10.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.
@@ -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