aws-sdk-qconnect 1.24.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -540,6 +540,7 @@ module Aws::QConnect
540
540
  # client_token: "ClientToken",
541
541
  # configuration: { # required
542
542
  # answer_recommendation_ai_agent_configuration: {
543
+ # answer_generation_ai_guardrail_id: "UuidWithQualifier",
543
544
  # answer_generation_ai_prompt_id: "UuidWithQualifier",
544
545
  # association_configurations: [
545
546
  # {
@@ -583,6 +584,7 @@ module Aws::QConnect
583
584
  # query_reformulation_ai_prompt_id: "UuidWithQualifier",
584
585
  # },
585
586
  # manual_search_ai_agent_configuration: {
587
+ # answer_generation_ai_guardrail_id: "UuidWithQualifier",
586
588
  # answer_generation_ai_prompt_id: "UuidWithQualifier",
587
589
  # association_configurations: [
588
590
  # {
@@ -623,13 +625,56 @@ module Aws::QConnect
623
625
  # },
624
626
  # ],
625
627
  # },
628
+ # self_service_ai_agent_configuration: {
629
+ # association_configurations: [
630
+ # {
631
+ # association_configuration_data: {
632
+ # knowledge_base_association_configuration_data: {
633
+ # content_tag_filter: {
634
+ # and_conditions: [
635
+ # {
636
+ # key: "TagKey", # required
637
+ # value: "TagValue",
638
+ # },
639
+ # ],
640
+ # or_conditions: [
641
+ # {
642
+ # and_conditions: [
643
+ # {
644
+ # key: "TagKey", # required
645
+ # value: "TagValue",
646
+ # },
647
+ # ],
648
+ # tag_condition: {
649
+ # key: "TagKey", # required
650
+ # value: "TagValue",
651
+ # },
652
+ # },
653
+ # ],
654
+ # tag_condition: {
655
+ # key: "TagKey", # required
656
+ # value: "TagValue",
657
+ # },
658
+ # },
659
+ # max_results: 1,
660
+ # override_knowledge_base_search_type: "HYBRID", # accepts HYBRID, SEMANTIC
661
+ # },
662
+ # },
663
+ # association_id: "Uuid",
664
+ # association_type: "KNOWLEDGE_BASE", # accepts KNOWLEDGE_BASE
665
+ # },
666
+ # ],
667
+ # self_service_ai_guardrail_id: "UuidWithQualifier",
668
+ # self_service_answer_generation_ai_prompt_id: "UuidWithQualifier",
669
+ # self_service_pre_processing_ai_prompt_id: "UuidWithQualifier",
670
+ # },
626
671
  # },
627
672
  # description: "Description",
628
673
  # name: "Name", # required
629
674
  # tags: {
630
675
  # "TagKey" => "TagValue",
631
676
  # },
632
- # type: "MANUAL_SEARCH", # required, accepts MANUAL_SEARCH, ANSWER_RECOMMENDATION
677
+ # type: "MANUAL_SEARCH", # required, accepts MANUAL_SEARCH, ANSWER_RECOMMENDATION, SELF_SERVICE
633
678
  # visibility_status: "SAVED", # required, accepts SAVED, PUBLISHED
634
679
  # })
635
680
  #
@@ -639,6 +684,7 @@ module Aws::QConnect
639
684
  # resp.ai_agent.ai_agent_id #=> String
640
685
  # resp.ai_agent.assistant_arn #=> String
641
686
  # resp.ai_agent.assistant_id #=> String
687
+ # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
642
688
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
643
689
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations #=> Array
644
690
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -658,6 +704,7 @@ module Aws::QConnect
658
704
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
659
705
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.intent_labeling_generation_ai_prompt_id #=> String
660
706
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.query_reformulation_ai_prompt_id #=> String
707
+ # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
661
708
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
662
709
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations #=> Array
663
710
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -675,6 +722,25 @@ module Aws::QConnect
675
722
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
676
723
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_id #=> String
677
724
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
725
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations #=> Array
726
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
727
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].key #=> String
728
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].value #=> String
729
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions #=> Array
730
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions #=> Array
731
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].key #=> String
732
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].value #=> String
733
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.key #=> String
734
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.value #=> String
735
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.key #=> String
736
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.value #=> String
737
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.max_results #=> Integer
738
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
739
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_id #=> String
740
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
741
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_ai_guardrail_id #=> String
742
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_answer_generation_ai_prompt_id #=> String
743
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_pre_processing_ai_prompt_id #=> String
678
744
  # resp.ai_agent.description #=> String
679
745
  # resp.ai_agent.modified_time #=> Time
680
746
  # resp.ai_agent.name #=> String
@@ -682,7 +748,7 @@ module Aws::QConnect
682
748
  # resp.ai_agent.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
683
749
  # resp.ai_agent.tags #=> Hash
684
750
  # resp.ai_agent.tags["TagKey"] #=> String
685
- # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION"
751
+ # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE"
686
752
  # resp.ai_agent.visibility_status #=> String, one of "SAVED", "PUBLISHED"
687
753
  #
688
754
  # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/CreateAIAgent AWS API Documentation
@@ -744,6 +810,7 @@ module Aws::QConnect
744
810
  # resp.ai_agent.ai_agent_id #=> String
745
811
  # resp.ai_agent.assistant_arn #=> String
746
812
  # resp.ai_agent.assistant_id #=> String
813
+ # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
747
814
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
748
815
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations #=> Array
749
816
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -763,6 +830,7 @@ module Aws::QConnect
763
830
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
764
831
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.intent_labeling_generation_ai_prompt_id #=> String
765
832
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.query_reformulation_ai_prompt_id #=> String
833
+ # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
766
834
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
767
835
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations #=> Array
768
836
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -780,6 +848,25 @@ module Aws::QConnect
780
848
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
781
849
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_id #=> String
782
850
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
851
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations #=> Array
852
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
853
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].key #=> String
854
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].value #=> String
855
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions #=> Array
856
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions #=> Array
857
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].key #=> String
858
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].value #=> String
859
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.key #=> String
860
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.value #=> String
861
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.key #=> String
862
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.value #=> String
863
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.max_results #=> Integer
864
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
865
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_id #=> String
866
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
867
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_ai_guardrail_id #=> String
868
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_answer_generation_ai_prompt_id #=> String
869
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_pre_processing_ai_prompt_id #=> String
783
870
  # resp.ai_agent.description #=> String
784
871
  # resp.ai_agent.modified_time #=> Time
785
872
  # resp.ai_agent.name #=> String
@@ -787,7 +874,7 @@ module Aws::QConnect
787
874
  # resp.ai_agent.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
788
875
  # resp.ai_agent.tags #=> Hash
789
876
  # resp.ai_agent.tags["TagKey"] #=> String
790
- # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION"
877
+ # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE"
791
878
  # resp.ai_agent.visibility_status #=> String, one of "SAVED", "PUBLISHED"
792
879
  # resp.version_number #=> Integer
793
880
  #
@@ -800,6 +887,273 @@ module Aws::QConnect
800
887
  req.send_request(options)
801
888
  end
802
889
 
890
+ # Creates an Amazon Q in Connect AI Guardrail.
891
+ #
892
+ # @option params [required, String] :assistant_id
893
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
894
+ # ID or the ARN. URLs cannot contain the ARN.
895
+ #
896
+ # @option params [required, String] :blocked_input_messaging
897
+ # The message to return when the AI Guardrail blocks a prompt.
898
+ #
899
+ # @option params [required, String] :blocked_outputs_messaging
900
+ # The message to return when the AI Guardrail blocks a model response.
901
+ #
902
+ # @option params [String] :client_token
903
+ # A unique, case-sensitive identifier that you provide to ensure the
904
+ # idempotency of the request. If not provided, the Amazon Web Services
905
+ # SDK populates this field. For more information about idempotency, see
906
+ # [Making retries safe with idempotent APIs][1]..
907
+ #
908
+ # **A suitable default value is auto-generated.** You should normally
909
+ # not need to pass this option.**
910
+ #
911
+ #
912
+ #
913
+ # [1]: http://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
914
+ #
915
+ # @option params [Types::AIGuardrailContentPolicyConfig] :content_policy_config
916
+ # The content filter policies to configure for the AI Guardrail.
917
+ #
918
+ # @option params [Types::AIGuardrailContextualGroundingPolicyConfig] :contextual_grounding_policy_config
919
+ # The contextual grounding policy configuration used to create an AI
920
+ # Guardrail.
921
+ #
922
+ # @option params [String] :description
923
+ # A description of the AI Guardrail.
924
+ #
925
+ # @option params [required, String] :name
926
+ # The name of the AI Guardrail.
927
+ #
928
+ # @option params [Types::AIGuardrailSensitiveInformationPolicyConfig] :sensitive_information_policy_config
929
+ # The sensitive information policy to configure for the AI Guardrail.
930
+ #
931
+ # @option params [Hash<String,String>] :tags
932
+ # The tags used to organize, track, or control access for this resource.
933
+ #
934
+ # @option params [Types::AIGuardrailTopicPolicyConfig] :topic_policy_config
935
+ # The topic policies to configure for the AI Guardrail.
936
+ #
937
+ # @option params [required, String] :visibility_status
938
+ # The visibility status of the AI Guardrail.
939
+ #
940
+ # @option params [Types::AIGuardrailWordPolicyConfig] :word_policy_config
941
+ # The word policy you configure for the AI Guardrail.
942
+ #
943
+ # @return [Types::CreateAIGuardrailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
944
+ #
945
+ # * {Types::CreateAIGuardrailResponse#ai_guardrail #ai_guardrail} => Types::AIGuardrailData
946
+ #
947
+ # @example Request syntax with placeholder values
948
+ #
949
+ # resp = client.create_ai_guardrail({
950
+ # assistant_id: "UuidOrArn", # required
951
+ # blocked_input_messaging: "AIGuardrailBlockedMessaging", # required
952
+ # blocked_outputs_messaging: "AIGuardrailBlockedMessaging", # required
953
+ # client_token: "ClientToken",
954
+ # content_policy_config: {
955
+ # filters_config: [ # required
956
+ # {
957
+ # input_strength: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH
958
+ # output_strength: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH
959
+ # type: "SEXUAL", # required, accepts SEXUAL, VIOLENCE, HATE, INSULTS, MISCONDUCT, PROMPT_ATTACK
960
+ # },
961
+ # ],
962
+ # },
963
+ # contextual_grounding_policy_config: {
964
+ # filters_config: [ # required
965
+ # {
966
+ # threshold: 1.0, # required
967
+ # type: "GROUNDING", # required, accepts GROUNDING, RELEVANCE
968
+ # },
969
+ # ],
970
+ # },
971
+ # description: "AIGuardrailDescription",
972
+ # name: "Name", # required
973
+ # sensitive_information_policy_config: {
974
+ # pii_entities_config: [
975
+ # {
976
+ # action: "BLOCK", # required, accepts BLOCK, ANONYMIZE
977
+ # type: "ADDRESS", # required, accepts ADDRESS, AGE, AWS_ACCESS_KEY, AWS_SECRET_KEY, CA_HEALTH_NUMBER, CA_SOCIAL_INSURANCE_NUMBER, CREDIT_DEBIT_CARD_CVV, CREDIT_DEBIT_CARD_EXPIRY, CREDIT_DEBIT_CARD_NUMBER, DRIVER_ID, EMAIL, INTERNATIONAL_BANK_ACCOUNT_NUMBER, IP_ADDRESS, LICENSE_PLATE, MAC_ADDRESS, NAME, PASSWORD, PHONE, PIN, SWIFT_CODE, UK_NATIONAL_HEALTH_SERVICE_NUMBER, UK_NATIONAL_INSURANCE_NUMBER, UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER, URL, USERNAME, US_BANK_ACCOUNT_NUMBER, US_BANK_ROUTING_NUMBER, US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER, US_PASSPORT_NUMBER, US_SOCIAL_SECURITY_NUMBER, VEHICLE_IDENTIFICATION_NUMBER
978
+ # },
979
+ # ],
980
+ # regexes_config: [
981
+ # {
982
+ # action: "BLOCK", # required, accepts BLOCK, ANONYMIZE
983
+ # description: "GuardrailRegexDescription",
984
+ # name: "GuardrailRegexName", # required
985
+ # pattern: "GuardrailRegexPattern", # required
986
+ # },
987
+ # ],
988
+ # },
989
+ # tags: {
990
+ # "TagKey" => "TagValue",
991
+ # },
992
+ # topic_policy_config: {
993
+ # topics_config: [ # required
994
+ # {
995
+ # definition: "GuardrailTopicDefinition", # required
996
+ # examples: ["GuardrailTopicExample"],
997
+ # name: "GuardrailTopicName", # required
998
+ # type: "DENY", # required, accepts DENY
999
+ # },
1000
+ # ],
1001
+ # },
1002
+ # visibility_status: "SAVED", # required, accepts SAVED, PUBLISHED
1003
+ # word_policy_config: {
1004
+ # managed_word_lists_config: [
1005
+ # {
1006
+ # type: "PROFANITY", # required, accepts PROFANITY
1007
+ # },
1008
+ # ],
1009
+ # words_config: [
1010
+ # {
1011
+ # text: "GuardrailWordText", # required
1012
+ # },
1013
+ # ],
1014
+ # },
1015
+ # })
1016
+ #
1017
+ # @example Response structure
1018
+ #
1019
+ # resp.ai_guardrail.ai_guardrail_arn #=> String
1020
+ # resp.ai_guardrail.ai_guardrail_id #=> String
1021
+ # resp.ai_guardrail.assistant_arn #=> String
1022
+ # resp.ai_guardrail.assistant_id #=> String
1023
+ # resp.ai_guardrail.blocked_input_messaging #=> String
1024
+ # resp.ai_guardrail.blocked_outputs_messaging #=> String
1025
+ # resp.ai_guardrail.content_policy_config.filters_config #=> Array
1026
+ # resp.ai_guardrail.content_policy_config.filters_config[0].input_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1027
+ # resp.ai_guardrail.content_policy_config.filters_config[0].output_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1028
+ # resp.ai_guardrail.content_policy_config.filters_config[0].type #=> String, one of "SEXUAL", "VIOLENCE", "HATE", "INSULTS", "MISCONDUCT", "PROMPT_ATTACK"
1029
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config #=> Array
1030
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].threshold #=> Float
1031
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].type #=> String, one of "GROUNDING", "RELEVANCE"
1032
+ # resp.ai_guardrail.description #=> String
1033
+ # resp.ai_guardrail.modified_time #=> Time
1034
+ # resp.ai_guardrail.name #=> String
1035
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config #=> Array
1036
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
1037
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER"
1038
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config #=> Array
1039
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
1040
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].description #=> String
1041
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].name #=> String
1042
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].pattern #=> String
1043
+ # resp.ai_guardrail.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
1044
+ # resp.ai_guardrail.tags #=> Hash
1045
+ # resp.ai_guardrail.tags["TagKey"] #=> String
1046
+ # resp.ai_guardrail.topic_policy_config.topics_config #=> Array
1047
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].definition #=> String
1048
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples #=> Array
1049
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples[0] #=> String
1050
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].name #=> String
1051
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].type #=> String, one of "DENY"
1052
+ # resp.ai_guardrail.visibility_status #=> String, one of "SAVED", "PUBLISHED"
1053
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config #=> Array
1054
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config[0].type #=> String, one of "PROFANITY"
1055
+ # resp.ai_guardrail.word_policy_config.words_config #=> Array
1056
+ # resp.ai_guardrail.word_policy_config.words_config[0].text #=> String
1057
+ #
1058
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/CreateAIGuardrail AWS API Documentation
1059
+ #
1060
+ # @overload create_ai_guardrail(params = {})
1061
+ # @param [Hash] params ({})
1062
+ def create_ai_guardrail(params = {}, options = {})
1063
+ req = build_request(:create_ai_guardrail, params)
1064
+ req.send_request(options)
1065
+ end
1066
+
1067
+ # Creates an Amazon Q in Connect AI Guardrail version.
1068
+ #
1069
+ # @option params [required, String] :ai_guardrail_id
1070
+ # The identifier of the Amazon Q in Connect AI Guardrail.
1071
+ #
1072
+ # @option params [required, String] :assistant_id
1073
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
1074
+ # ID or the ARN. URLs cannot contain the ARN.
1075
+ #
1076
+ # @option params [String] :client_token
1077
+ # A unique, case-sensitive identifier that you provide to ensure the
1078
+ # idempotency of the request. If not provided, the Amazon Web Services
1079
+ # SDK populates this field. For more information about idempotency, see
1080
+ # [Making retries safe with idempotent APIs][1]..
1081
+ #
1082
+ # **A suitable default value is auto-generated.** You should normally
1083
+ # not need to pass this option.**
1084
+ #
1085
+ #
1086
+ #
1087
+ # [1]: http://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
1088
+ #
1089
+ # @option params [Time,DateTime,Date,Integer,String] :modified_time
1090
+ # The time the AI Guardrail was last modified.
1091
+ #
1092
+ # @return [Types::CreateAIGuardrailVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1093
+ #
1094
+ # * {Types::CreateAIGuardrailVersionResponse#ai_guardrail #ai_guardrail} => Types::AIGuardrailData
1095
+ # * {Types::CreateAIGuardrailVersionResponse#version_number #version_number} => Integer
1096
+ #
1097
+ # @example Request syntax with placeholder values
1098
+ #
1099
+ # resp = client.create_ai_guardrail_version({
1100
+ # ai_guardrail_id: "UuidOrArnOrEitherWithQualifier", # required
1101
+ # assistant_id: "UuidOrArn", # required
1102
+ # client_token: "ClientToken",
1103
+ # modified_time: Time.now,
1104
+ # })
1105
+ #
1106
+ # @example Response structure
1107
+ #
1108
+ # resp.ai_guardrail.ai_guardrail_arn #=> String
1109
+ # resp.ai_guardrail.ai_guardrail_id #=> String
1110
+ # resp.ai_guardrail.assistant_arn #=> String
1111
+ # resp.ai_guardrail.assistant_id #=> String
1112
+ # resp.ai_guardrail.blocked_input_messaging #=> String
1113
+ # resp.ai_guardrail.blocked_outputs_messaging #=> String
1114
+ # resp.ai_guardrail.content_policy_config.filters_config #=> Array
1115
+ # resp.ai_guardrail.content_policy_config.filters_config[0].input_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1116
+ # resp.ai_guardrail.content_policy_config.filters_config[0].output_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1117
+ # resp.ai_guardrail.content_policy_config.filters_config[0].type #=> String, one of "SEXUAL", "VIOLENCE", "HATE", "INSULTS", "MISCONDUCT", "PROMPT_ATTACK"
1118
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config #=> Array
1119
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].threshold #=> Float
1120
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].type #=> String, one of "GROUNDING", "RELEVANCE"
1121
+ # resp.ai_guardrail.description #=> String
1122
+ # resp.ai_guardrail.modified_time #=> Time
1123
+ # resp.ai_guardrail.name #=> String
1124
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config #=> Array
1125
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
1126
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER"
1127
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config #=> Array
1128
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
1129
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].description #=> String
1130
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].name #=> String
1131
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].pattern #=> String
1132
+ # resp.ai_guardrail.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
1133
+ # resp.ai_guardrail.tags #=> Hash
1134
+ # resp.ai_guardrail.tags["TagKey"] #=> String
1135
+ # resp.ai_guardrail.topic_policy_config.topics_config #=> Array
1136
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].definition #=> String
1137
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples #=> Array
1138
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples[0] #=> String
1139
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].name #=> String
1140
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].type #=> String, one of "DENY"
1141
+ # resp.ai_guardrail.visibility_status #=> String, one of "SAVED", "PUBLISHED"
1142
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config #=> Array
1143
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config[0].type #=> String, one of "PROFANITY"
1144
+ # resp.ai_guardrail.word_policy_config.words_config #=> Array
1145
+ # resp.ai_guardrail.word_policy_config.words_config[0].text #=> String
1146
+ # resp.version_number #=> Integer
1147
+ #
1148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/CreateAIGuardrailVersion AWS API Documentation
1149
+ #
1150
+ # @overload create_ai_guardrail_version(params = {})
1151
+ # @param [Hash] params ({})
1152
+ def create_ai_guardrail_version(params = {}, options = {})
1153
+ req = build_request(:create_ai_guardrail_version, params)
1154
+ req.send_request(options)
1155
+ end
1156
+
803
1157
  # Creates an Amazon Q in Connect AI Prompt.
804
1158
  #
805
1159
  # @option params [required, String] :api_format
@@ -869,7 +1223,7 @@ module Aws::QConnect
869
1223
  # },
870
1224
  # },
871
1225
  # template_type: "TEXT", # required, accepts TEXT
872
- # type: "ANSWER_GENERATION", # required, accepts ANSWER_GENERATION, INTENT_LABELING_GENERATION, QUERY_REFORMULATION
1226
+ # type: "ANSWER_GENERATION", # required, accepts ANSWER_GENERATION, INTENT_LABELING_GENERATION, QUERY_REFORMULATION, SELF_SERVICE_PRE_PROCESSING, SELF_SERVICE_ANSWER_GENERATION
873
1227
  # visibility_status: "SAVED", # required, accepts SAVED, PUBLISHED
874
1228
  # })
875
1229
  #
@@ -890,7 +1244,7 @@ module Aws::QConnect
890
1244
  # resp.ai_prompt.tags["TagKey"] #=> String
891
1245
  # resp.ai_prompt.template_configuration.text_full_ai_prompt_edit_template_configuration.text #=> String
892
1246
  # resp.ai_prompt.template_type #=> String, one of "TEXT"
893
- # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION"
1247
+ # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION", "SELF_SERVICE_PRE_PROCESSING", "SELF_SERVICE_ANSWER_GENERATION"
894
1248
  # resp.ai_prompt.visibility_status #=> String, one of "SAVED", "PUBLISHED"
895
1249
  #
896
1250
  # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/CreateAIPrompt AWS API Documentation
@@ -958,7 +1312,7 @@ module Aws::QConnect
958
1312
  # resp.ai_prompt.tags["TagKey"] #=> String
959
1313
  # resp.ai_prompt.template_configuration.text_full_ai_prompt_edit_template_configuration.text #=> String
960
1314
  # resp.ai_prompt.template_type #=> String, one of "TEXT"
961
- # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION"
1315
+ # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION", "SELF_SERVICE_PRE_PROCESSING", "SELF_SERVICE_ANSWER_GENERATION"
962
1316
  # resp.ai_prompt.visibility_status #=> String, one of "SAVED", "PUBLISHED"
963
1317
  # resp.version_number #=> Integer
964
1318
  #
@@ -2400,6 +2754,65 @@ module Aws::QConnect
2400
2754
  req.send_request(options)
2401
2755
  end
2402
2756
 
2757
+ # Deletes an Amazon Q in Connect AI Guardrail.
2758
+ #
2759
+ # @option params [required, String] :ai_guardrail_id
2760
+ # The identifier of the Amazon Q in Connect AI Guardrail. Can be either
2761
+ # the ID or the ARN. URLs cannot contain the ARN.
2762
+ #
2763
+ # @option params [required, String] :assistant_id
2764
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
2765
+ # ID or the ARN. URLs cannot contain the ARN.
2766
+ #
2767
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2768
+ #
2769
+ # @example Request syntax with placeholder values
2770
+ #
2771
+ # resp = client.delete_ai_guardrail({
2772
+ # ai_guardrail_id: "UuidOrArnOrEitherWithQualifier", # required
2773
+ # assistant_id: "UuidOrArn", # required
2774
+ # })
2775
+ #
2776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/DeleteAIGuardrail AWS API Documentation
2777
+ #
2778
+ # @overload delete_ai_guardrail(params = {})
2779
+ # @param [Hash] params ({})
2780
+ def delete_ai_guardrail(params = {}, options = {})
2781
+ req = build_request(:delete_ai_guardrail, params)
2782
+ req.send_request(options)
2783
+ end
2784
+
2785
+ # Delete and Amazon Q in Connect AI Guardrail version.
2786
+ #
2787
+ # @option params [required, String] :ai_guardrail_id
2788
+ # The identifier of the Amazon Q in Connect AI Guardrail.
2789
+ #
2790
+ # @option params [required, String] :assistant_id
2791
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
2792
+ # ID or the ARN. URLs cannot contain the ARN.
2793
+ #
2794
+ # @option params [required, Integer] :version_number
2795
+ # The version number of the AI Guardrail version to be deleted.
2796
+ #
2797
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2798
+ #
2799
+ # @example Request syntax with placeholder values
2800
+ #
2801
+ # resp = client.delete_ai_guardrail_version({
2802
+ # ai_guardrail_id: "UuidOrArnOrEitherWithQualifier", # required
2803
+ # assistant_id: "UuidOrArn", # required
2804
+ # version_number: 1, # required
2805
+ # })
2806
+ #
2807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/DeleteAIGuardrailVersion AWS API Documentation
2808
+ #
2809
+ # @overload delete_ai_guardrail_version(params = {})
2810
+ # @param [Hash] params ({})
2811
+ def delete_ai_guardrail_version(params = {}, options = {})
2812
+ req = build_request(:delete_ai_guardrail_version, params)
2813
+ req.send_request(options)
2814
+ end
2815
+
2403
2816
  # Deletes an Amazon Q in Connect AI Prompt.
2404
2817
  #
2405
2818
  # @option params [required, String] :ai_prompt_id
@@ -2765,6 +3178,7 @@ module Aws::QConnect
2765
3178
  # resp.ai_agent.ai_agent_id #=> String
2766
3179
  # resp.ai_agent.assistant_arn #=> String
2767
3180
  # resp.ai_agent.assistant_id #=> String
3181
+ # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
2768
3182
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
2769
3183
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations #=> Array
2770
3184
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -2784,6 +3198,7 @@ module Aws::QConnect
2784
3198
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
2785
3199
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.intent_labeling_generation_ai_prompt_id #=> String
2786
3200
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.query_reformulation_ai_prompt_id #=> String
3201
+ # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
2787
3202
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
2788
3203
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations #=> Array
2789
3204
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -2801,6 +3216,25 @@ module Aws::QConnect
2801
3216
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
2802
3217
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_id #=> String
2803
3218
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
3219
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations #=> Array
3220
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
3221
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].key #=> String
3222
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].value #=> String
3223
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions #=> Array
3224
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions #=> Array
3225
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].key #=> String
3226
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].value #=> String
3227
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.key #=> String
3228
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.value #=> String
3229
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.key #=> String
3230
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.value #=> String
3231
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.max_results #=> Integer
3232
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
3233
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_id #=> String
3234
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
3235
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_ai_guardrail_id #=> String
3236
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_answer_generation_ai_prompt_id #=> String
3237
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_pre_processing_ai_prompt_id #=> String
2804
3238
  # resp.ai_agent.description #=> String
2805
3239
  # resp.ai_agent.modified_time #=> Time
2806
3240
  # resp.ai_agent.name #=> String
@@ -2808,7 +3242,7 @@ module Aws::QConnect
2808
3242
  # resp.ai_agent.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
2809
3243
  # resp.ai_agent.tags #=> Hash
2810
3244
  # resp.ai_agent.tags["TagKey"] #=> String
2811
- # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION"
3245
+ # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE"
2812
3246
  # resp.ai_agent.visibility_status #=> String, one of "SAVED", "PUBLISHED"
2813
3247
  # resp.version_number #=> Integer
2814
3248
  #
@@ -2821,6 +3255,78 @@ module Aws::QConnect
2821
3255
  req.send_request(options)
2822
3256
  end
2823
3257
 
3258
+ # Gets the Amazon Q in Connect AI Guardrail.
3259
+ #
3260
+ # @option params [required, String] :ai_guardrail_id
3261
+ # The identifier of the Amazon Q in Connect AI Guardrail.
3262
+ #
3263
+ # @option params [required, String] :assistant_id
3264
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
3265
+ # ID or the ARN. URLs cannot contain the ARN.
3266
+ #
3267
+ # @return [Types::GetAIGuardrailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3268
+ #
3269
+ # * {Types::GetAIGuardrailResponse#ai_guardrail #ai_guardrail} => Types::AIGuardrailData
3270
+ # * {Types::GetAIGuardrailResponse#version_number #version_number} => Integer
3271
+ #
3272
+ # @example Request syntax with placeholder values
3273
+ #
3274
+ # resp = client.get_ai_guardrail({
3275
+ # ai_guardrail_id: "UuidOrArnOrEitherWithQualifier", # required
3276
+ # assistant_id: "UuidOrArn", # required
3277
+ # })
3278
+ #
3279
+ # @example Response structure
3280
+ #
3281
+ # resp.ai_guardrail.ai_guardrail_arn #=> String
3282
+ # resp.ai_guardrail.ai_guardrail_id #=> String
3283
+ # resp.ai_guardrail.assistant_arn #=> String
3284
+ # resp.ai_guardrail.assistant_id #=> String
3285
+ # resp.ai_guardrail.blocked_input_messaging #=> String
3286
+ # resp.ai_guardrail.blocked_outputs_messaging #=> String
3287
+ # resp.ai_guardrail.content_policy_config.filters_config #=> Array
3288
+ # resp.ai_guardrail.content_policy_config.filters_config[0].input_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
3289
+ # resp.ai_guardrail.content_policy_config.filters_config[0].output_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
3290
+ # resp.ai_guardrail.content_policy_config.filters_config[0].type #=> String, one of "SEXUAL", "VIOLENCE", "HATE", "INSULTS", "MISCONDUCT", "PROMPT_ATTACK"
3291
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config #=> Array
3292
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].threshold #=> Float
3293
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].type #=> String, one of "GROUNDING", "RELEVANCE"
3294
+ # resp.ai_guardrail.description #=> String
3295
+ # resp.ai_guardrail.modified_time #=> Time
3296
+ # resp.ai_guardrail.name #=> String
3297
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config #=> Array
3298
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
3299
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER"
3300
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config #=> Array
3301
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
3302
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].description #=> String
3303
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].name #=> String
3304
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].pattern #=> String
3305
+ # resp.ai_guardrail.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
3306
+ # resp.ai_guardrail.tags #=> Hash
3307
+ # resp.ai_guardrail.tags["TagKey"] #=> String
3308
+ # resp.ai_guardrail.topic_policy_config.topics_config #=> Array
3309
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].definition #=> String
3310
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples #=> Array
3311
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples[0] #=> String
3312
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].name #=> String
3313
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].type #=> String, one of "DENY"
3314
+ # resp.ai_guardrail.visibility_status #=> String, one of "SAVED", "PUBLISHED"
3315
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config #=> Array
3316
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config[0].type #=> String, one of "PROFANITY"
3317
+ # resp.ai_guardrail.word_policy_config.words_config #=> Array
3318
+ # resp.ai_guardrail.word_policy_config.words_config[0].text #=> String
3319
+ # resp.version_number #=> Integer
3320
+ #
3321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/GetAIGuardrail AWS API Documentation
3322
+ #
3323
+ # @overload get_ai_guardrail(params = {})
3324
+ # @param [Hash] params ({})
3325
+ def get_ai_guardrail(params = {}, options = {})
3326
+ req = build_request(:get_ai_guardrail, params)
3327
+ req.send_request(options)
3328
+ end
3329
+
2824
3330
  # Gets and Amazon Q in Connect AI Prompt.
2825
3331
  #
2826
3332
  # @option params [required, String] :ai_prompt_id
@@ -2859,7 +3365,7 @@ module Aws::QConnect
2859
3365
  # resp.ai_prompt.tags["TagKey"] #=> String
2860
3366
  # resp.ai_prompt.template_configuration.text_full_ai_prompt_edit_template_configuration.text #=> String
2861
3367
  # resp.ai_prompt.template_type #=> String, one of "TEXT"
2862
- # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION"
3368
+ # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION", "SELF_SERVICE_PRE_PROCESSING", "SELF_SERVICE_ANSWER_GENERATION"
2863
3369
  # resp.ai_prompt.visibility_status #=> String, one of "SAVED", "PUBLISHED"
2864
3370
  # resp.version_number #=> Integer
2865
3371
  #
@@ -3355,6 +3861,60 @@ module Aws::QConnect
3355
3861
  req.send_request(options)
3356
3862
  end
3357
3863
 
3864
+ # Retrieves next message on an Amazon Q in Connect session.
3865
+ #
3866
+ # @option params [required, String] :assistant_id
3867
+ # The identifier of the Amazon Q in Connect assistant.
3868
+ #
3869
+ # @option params [required, String] :next_message_token
3870
+ # The token for the next message. Use the value returned in the
3871
+ # SendMessage or previous response in the next request to retrieve the
3872
+ # next message.
3873
+ #
3874
+ # @option params [required, String] :session_id
3875
+ # The identifier of the Amazon Q in Connect session.
3876
+ #
3877
+ # @return [Types::GetNextMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3878
+ #
3879
+ # * {Types::GetNextMessageResponse#conversation_session_data #conversation_session_data} => Array&lt;Types::RuntimeSessionData&gt;
3880
+ # * {Types::GetNextMessageResponse#conversation_state #conversation_state} => Types::ConversationState
3881
+ # * {Types::GetNextMessageResponse#next_message_token #next_message_token} => String
3882
+ # * {Types::GetNextMessageResponse#request_message_id #request_message_id} => String
3883
+ # * {Types::GetNextMessageResponse#response #response} => Types::MessageOutput
3884
+ # * {Types::GetNextMessageResponse#type #type} => String
3885
+ #
3886
+ # @example Request syntax with placeholder values
3887
+ #
3888
+ # resp = client.get_next_message({
3889
+ # assistant_id: "UuidOrArn", # required
3890
+ # next_message_token: "NextToken", # required
3891
+ # session_id: "UuidOrArn", # required
3892
+ # })
3893
+ #
3894
+ # @example Response structure
3895
+ #
3896
+ # resp.conversation_session_data #=> Array
3897
+ # resp.conversation_session_data[0].key #=> String
3898
+ # resp.conversation_session_data[0].value.string_value #=> String
3899
+ # resp.conversation_state.reason #=> String, one of "SUCCESS", "FAILED", "REJECTED"
3900
+ # resp.conversation_state.status #=> String, one of "CLOSED", "READY", "PROCESSING"
3901
+ # resp.next_message_token #=> String
3902
+ # resp.request_message_id #=> String
3903
+ # resp.response.message_id #=> String
3904
+ # resp.response.participant #=> String, one of "CUSTOMER", "AGENT", "BOT"
3905
+ # resp.response.timestamp #=> Time
3906
+ # resp.response.value.text.value #=> String
3907
+ # resp.type #=> String, one of "TEXT"
3908
+ #
3909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/GetNextMessage AWS API Documentation
3910
+ #
3911
+ # @overload get_next_message(params = {})
3912
+ # @param [Hash] params ({})
3913
+ def get_next_message(params = {}, options = {})
3914
+ req = build_request(:get_next_message, params)
3915
+ req.send_request(options)
3916
+ end
3917
+
3358
3918
  # Retrieves the quick response.
3359
3919
  #
3360
3920
  # @option params [required, String] :knowledge_base_id
@@ -3638,6 +4198,7 @@ module Aws::QConnect
3638
4198
  # resp.ai_agent_version_summaries[0].ai_agent_summary.ai_agent_id #=> String
3639
4199
  # resp.ai_agent_version_summaries[0].ai_agent_summary.assistant_arn #=> String
3640
4200
  # resp.ai_agent_version_summaries[0].ai_agent_summary.assistant_id #=> String
4201
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
3641
4202
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
3642
4203
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.association_configurations #=> Array
3643
4204
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -3657,6 +4218,7 @@ module Aws::QConnect
3657
4218
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
3658
4219
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.intent_labeling_generation_ai_prompt_id #=> String
3659
4220
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.answer_recommendation_ai_agent_configuration.query_reformulation_ai_prompt_id #=> String
4221
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
3660
4222
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
3661
4223
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.association_configurations #=> Array
3662
4224
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -3674,6 +4236,25 @@ module Aws::QConnect
3674
4236
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
3675
4237
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_id #=> String
3676
4238
  # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
4239
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations #=> Array
4240
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
4241
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].key #=> String
4242
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].value #=> String
4243
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions #=> Array
4244
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions #=> Array
4245
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].key #=> String
4246
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].value #=> String
4247
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.key #=> String
4248
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.value #=> String
4249
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.key #=> String
4250
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.value #=> String
4251
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.max_results #=> Integer
4252
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
4253
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_id #=> String
4254
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
4255
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.self_service_ai_guardrail_id #=> String
4256
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.self_service_answer_generation_ai_prompt_id #=> String
4257
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.configuration.self_service_ai_agent_configuration.self_service_pre_processing_ai_prompt_id #=> String
3677
4258
  # resp.ai_agent_version_summaries[0].ai_agent_summary.description #=> String
3678
4259
  # resp.ai_agent_version_summaries[0].ai_agent_summary.modified_time #=> Time
3679
4260
  # resp.ai_agent_version_summaries[0].ai_agent_summary.name #=> String
@@ -3681,7 +4262,7 @@ module Aws::QConnect
3681
4262
  # resp.ai_agent_version_summaries[0].ai_agent_summary.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
3682
4263
  # resp.ai_agent_version_summaries[0].ai_agent_summary.tags #=> Hash
3683
4264
  # resp.ai_agent_version_summaries[0].ai_agent_summary.tags["TagKey"] #=> String
3684
- # resp.ai_agent_version_summaries[0].ai_agent_summary.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION"
4265
+ # resp.ai_agent_version_summaries[0].ai_agent_summary.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE"
3685
4266
  # resp.ai_agent_version_summaries[0].ai_agent_summary.visibility_status #=> String, one of "SAVED", "PUBLISHED"
3686
4267
  # resp.ai_agent_version_summaries[0].version_number #=> Integer
3687
4268
  # resp.next_token #=> String
@@ -3737,6 +4318,7 @@ module Aws::QConnect
3737
4318
  # resp.ai_agent_summaries[0].ai_agent_id #=> String
3738
4319
  # resp.ai_agent_summaries[0].assistant_arn #=> String
3739
4320
  # resp.ai_agent_summaries[0].assistant_id #=> String
4321
+ # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
3740
4322
  # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
3741
4323
  # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.association_configurations #=> Array
3742
4324
  # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -3756,6 +4338,7 @@ module Aws::QConnect
3756
4338
  # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
3757
4339
  # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.intent_labeling_generation_ai_prompt_id #=> String
3758
4340
  # resp.ai_agent_summaries[0].configuration.answer_recommendation_ai_agent_configuration.query_reformulation_ai_prompt_id #=> String
4341
+ # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
3759
4342
  # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
3760
4343
  # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.association_configurations #=> Array
3761
4344
  # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -3773,6 +4356,25 @@ module Aws::QConnect
3773
4356
  # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
3774
4357
  # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.association_configurations[0].association_id #=> String
3775
4358
  # resp.ai_agent_summaries[0].configuration.manual_search_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
4359
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations #=> Array
4360
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
4361
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].key #=> String
4362
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].value #=> String
4363
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions #=> Array
4364
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions #=> Array
4365
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].key #=> String
4366
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].value #=> String
4367
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.key #=> String
4368
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.value #=> String
4369
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.key #=> String
4370
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.value #=> String
4371
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.max_results #=> Integer
4372
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
4373
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_id #=> String
4374
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
4375
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.self_service_ai_guardrail_id #=> String
4376
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.self_service_answer_generation_ai_prompt_id #=> String
4377
+ # resp.ai_agent_summaries[0].configuration.self_service_ai_agent_configuration.self_service_pre_processing_ai_prompt_id #=> String
3776
4378
  # resp.ai_agent_summaries[0].description #=> String
3777
4379
  # resp.ai_agent_summaries[0].modified_time #=> Time
3778
4380
  # resp.ai_agent_summaries[0].name #=> String
@@ -3780,7 +4382,7 @@ module Aws::QConnect
3780
4382
  # resp.ai_agent_summaries[0].status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
3781
4383
  # resp.ai_agent_summaries[0].tags #=> Hash
3782
4384
  # resp.ai_agent_summaries[0].tags["TagKey"] #=> String
3783
- # resp.ai_agent_summaries[0].type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION"
4385
+ # resp.ai_agent_summaries[0].type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE"
3784
4386
  # resp.ai_agent_summaries[0].visibility_status #=> String, one of "SAVED", "PUBLISHED"
3785
4387
  # resp.next_token #=> String
3786
4388
  #
@@ -3793,6 +4395,121 @@ module Aws::QConnect
3793
4395
  req.send_request(options)
3794
4396
  end
3795
4397
 
4398
+ # Lists AI Guardrail versions.
4399
+ #
4400
+ # @option params [required, String] :ai_guardrail_id
4401
+ # The identifier of the Amazon Q in Connect AI Guardrail for which
4402
+ # versions are to be listed.
4403
+ #
4404
+ # @option params [required, String] :assistant_id
4405
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
4406
+ # ID or the ARN. URLs cannot contain the ARN.
4407
+ #
4408
+ # @option params [Integer] :max_results
4409
+ # The maximum number of results to return per page.
4410
+ #
4411
+ # @option params [String] :next_token
4412
+ # The token for the next set of results. Use the value returned in the
4413
+ # previous response in the next request to retrieve the next set of
4414
+ # results.
4415
+ #
4416
+ # @return [Types::ListAIGuardrailVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4417
+ #
4418
+ # * {Types::ListAIGuardrailVersionsResponse#ai_guardrail_version_summaries #ai_guardrail_version_summaries} => Array&lt;Types::AIGuardrailVersionSummary&gt;
4419
+ # * {Types::ListAIGuardrailVersionsResponse#next_token #next_token} => String
4420
+ #
4421
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4422
+ #
4423
+ # @example Request syntax with placeholder values
4424
+ #
4425
+ # resp = client.list_ai_guardrail_versions({
4426
+ # ai_guardrail_id: "UuidOrArnOrEitherWithQualifier", # required
4427
+ # assistant_id: "UuidOrArn", # required
4428
+ # max_results: 1,
4429
+ # next_token: "NextToken",
4430
+ # })
4431
+ #
4432
+ # @example Response structure
4433
+ #
4434
+ # resp.ai_guardrail_version_summaries #=> Array
4435
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.ai_guardrail_arn #=> String
4436
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.ai_guardrail_id #=> String
4437
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.assistant_arn #=> String
4438
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.assistant_id #=> String
4439
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.description #=> String
4440
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.modified_time #=> Time
4441
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.name #=> String
4442
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
4443
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.tags #=> Hash
4444
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.tags["TagKey"] #=> String
4445
+ # resp.ai_guardrail_version_summaries[0].ai_guardrail_summary.visibility_status #=> String, one of "SAVED", "PUBLISHED"
4446
+ # resp.ai_guardrail_version_summaries[0].version_number #=> Integer
4447
+ # resp.next_token #=> String
4448
+ #
4449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/ListAIGuardrailVersions AWS API Documentation
4450
+ #
4451
+ # @overload list_ai_guardrail_versions(params = {})
4452
+ # @param [Hash] params ({})
4453
+ def list_ai_guardrail_versions(params = {}, options = {})
4454
+ req = build_request(:list_ai_guardrail_versions, params)
4455
+ req.send_request(options)
4456
+ end
4457
+
4458
+ # Lists the AI Guardrails available on the Amazon Q in Connect
4459
+ # assistant.
4460
+ #
4461
+ # @option params [required, String] :assistant_id
4462
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
4463
+ # ID or the ARN. URLs cannot contain the ARN.
4464
+ #
4465
+ # @option params [Integer] :max_results
4466
+ # The maximum number of results to return per page.
4467
+ #
4468
+ # @option params [String] :next_token
4469
+ # The token for the next set of results. Use the value returned in the
4470
+ # previous response in the next request to retrieve the next set of
4471
+ # results.
4472
+ #
4473
+ # @return [Types::ListAIGuardrailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4474
+ #
4475
+ # * {Types::ListAIGuardrailsResponse#ai_guardrail_summaries #ai_guardrail_summaries} => Array&lt;Types::AIGuardrailSummary&gt;
4476
+ # * {Types::ListAIGuardrailsResponse#next_token #next_token} => String
4477
+ #
4478
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4479
+ #
4480
+ # @example Request syntax with placeholder values
4481
+ #
4482
+ # resp = client.list_ai_guardrails({
4483
+ # assistant_id: "UuidOrArn", # required
4484
+ # max_results: 1,
4485
+ # next_token: "NextToken",
4486
+ # })
4487
+ #
4488
+ # @example Response structure
4489
+ #
4490
+ # resp.ai_guardrail_summaries #=> Array
4491
+ # resp.ai_guardrail_summaries[0].ai_guardrail_arn #=> String
4492
+ # resp.ai_guardrail_summaries[0].ai_guardrail_id #=> String
4493
+ # resp.ai_guardrail_summaries[0].assistant_arn #=> String
4494
+ # resp.ai_guardrail_summaries[0].assistant_id #=> String
4495
+ # resp.ai_guardrail_summaries[0].description #=> String
4496
+ # resp.ai_guardrail_summaries[0].modified_time #=> Time
4497
+ # resp.ai_guardrail_summaries[0].name #=> String
4498
+ # resp.ai_guardrail_summaries[0].status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
4499
+ # resp.ai_guardrail_summaries[0].tags #=> Hash
4500
+ # resp.ai_guardrail_summaries[0].tags["TagKey"] #=> String
4501
+ # resp.ai_guardrail_summaries[0].visibility_status #=> String, one of "SAVED", "PUBLISHED"
4502
+ # resp.next_token #=> String
4503
+ #
4504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/ListAIGuardrails AWS API Documentation
4505
+ #
4506
+ # @overload list_ai_guardrails(params = {})
4507
+ # @param [Hash] params ({})
4508
+ def list_ai_guardrails(params = {}, options = {})
4509
+ req = build_request(:list_ai_guardrails, params)
4510
+ req.send_request(options)
4511
+ end
4512
+
3796
4513
  # Lists AI Prompt versions.
3797
4514
  #
3798
4515
  # @option params [required, String] :ai_prompt_id
@@ -3850,7 +4567,7 @@ module Aws::QConnect
3850
4567
  # resp.ai_prompt_version_summaries[0].ai_prompt_summary.tags #=> Hash
3851
4568
  # resp.ai_prompt_version_summaries[0].ai_prompt_summary.tags["TagKey"] #=> String
3852
4569
  # resp.ai_prompt_version_summaries[0].ai_prompt_summary.template_type #=> String, one of "TEXT"
3853
- # resp.ai_prompt_version_summaries[0].ai_prompt_summary.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION"
4570
+ # resp.ai_prompt_version_summaries[0].ai_prompt_summary.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION", "SELF_SERVICE_PRE_PROCESSING", "SELF_SERVICE_ANSWER_GENERATION"
3854
4571
  # resp.ai_prompt_version_summaries[0].ai_prompt_summary.visibility_status #=> String, one of "SAVED", "PUBLISHED"
3855
4572
  # resp.ai_prompt_version_summaries[0].version_number #=> Integer
3856
4573
  # resp.next_token #=> String
@@ -3916,7 +4633,7 @@ module Aws::QConnect
3916
4633
  # resp.ai_prompt_summaries[0].tags #=> Hash
3917
4634
  # resp.ai_prompt_summaries[0].tags["TagKey"] #=> String
3918
4635
  # resp.ai_prompt_summaries[0].template_type #=> String, one of "TEXT"
3919
- # resp.ai_prompt_summaries[0].type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION"
4636
+ # resp.ai_prompt_summaries[0].type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION", "SELF_SERVICE_PRE_PROCESSING", "SELF_SERVICE_ANSWER_GENERATION"
3920
4637
  # resp.ai_prompt_summaries[0].visibility_status #=> String, one of "SAVED", "PUBLISHED"
3921
4638
  # resp.next_token #=> String
3922
4639
  #
@@ -4393,6 +5110,56 @@ module Aws::QConnect
4393
5110
  req.send_request(options)
4394
5111
  end
4395
5112
 
5113
+ # Lists messages on an Amazon Q in Connect session.
5114
+ #
5115
+ # @option params [required, String] :assistant_id
5116
+ # The identifier of the Amazon Q in Connect assistant.
5117
+ #
5118
+ # @option params [Integer] :max_results
5119
+ # The maximum number of results to return per page.
5120
+ #
5121
+ # @option params [String] :next_token
5122
+ # The token for the next set of results. Use the value returned in the
5123
+ # previous response in the next request to retrieve the next set of
5124
+ # results.
5125
+ #
5126
+ # @option params [required, String] :session_id
5127
+ # The identifier of the Amazon Q in Connect session.
5128
+ #
5129
+ # @return [Types::ListMessagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5130
+ #
5131
+ # * {Types::ListMessagesResponse#messages #messages} => Array&lt;Types::MessageOutput&gt;
5132
+ # * {Types::ListMessagesResponse#next_token #next_token} => String
5133
+ #
5134
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5135
+ #
5136
+ # @example Request syntax with placeholder values
5137
+ #
5138
+ # resp = client.list_messages({
5139
+ # assistant_id: "UuidOrArn", # required
5140
+ # max_results: 1,
5141
+ # next_token: "NextToken",
5142
+ # session_id: "UuidOrArn", # required
5143
+ # })
5144
+ #
5145
+ # @example Response structure
5146
+ #
5147
+ # resp.messages #=> Array
5148
+ # resp.messages[0].message_id #=> String
5149
+ # resp.messages[0].participant #=> String, one of "CUSTOMER", "AGENT", "BOT"
5150
+ # resp.messages[0].timestamp #=> Time
5151
+ # resp.messages[0].value.text.value #=> String
5152
+ # resp.next_token #=> String
5153
+ #
5154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/ListMessages AWS API Documentation
5155
+ #
5156
+ # @overload list_messages(params = {})
5157
+ # @param [Hash] params ({})
5158
+ def list_messages(params = {}, options = {})
5159
+ req = build_request(:list_messages, params)
5160
+ req.send_request(options)
5161
+ end
5162
+
4396
5163
  # Lists information about quick response.
4397
5164
  #
4398
5165
  # @option params [required, String] :knowledge_base_id
@@ -4748,7 +5515,7 @@ module Aws::QConnect
4748
5515
  # @example Request syntax with placeholder values
4749
5516
  #
4750
5517
  # resp = client.remove_assistant_ai_agent({
4751
- # ai_agent_type: "MANUAL_SEARCH", # required, accepts MANUAL_SEARCH, ANSWER_RECOMMENDATION
5518
+ # ai_agent_type: "MANUAL_SEARCH", # required, accepts MANUAL_SEARCH, ANSWER_RECOMMENDATION, SELF_SERVICE
4752
5519
  # assistant_id: "UuidOrArn", # required
4753
5520
  # })
4754
5521
  #
@@ -5254,6 +6021,76 @@ module Aws::QConnect
5254
6021
  req.send_request(options)
5255
6022
  end
5256
6023
 
6024
+ # Submits a message to the Amazon Q in Connect session.
6025
+ #
6026
+ # @option params [required, String] :assistant_id
6027
+ # The identifier of the Amazon Q in Connect assistant.
6028
+ #
6029
+ # @option params [String] :client_token
6030
+ # A unique, case-sensitive identifier that you provide to ensure the
6031
+ # idempotency of the request. If not provided, the AWS SDK populates
6032
+ # this field.For more information about idempotency, see Making retries
6033
+ # safe with idempotent APIs.
6034
+ #
6035
+ # **A suitable default value is auto-generated.** You should normally
6036
+ # not need to pass this option.**
6037
+ #
6038
+ # @option params [Types::ConversationContext] :conversation_context
6039
+ # The conversation context before the Amazon Q in Connect session.
6040
+ #
6041
+ # @option params [required, Types::MessageInput] :message
6042
+ # The message data to submit to the Amazon Q in Connect session.
6043
+ #
6044
+ # @option params [required, String] :session_id
6045
+ # The identifier of the Amazon Q in Connect session.
6046
+ #
6047
+ # @option params [required, String] :type
6048
+ # The message type.
6049
+ #
6050
+ # @return [Types::SendMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6051
+ #
6052
+ # * {Types::SendMessageResponse#next_message_token #next_message_token} => String
6053
+ # * {Types::SendMessageResponse#request_message_id #request_message_id} => String
6054
+ #
6055
+ # @example Request syntax with placeholder values
6056
+ #
6057
+ # resp = client.send_message({
6058
+ # assistant_id: "UuidOrArn", # required
6059
+ # client_token: "ClientToken",
6060
+ # conversation_context: {
6061
+ # self_service_conversation_history: [ # required
6062
+ # {
6063
+ # bot_response: "SensitiveString",
6064
+ # input_transcript: "SensitiveString",
6065
+ # turn_number: 1, # required
6066
+ # },
6067
+ # ],
6068
+ # },
6069
+ # message: { # required
6070
+ # value: { # required
6071
+ # text: {
6072
+ # value: "TextMessageValueString",
6073
+ # },
6074
+ # },
6075
+ # },
6076
+ # session_id: "UuidOrArn", # required
6077
+ # type: "TEXT", # required, accepts TEXT
6078
+ # })
6079
+ #
6080
+ # @example Response structure
6081
+ #
6082
+ # resp.next_message_token #=> String
6083
+ # resp.request_message_id #=> String
6084
+ #
6085
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/SendMessage AWS API Documentation
6086
+ #
6087
+ # @overload send_message(params = {})
6088
+ # @param [Hash] params ({})
6089
+ def send_message(params = {}, options = {})
6090
+ req = build_request(:send_message, params)
6091
+ req.send_request(options)
6092
+ end
6093
+
5257
6094
  # Get a URL to upload content to a knowledge base. To upload content,
5258
6095
  # first make a PUT request to the returned URL with your file, making
5259
6096
  # sure to include the required headers. Then use [CreateContent][1] to
@@ -5512,6 +6349,7 @@ module Aws::QConnect
5512
6349
  # client_token: "ClientToken",
5513
6350
  # configuration: {
5514
6351
  # answer_recommendation_ai_agent_configuration: {
6352
+ # answer_generation_ai_guardrail_id: "UuidWithQualifier",
5515
6353
  # answer_generation_ai_prompt_id: "UuidWithQualifier",
5516
6354
  # association_configurations: [
5517
6355
  # {
@@ -5555,6 +6393,7 @@ module Aws::QConnect
5555
6393
  # query_reformulation_ai_prompt_id: "UuidWithQualifier",
5556
6394
  # },
5557
6395
  # manual_search_ai_agent_configuration: {
6396
+ # answer_generation_ai_guardrail_id: "UuidWithQualifier",
5558
6397
  # answer_generation_ai_prompt_id: "UuidWithQualifier",
5559
6398
  # association_configurations: [
5560
6399
  # {
@@ -5595,6 +6434,49 @@ module Aws::QConnect
5595
6434
  # },
5596
6435
  # ],
5597
6436
  # },
6437
+ # self_service_ai_agent_configuration: {
6438
+ # association_configurations: [
6439
+ # {
6440
+ # association_configuration_data: {
6441
+ # knowledge_base_association_configuration_data: {
6442
+ # content_tag_filter: {
6443
+ # and_conditions: [
6444
+ # {
6445
+ # key: "TagKey", # required
6446
+ # value: "TagValue",
6447
+ # },
6448
+ # ],
6449
+ # or_conditions: [
6450
+ # {
6451
+ # and_conditions: [
6452
+ # {
6453
+ # key: "TagKey", # required
6454
+ # value: "TagValue",
6455
+ # },
6456
+ # ],
6457
+ # tag_condition: {
6458
+ # key: "TagKey", # required
6459
+ # value: "TagValue",
6460
+ # },
6461
+ # },
6462
+ # ],
6463
+ # tag_condition: {
6464
+ # key: "TagKey", # required
6465
+ # value: "TagValue",
6466
+ # },
6467
+ # },
6468
+ # max_results: 1,
6469
+ # override_knowledge_base_search_type: "HYBRID", # accepts HYBRID, SEMANTIC
6470
+ # },
6471
+ # },
6472
+ # association_id: "Uuid",
6473
+ # association_type: "KNOWLEDGE_BASE", # accepts KNOWLEDGE_BASE
6474
+ # },
6475
+ # ],
6476
+ # self_service_ai_guardrail_id: "UuidWithQualifier",
6477
+ # self_service_answer_generation_ai_prompt_id: "UuidWithQualifier",
6478
+ # self_service_pre_processing_ai_prompt_id: "UuidWithQualifier",
6479
+ # },
5598
6480
  # },
5599
6481
  # description: "Description",
5600
6482
  # visibility_status: "SAVED", # required, accepts SAVED, PUBLISHED
@@ -5606,6 +6488,7 @@ module Aws::QConnect
5606
6488
  # resp.ai_agent.ai_agent_id #=> String
5607
6489
  # resp.ai_agent.assistant_arn #=> String
5608
6490
  # resp.ai_agent.assistant_id #=> String
6491
+ # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
5609
6492
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
5610
6493
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations #=> Array
5611
6494
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -5625,6 +6508,7 @@ module Aws::QConnect
5625
6508
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
5626
6509
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.intent_labeling_generation_ai_prompt_id #=> String
5627
6510
  # resp.ai_agent.configuration.answer_recommendation_ai_agent_configuration.query_reformulation_ai_prompt_id #=> String
6511
+ # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_guardrail_id #=> String
5628
6512
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.answer_generation_ai_prompt_id #=> String
5629
6513
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations #=> Array
5630
6514
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
@@ -5642,6 +6526,25 @@ module Aws::QConnect
5642
6526
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
5643
6527
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_id #=> String
5644
6528
  # resp.ai_agent.configuration.manual_search_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
6529
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations #=> Array
6530
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions #=> Array
6531
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].key #=> String
6532
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.and_conditions[0].value #=> String
6533
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions #=> Array
6534
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions #=> Array
6535
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].key #=> String
6536
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].and_conditions[0].value #=> String
6537
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.key #=> String
6538
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.or_conditions[0].tag_condition.value #=> String
6539
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.key #=> String
6540
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.content_tag_filter.tag_condition.value #=> String
6541
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.max_results #=> Integer
6542
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_configuration_data.knowledge_base_association_configuration_data.override_knowledge_base_search_type #=> String, one of "HYBRID", "SEMANTIC"
6543
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_id #=> String
6544
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.association_configurations[0].association_type #=> String, one of "KNOWLEDGE_BASE"
6545
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_ai_guardrail_id #=> String
6546
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_answer_generation_ai_prompt_id #=> String
6547
+ # resp.ai_agent.configuration.self_service_ai_agent_configuration.self_service_pre_processing_ai_prompt_id #=> String
5645
6548
  # resp.ai_agent.description #=> String
5646
6549
  # resp.ai_agent.modified_time #=> Time
5647
6550
  # resp.ai_agent.name #=> String
@@ -5649,7 +6552,7 @@ module Aws::QConnect
5649
6552
  # resp.ai_agent.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
5650
6553
  # resp.ai_agent.tags #=> Hash
5651
6554
  # resp.ai_agent.tags["TagKey"] #=> String
5652
- # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION"
6555
+ # resp.ai_agent.type #=> String, one of "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE"
5653
6556
  # resp.ai_agent.visibility_status #=> String, one of "SAVED", "PUBLISHED"
5654
6557
  #
5655
6558
  # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/UpdateAIAgent AWS API Documentation
@@ -5661,6 +6564,177 @@ module Aws::QConnect
5661
6564
  req.send_request(options)
5662
6565
  end
5663
6566
 
6567
+ # Updates an AI Guardrail.
6568
+ #
6569
+ # @option params [required, String] :ai_guardrail_id
6570
+ # The identifier of the Amazon Q in Connect AI Guardrail.
6571
+ #
6572
+ # @option params [required, String] :assistant_id
6573
+ # The identifier of the Amazon Q in Connect assistant. Can be either the
6574
+ # ID or the ARN. URLs cannot contain the ARN.
6575
+ #
6576
+ # @option params [required, String] :blocked_input_messaging
6577
+ # The message to return when the AI Guardrail blocks a prompt.
6578
+ #
6579
+ # @option params [required, String] :blocked_outputs_messaging
6580
+ # The message to return when the AI Guardrail blocks a model response.
6581
+ #
6582
+ # @option params [String] :client_token
6583
+ # A unique, case-sensitive identifier that you provide to ensure the
6584
+ # idempotency of the request. If not provided, the Amazon Web Services
6585
+ # SDK populates this field. For more information about idempotency, see
6586
+ # [Making retries safe with idempotent APIs][1]..
6587
+ #
6588
+ # **A suitable default value is auto-generated.** You should normally
6589
+ # not need to pass this option.**
6590
+ #
6591
+ #
6592
+ #
6593
+ # [1]: http://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
6594
+ #
6595
+ # @option params [Types::AIGuardrailContentPolicyConfig] :content_policy_config
6596
+ # The content filter policies to configure for the AI Guardrail.
6597
+ #
6598
+ # @option params [Types::AIGuardrailContextualGroundingPolicyConfig] :contextual_grounding_policy_config
6599
+ # The contextual grounding policy configuration used to create an AI
6600
+ # Guardrail.
6601
+ #
6602
+ # @option params [String] :description
6603
+ # A description of the AI Guardrail.
6604
+ #
6605
+ # @option params [Types::AIGuardrailSensitiveInformationPolicyConfig] :sensitive_information_policy_config
6606
+ # The sensitive information policy to configure for the AI Guardrail.
6607
+ #
6608
+ # @option params [Types::AIGuardrailTopicPolicyConfig] :topic_policy_config
6609
+ # The topic policies to configure for the AI Guardrail.
6610
+ #
6611
+ # @option params [required, String] :visibility_status
6612
+ # The visibility status of the Amazon Q in Connect AI Guardrail.
6613
+ #
6614
+ # @option params [Types::AIGuardrailWordPolicyConfig] :word_policy_config
6615
+ # The word policy you configure for the AI Guardrail.
6616
+ #
6617
+ # @return [Types::UpdateAIGuardrailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6618
+ #
6619
+ # * {Types::UpdateAIGuardrailResponse#ai_guardrail #ai_guardrail} => Types::AIGuardrailData
6620
+ #
6621
+ # @example Request syntax with placeholder values
6622
+ #
6623
+ # resp = client.update_ai_guardrail({
6624
+ # ai_guardrail_id: "UuidOrArnOrEitherWithQualifier", # required
6625
+ # assistant_id: "UuidOrArn", # required
6626
+ # blocked_input_messaging: "AIGuardrailBlockedMessaging", # required
6627
+ # blocked_outputs_messaging: "AIGuardrailBlockedMessaging", # required
6628
+ # client_token: "ClientToken",
6629
+ # content_policy_config: {
6630
+ # filters_config: [ # required
6631
+ # {
6632
+ # input_strength: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH
6633
+ # output_strength: "NONE", # required, accepts NONE, LOW, MEDIUM, HIGH
6634
+ # type: "SEXUAL", # required, accepts SEXUAL, VIOLENCE, HATE, INSULTS, MISCONDUCT, PROMPT_ATTACK
6635
+ # },
6636
+ # ],
6637
+ # },
6638
+ # contextual_grounding_policy_config: {
6639
+ # filters_config: [ # required
6640
+ # {
6641
+ # threshold: 1.0, # required
6642
+ # type: "GROUNDING", # required, accepts GROUNDING, RELEVANCE
6643
+ # },
6644
+ # ],
6645
+ # },
6646
+ # description: "AIGuardrailDescription",
6647
+ # sensitive_information_policy_config: {
6648
+ # pii_entities_config: [
6649
+ # {
6650
+ # action: "BLOCK", # required, accepts BLOCK, ANONYMIZE
6651
+ # type: "ADDRESS", # required, accepts ADDRESS, AGE, AWS_ACCESS_KEY, AWS_SECRET_KEY, CA_HEALTH_NUMBER, CA_SOCIAL_INSURANCE_NUMBER, CREDIT_DEBIT_CARD_CVV, CREDIT_DEBIT_CARD_EXPIRY, CREDIT_DEBIT_CARD_NUMBER, DRIVER_ID, EMAIL, INTERNATIONAL_BANK_ACCOUNT_NUMBER, IP_ADDRESS, LICENSE_PLATE, MAC_ADDRESS, NAME, PASSWORD, PHONE, PIN, SWIFT_CODE, UK_NATIONAL_HEALTH_SERVICE_NUMBER, UK_NATIONAL_INSURANCE_NUMBER, UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER, URL, USERNAME, US_BANK_ACCOUNT_NUMBER, US_BANK_ROUTING_NUMBER, US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER, US_PASSPORT_NUMBER, US_SOCIAL_SECURITY_NUMBER, VEHICLE_IDENTIFICATION_NUMBER
6652
+ # },
6653
+ # ],
6654
+ # regexes_config: [
6655
+ # {
6656
+ # action: "BLOCK", # required, accepts BLOCK, ANONYMIZE
6657
+ # description: "GuardrailRegexDescription",
6658
+ # name: "GuardrailRegexName", # required
6659
+ # pattern: "GuardrailRegexPattern", # required
6660
+ # },
6661
+ # ],
6662
+ # },
6663
+ # topic_policy_config: {
6664
+ # topics_config: [ # required
6665
+ # {
6666
+ # definition: "GuardrailTopicDefinition", # required
6667
+ # examples: ["GuardrailTopicExample"],
6668
+ # name: "GuardrailTopicName", # required
6669
+ # type: "DENY", # required, accepts DENY
6670
+ # },
6671
+ # ],
6672
+ # },
6673
+ # visibility_status: "SAVED", # required, accepts SAVED, PUBLISHED
6674
+ # word_policy_config: {
6675
+ # managed_word_lists_config: [
6676
+ # {
6677
+ # type: "PROFANITY", # required, accepts PROFANITY
6678
+ # },
6679
+ # ],
6680
+ # words_config: [
6681
+ # {
6682
+ # text: "GuardrailWordText", # required
6683
+ # },
6684
+ # ],
6685
+ # },
6686
+ # })
6687
+ #
6688
+ # @example Response structure
6689
+ #
6690
+ # resp.ai_guardrail.ai_guardrail_arn #=> String
6691
+ # resp.ai_guardrail.ai_guardrail_id #=> String
6692
+ # resp.ai_guardrail.assistant_arn #=> String
6693
+ # resp.ai_guardrail.assistant_id #=> String
6694
+ # resp.ai_guardrail.blocked_input_messaging #=> String
6695
+ # resp.ai_guardrail.blocked_outputs_messaging #=> String
6696
+ # resp.ai_guardrail.content_policy_config.filters_config #=> Array
6697
+ # resp.ai_guardrail.content_policy_config.filters_config[0].input_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
6698
+ # resp.ai_guardrail.content_policy_config.filters_config[0].output_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
6699
+ # resp.ai_guardrail.content_policy_config.filters_config[0].type #=> String, one of "SEXUAL", "VIOLENCE", "HATE", "INSULTS", "MISCONDUCT", "PROMPT_ATTACK"
6700
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config #=> Array
6701
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].threshold #=> Float
6702
+ # resp.ai_guardrail.contextual_grounding_policy_config.filters_config[0].type #=> String, one of "GROUNDING", "RELEVANCE"
6703
+ # resp.ai_guardrail.description #=> String
6704
+ # resp.ai_guardrail.modified_time #=> Time
6705
+ # resp.ai_guardrail.name #=> String
6706
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config #=> Array
6707
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
6708
+ # resp.ai_guardrail.sensitive_information_policy_config.pii_entities_config[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER"
6709
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config #=> Array
6710
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].action #=> String, one of "BLOCK", "ANONYMIZE"
6711
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].description #=> String
6712
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].name #=> String
6713
+ # resp.ai_guardrail.sensitive_information_policy_config.regexes_config[0].pattern #=> String
6714
+ # resp.ai_guardrail.status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "ACTIVE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETED"
6715
+ # resp.ai_guardrail.tags #=> Hash
6716
+ # resp.ai_guardrail.tags["TagKey"] #=> String
6717
+ # resp.ai_guardrail.topic_policy_config.topics_config #=> Array
6718
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].definition #=> String
6719
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples #=> Array
6720
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].examples[0] #=> String
6721
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].name #=> String
6722
+ # resp.ai_guardrail.topic_policy_config.topics_config[0].type #=> String, one of "DENY"
6723
+ # resp.ai_guardrail.visibility_status #=> String, one of "SAVED", "PUBLISHED"
6724
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config #=> Array
6725
+ # resp.ai_guardrail.word_policy_config.managed_word_lists_config[0].type #=> String, one of "PROFANITY"
6726
+ # resp.ai_guardrail.word_policy_config.words_config #=> Array
6727
+ # resp.ai_guardrail.word_policy_config.words_config[0].text #=> String
6728
+ #
6729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/UpdateAIGuardrail AWS API Documentation
6730
+ #
6731
+ # @overload update_ai_guardrail(params = {})
6732
+ # @param [Hash] params ({})
6733
+ def update_ai_guardrail(params = {}, options = {})
6734
+ req = build_request(:update_ai_guardrail, params)
6735
+ req.send_request(options)
6736
+ end
6737
+
5664
6738
  # Updates an AI Prompt.
5665
6739
  #
5666
6740
  # @option params [required, String] :ai_prompt_id
@@ -5728,7 +6802,7 @@ module Aws::QConnect
5728
6802
  # resp.ai_prompt.tags["TagKey"] #=> String
5729
6803
  # resp.ai_prompt.template_configuration.text_full_ai_prompt_edit_template_configuration.text #=> String
5730
6804
  # resp.ai_prompt.template_type #=> String, one of "TEXT"
5731
- # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION"
6805
+ # resp.ai_prompt.type #=> String, one of "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION", "SELF_SERVICE_PRE_PROCESSING", "SELF_SERVICE_ANSWER_GENERATION"
5732
6806
  # resp.ai_prompt.visibility_status #=> String, one of "SAVED", "PUBLISHED"
5733
6807
  #
5734
6808
  # @see http://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/UpdateAIPrompt AWS API Documentation
@@ -5762,7 +6836,7 @@ module Aws::QConnect
5762
6836
  # @example Request syntax with placeholder values
5763
6837
  #
5764
6838
  # resp = client.update_assistant_ai_agent({
5765
- # ai_agent_type: "MANUAL_SEARCH", # required, accepts MANUAL_SEARCH, ANSWER_RECOMMENDATION
6839
+ # ai_agent_type: "MANUAL_SEARCH", # required, accepts MANUAL_SEARCH, ANSWER_RECOMMENDATION, SELF_SERVICE
5766
6840
  # assistant_id: "UuidOrArn", # required
5767
6841
  # configuration: { # required
5768
6842
  # ai_agent_id: "UuidWithQualifier", # required
@@ -6652,7 +7726,7 @@ module Aws::QConnect
6652
7726
  tracer: tracer
6653
7727
  )
6654
7728
  context[:gem_name] = 'aws-sdk-qconnect'
6655
- context[:gem_version] = '1.24.0'
7729
+ context[:gem_version] = '1.25.0'
6656
7730
  Seahorse::Client::Request.new(handlers, context)
6657
7731
  end
6658
7732