aws-sdk-bedrockruntime 1.42.0 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -503,10 +503,21 @@ module Aws::BedrockRuntime
503
503
  # @option params [required, Array<Types::GuardrailContentBlock>] :content
504
504
  # The content details used in the request to apply the guardrail.
505
505
  #
506
+ # @option params [String] :output_scope
507
+ # Specifies the scope of the output that you get in the response. Set to
508
+ # `FULL` to return the entire output, including any detected and
509
+ # non-detected entries in the response for enhanced debugging.
510
+ #
511
+ # Note that the full output scope doesn't apply to word filters or
512
+ # regex in sensitive information filters. It does apply to all other
513
+ # filtering policies, including sensitive information with filters that
514
+ # can detect personally identifiable information (PII).
515
+ #
506
516
  # @return [Types::ApplyGuardrailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
507
517
  #
508
518
  # * {Types::ApplyGuardrailResponse#usage #usage} => Types::GuardrailUsage
509
519
  # * {Types::ApplyGuardrailResponse#action #action} => String
520
+ # * {Types::ApplyGuardrailResponse#action_reason #action_reason} => String
510
521
  # * {Types::ApplyGuardrailResponse#outputs #outputs} => Array&lt;Types::GuardrailOutputContent&gt;
511
522
  # * {Types::ApplyGuardrailResponse#assessments #assessments} => Array&lt;Types::GuardrailAssessment&gt;
512
523
  # * {Types::ApplyGuardrailResponse#guardrail_coverage #guardrail_coverage} => Types::GuardrailCoverage
@@ -531,6 +542,7 @@ module Aws::BedrockRuntime
531
542
  # },
532
543
  # },
533
544
  # ],
545
+ # output_scope: "INTERVENTIONS", # accepts INTERVENTIONS, FULL
534
546
  # })
535
547
  #
536
548
  # @example Response structure
@@ -543,39 +555,47 @@ module Aws::BedrockRuntime
543
555
  # resp.usage.contextual_grounding_policy_units #=> Integer
544
556
  # resp.usage.content_policy_image_units #=> Integer
545
557
  # resp.action #=> String, one of "NONE", "GUARDRAIL_INTERVENED"
558
+ # resp.action_reason #=> String
546
559
  # resp.outputs #=> Array
547
560
  # resp.outputs[0].text #=> String
548
561
  # resp.assessments #=> Array
549
562
  # resp.assessments[0].topic_policy.topics #=> Array
550
563
  # resp.assessments[0].topic_policy.topics[0].name #=> String
551
564
  # resp.assessments[0].topic_policy.topics[0].type #=> String, one of "DENY"
552
- # resp.assessments[0].topic_policy.topics[0].action #=> String, one of "BLOCKED"
565
+ # resp.assessments[0].topic_policy.topics[0].action #=> String, one of "BLOCKED", "NONE"
566
+ # resp.assessments[0].topic_policy.topics[0].detected #=> Boolean
553
567
  # resp.assessments[0].content_policy.filters #=> Array
554
568
  # resp.assessments[0].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK"
555
569
  # resp.assessments[0].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
556
570
  # resp.assessments[0].content_policy.filters[0].filter_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
557
- # resp.assessments[0].content_policy.filters[0].action #=> String, one of "BLOCKED"
571
+ # resp.assessments[0].content_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
572
+ # resp.assessments[0].content_policy.filters[0].detected #=> Boolean
558
573
  # resp.assessments[0].word_policy.custom_words #=> Array
559
574
  # resp.assessments[0].word_policy.custom_words[0].match #=> String
560
- # resp.assessments[0].word_policy.custom_words[0].action #=> String, one of "BLOCKED"
575
+ # resp.assessments[0].word_policy.custom_words[0].action #=> String, one of "BLOCKED", "NONE"
576
+ # resp.assessments[0].word_policy.custom_words[0].detected #=> Boolean
561
577
  # resp.assessments[0].word_policy.managed_word_lists #=> Array
562
578
  # resp.assessments[0].word_policy.managed_word_lists[0].match #=> String
563
579
  # resp.assessments[0].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY"
564
- # resp.assessments[0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED"
580
+ # resp.assessments[0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED", "NONE"
581
+ # resp.assessments[0].word_policy.managed_word_lists[0].detected #=> Boolean
565
582
  # resp.assessments[0].sensitive_information_policy.pii_entities #=> Array
566
583
  # resp.assessments[0].sensitive_information_policy.pii_entities[0].match #=> String
567
584
  # resp.assessments[0].sensitive_information_policy.pii_entities[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"
568
- # resp.assessments[0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
585
+ # resp.assessments[0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
586
+ # resp.assessments[0].sensitive_information_policy.pii_entities[0].detected #=> Boolean
569
587
  # resp.assessments[0].sensitive_information_policy.regexes #=> Array
570
588
  # resp.assessments[0].sensitive_information_policy.regexes[0].name #=> String
571
589
  # resp.assessments[0].sensitive_information_policy.regexes[0].match #=> String
572
590
  # resp.assessments[0].sensitive_information_policy.regexes[0].regex #=> String
573
- # resp.assessments[0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
591
+ # resp.assessments[0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
592
+ # resp.assessments[0].sensitive_information_policy.regexes[0].detected #=> Boolean
574
593
  # resp.assessments[0].contextual_grounding_policy.filters #=> Array
575
594
  # resp.assessments[0].contextual_grounding_policy.filters[0].type #=> String, one of "GROUNDING", "RELEVANCE"
576
595
  # resp.assessments[0].contextual_grounding_policy.filters[0].threshold #=> Float
577
596
  # resp.assessments[0].contextual_grounding_policy.filters[0].score #=> Float
578
597
  # resp.assessments[0].contextual_grounding_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
598
+ # resp.assessments[0].contextual_grounding_policy.filters[0].detected #=> Boolean
579
599
  # resp.assessments[0].invocation_metrics.guardrail_processing_latency #=> Integer
580
600
  # resp.assessments[0].invocation_metrics.usage.topic_policy_units #=> Integer
581
601
  # resp.assessments[0].invocation_metrics.usage.content_policy_units #=> Integer
@@ -938,7 +958,7 @@ module Aws::BedrockRuntime
938
958
  # guardrail_config: {
939
959
  # guardrail_identifier: "GuardrailIdentifier", # required
940
960
  # guardrail_version: "GuardrailVersion", # required
941
- # trace: "enabled", # accepts enabled, disabled
961
+ # trace: "enabled", # accepts enabled, disabled, enabled_full
942
962
  # },
943
963
  # additional_model_request_fields: {
944
964
  # },
@@ -1007,33 +1027,40 @@ module Aws::BedrockRuntime
1007
1027
  # resp.trace.guardrail.input_assessment["String"].topic_policy.topics #=> Array
1008
1028
  # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].name #=> String
1009
1029
  # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].type #=> String, one of "DENY"
1010
- # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].action #=> String, one of "BLOCKED"
1030
+ # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].action #=> String, one of "BLOCKED", "NONE"
1031
+ # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].detected #=> Boolean
1011
1032
  # resp.trace.guardrail.input_assessment["String"].content_policy.filters #=> Array
1012
1033
  # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK"
1013
1034
  # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1014
1035
  # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].filter_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1015
- # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].action #=> String, one of "BLOCKED"
1036
+ # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1037
+ # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].detected #=> Boolean
1016
1038
  # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words #=> Array
1017
1039
  # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].match #=> String
1018
- # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].action #=> String, one of "BLOCKED"
1040
+ # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].action #=> String, one of "BLOCKED", "NONE"
1041
+ # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].detected #=> Boolean
1019
1042
  # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists #=> Array
1020
1043
  # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].match #=> String
1021
1044
  # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY"
1022
- # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED"
1045
+ # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED", "NONE"
1046
+ # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].detected #=> Boolean
1023
1047
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities #=> Array
1024
1048
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].match #=> String
1025
1049
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[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"
1026
- # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1050
+ # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1051
+ # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].detected #=> Boolean
1027
1052
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes #=> Array
1028
1053
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].name #=> String
1029
1054
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].match #=> String
1030
1055
  # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].regex #=> String
1031
- # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1056
+ # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1057
+ # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].detected #=> Boolean
1032
1058
  # resp.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters #=> Array
1033
1059
  # resp.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].type #=> String, one of "GROUNDING", "RELEVANCE"
1034
1060
  # resp.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].threshold #=> Float
1035
1061
  # resp.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].score #=> Float
1036
1062
  # resp.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1063
+ # resp.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].detected #=> Boolean
1037
1064
  # resp.trace.guardrail.input_assessment["String"].invocation_metrics.guardrail_processing_latency #=> Integer
1038
1065
  # resp.trace.guardrail.input_assessment["String"].invocation_metrics.usage.topic_policy_units #=> Integer
1039
1066
  # resp.trace.guardrail.input_assessment["String"].invocation_metrics.usage.content_policy_units #=> Integer
@@ -1051,33 +1078,40 @@ module Aws::BedrockRuntime
1051
1078
  # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics #=> Array
1052
1079
  # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].name #=> String
1053
1080
  # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].type #=> String, one of "DENY"
1054
- # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].action #=> String, one of "BLOCKED"
1081
+ # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].action #=> String, one of "BLOCKED", "NONE"
1082
+ # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].detected #=> Boolean
1055
1083
  # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters #=> Array
1056
1084
  # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK"
1057
1085
  # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1058
1086
  # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].filter_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1059
- # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].action #=> String, one of "BLOCKED"
1087
+ # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1088
+ # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].detected #=> Boolean
1060
1089
  # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words #=> Array
1061
1090
  # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].match #=> String
1062
- # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].action #=> String, one of "BLOCKED"
1091
+ # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].action #=> String, one of "BLOCKED", "NONE"
1092
+ # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].detected #=> Boolean
1063
1093
  # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists #=> Array
1064
1094
  # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].match #=> String
1065
1095
  # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY"
1066
- # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED"
1096
+ # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED", "NONE"
1097
+ # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].detected #=> Boolean
1067
1098
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities #=> Array
1068
1099
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].match #=> String
1069
1100
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[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"
1070
- # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1101
+ # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1102
+ # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].detected #=> Boolean
1071
1103
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes #=> Array
1072
1104
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].name #=> String
1073
1105
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].match #=> String
1074
1106
  # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].regex #=> String
1075
- # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1107
+ # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1108
+ # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].detected #=> Boolean
1076
1109
  # resp.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters #=> Array
1077
1110
  # resp.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].type #=> String, one of "GROUNDING", "RELEVANCE"
1078
1111
  # resp.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].threshold #=> Float
1079
1112
  # resp.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].score #=> Float
1080
1113
  # resp.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1114
+ # resp.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].detected #=> Boolean
1081
1115
  # resp.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_processing_latency #=> Integer
1082
1116
  # resp.trace.guardrail.output_assessments["String"][0].invocation_metrics.usage.topic_policy_units #=> Integer
1083
1117
  # resp.trace.guardrail.output_assessments["String"][0].invocation_metrics.usage.content_policy_units #=> Integer
@@ -1090,6 +1124,7 @@ module Aws::BedrockRuntime
1090
1124
  # resp.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_coverage.text_characters.total #=> Integer
1091
1125
  # resp.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_coverage.images.guarded #=> Integer
1092
1126
  # resp.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_coverage.images.total #=> Integer
1127
+ # resp.trace.guardrail.action_reason #=> String
1093
1128
  # resp.trace.prompt_router.invoked_model_id #=> String
1094
1129
  # resp.performance_config.latency #=> String, one of "standard", "optimized"
1095
1130
  #
@@ -1616,7 +1651,7 @@ module Aws::BedrockRuntime
1616
1651
  # guardrail_config: {
1617
1652
  # guardrail_identifier: "GuardrailIdentifier", # required
1618
1653
  # guardrail_version: "GuardrailVersion", # required
1619
- # trace: "enabled", # accepts enabled, disabled
1654
+ # trace: "enabled", # accepts enabled, disabled, enabled_full
1620
1655
  # stream_processing_mode: "sync", # accepts sync, async
1621
1656
  # },
1622
1657
  # additional_model_request_fields: {
@@ -1676,33 +1711,40 @@ module Aws::BedrockRuntime
1676
1711
  # event.trace.guardrail.input_assessment["String"].topic_policy.topics #=> Array
1677
1712
  # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].name #=> String
1678
1713
  # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].type #=> String, one of "DENY"
1679
- # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].action #=> String, one of "BLOCKED"
1714
+ # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].action #=> String, one of "BLOCKED", "NONE"
1715
+ # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].detected #=> Boolean
1680
1716
  # event.trace.guardrail.input_assessment["String"].content_policy.filters #=> Array
1681
1717
  # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK"
1682
1718
  # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1683
1719
  # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].filter_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1684
- # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].action #=> String, one of "BLOCKED"
1720
+ # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1721
+ # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].detected #=> Boolean
1685
1722
  # event.trace.guardrail.input_assessment["String"].word_policy.custom_words #=> Array
1686
1723
  # event.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].match #=> String
1687
- # event.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].action #=> String, one of "BLOCKED"
1724
+ # event.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].action #=> String, one of "BLOCKED", "NONE"
1725
+ # event.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].detected #=> Boolean
1688
1726
  # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists #=> Array
1689
1727
  # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].match #=> String
1690
1728
  # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY"
1691
- # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED"
1729
+ # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED", "NONE"
1730
+ # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].detected #=> Boolean
1692
1731
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities #=> Array
1693
1732
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].match #=> String
1694
1733
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[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"
1695
- # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1734
+ # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1735
+ # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].detected #=> Boolean
1696
1736
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes #=> Array
1697
1737
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].name #=> String
1698
1738
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].match #=> String
1699
1739
  # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].regex #=> String
1700
- # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1740
+ # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1741
+ # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].detected #=> Boolean
1701
1742
  # event.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters #=> Array
1702
1743
  # event.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].type #=> String, one of "GROUNDING", "RELEVANCE"
1703
1744
  # event.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].threshold #=> Float
1704
1745
  # event.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].score #=> Float
1705
1746
  # event.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1747
+ # event.trace.guardrail.input_assessment["String"].contextual_grounding_policy.filters[0].detected #=> Boolean
1706
1748
  # event.trace.guardrail.input_assessment["String"].invocation_metrics.guardrail_processing_latency #=> Integer
1707
1749
  # event.trace.guardrail.input_assessment["String"].invocation_metrics.usage.topic_policy_units #=> Integer
1708
1750
  # event.trace.guardrail.input_assessment["String"].invocation_metrics.usage.content_policy_units #=> Integer
@@ -1720,33 +1762,40 @@ module Aws::BedrockRuntime
1720
1762
  # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics #=> Array
1721
1763
  # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].name #=> String
1722
1764
  # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].type #=> String, one of "DENY"
1723
- # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].action #=> String, one of "BLOCKED"
1765
+ # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].action #=> String, one of "BLOCKED", "NONE"
1766
+ # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].detected #=> Boolean
1724
1767
  # event.trace.guardrail.output_assessments["String"][0].content_policy.filters #=> Array
1725
1768
  # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK"
1726
1769
  # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1727
1770
  # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].filter_strength #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH"
1728
- # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].action #=> String, one of "BLOCKED"
1771
+ # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1772
+ # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].detected #=> Boolean
1729
1773
  # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words #=> Array
1730
1774
  # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].match #=> String
1731
- # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].action #=> String, one of "BLOCKED"
1775
+ # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].action #=> String, one of "BLOCKED", "NONE"
1776
+ # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].detected #=> Boolean
1732
1777
  # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists #=> Array
1733
1778
  # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].match #=> String
1734
1779
  # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY"
1735
- # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED"
1780
+ # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED", "NONE"
1781
+ # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].detected #=> Boolean
1736
1782
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities #=> Array
1737
1783
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].match #=> String
1738
1784
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[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"
1739
- # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1785
+ # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1786
+ # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].detected #=> Boolean
1740
1787
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes #=> Array
1741
1788
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].name #=> String
1742
1789
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].match #=> String
1743
1790
  # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].regex #=> String
1744
- # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED"
1791
+ # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED", "NONE"
1792
+ # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].detected #=> Boolean
1745
1793
  # event.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters #=> Array
1746
1794
  # event.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].type #=> String, one of "GROUNDING", "RELEVANCE"
1747
1795
  # event.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].threshold #=> Float
1748
1796
  # event.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].score #=> Float
1749
1797
  # event.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].action #=> String, one of "BLOCKED", "NONE"
1798
+ # event.trace.guardrail.output_assessments["String"][0].contextual_grounding_policy.filters[0].detected #=> Boolean
1750
1799
  # event.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_processing_latency #=> Integer
1751
1800
  # event.trace.guardrail.output_assessments["String"][0].invocation_metrics.usage.topic_policy_units #=> Integer
1752
1801
  # event.trace.guardrail.output_assessments["String"][0].invocation_metrics.usage.content_policy_units #=> Integer
@@ -1759,6 +1808,7 @@ module Aws::BedrockRuntime
1759
1808
  # event.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_coverage.text_characters.total #=> Integer
1760
1809
  # event.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_coverage.images.guarded #=> Integer
1761
1810
  # event.trace.guardrail.output_assessments["String"][0].invocation_metrics.guardrail_coverage.images.total #=> Integer
1811
+ # event.trace.guardrail.action_reason #=> String
1762
1812
  # event.trace.prompt_router.invoked_model_id #=> String
1763
1813
  # event.performance_config.latency #=> String, one of "standard", "optimized"
1764
1814
  #
@@ -1976,7 +2026,7 @@ module Aws::BedrockRuntime
1976
2026
  # content_type: "MimeType",
1977
2027
  # accept: "MimeType",
1978
2028
  # model_id: "InvokeModelIdentifier", # required
1979
- # trace: "ENABLED", # accepts ENABLED, DISABLED
2029
+ # trace: "ENABLED", # accepts ENABLED, DISABLED, ENABLED_FULL
1980
2030
  # guardrail_identifier: "GuardrailIdentifier",
1981
2031
  # guardrail_version: "GuardrailVersion",
1982
2032
  # performance_config_latency: "standard", # accepts standard, optimized
@@ -2267,7 +2317,7 @@ module Aws::BedrockRuntime
2267
2317
  # content_type: "MimeType",
2268
2318
  # accept: "MimeType",
2269
2319
  # model_id: "InvokeModelIdentifier", # required
2270
- # trace: "ENABLED", # accepts ENABLED, DISABLED
2320
+ # trace: "ENABLED", # accepts ENABLED, DISABLED, ENABLED_FULL
2271
2321
  # guardrail_identifier: "GuardrailIdentifier",
2272
2322
  # guardrail_version: "GuardrailVersion",
2273
2323
  # performance_config_latency: "standard", # accepts standard, optimized
@@ -2498,7 +2548,7 @@ module Aws::BedrockRuntime
2498
2548
  tracer: tracer
2499
2549
  )
2500
2550
  context[:gem_name] = 'aws-sdk-bedrockruntime'
2501
- context[:gem_version] = '1.42.0'
2551
+ context[:gem_version] = '1.44.0'
2502
2552
  Seahorse::Client::Request.new(handlers, context)
2503
2553
  end
2504
2554
 
@@ -29,8 +29,11 @@ module Aws::BedrockRuntime
29
29
  AsyncInvokeSummaries = Shapes::ListShape.new(name: 'AsyncInvokeSummaries')
30
30
  AsyncInvokeSummary = Shapes::StructureShape.new(name: 'AsyncInvokeSummary')
31
31
  AutoToolChoice = Shapes::StructureShape.new(name: 'AutoToolChoice')
32
+ BidirectionalInputPayloadPart = Shapes::StructureShape.new(name: 'BidirectionalInputPayloadPart')
33
+ BidirectionalOutputPayloadPart = Shapes::StructureShape.new(name: 'BidirectionalOutputPayloadPart')
32
34
  Blob = Shapes::BlobShape.new(name: 'Blob')
33
35
  Body = Shapes::BlobShape.new(name: 'Body')
36
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
34
37
  CachePointBlock = Shapes::StructureShape.new(name: 'CachePointBlock')
35
38
  CachePointType = Shapes::StringShape.new(name: 'CachePointType')
36
39
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
@@ -117,6 +120,7 @@ module Aws::BedrockRuntime
117
120
  GuardrailManagedWordType = Shapes::StringShape.new(name: 'GuardrailManagedWordType')
118
121
  GuardrailOutputContent = Shapes::StructureShape.new(name: 'GuardrailOutputContent')
119
122
  GuardrailOutputContentList = Shapes::ListShape.new(name: 'GuardrailOutputContentList')
123
+ GuardrailOutputScope = Shapes::StringShape.new(name: 'GuardrailOutputScope')
120
124
  GuardrailOutputText = Shapes::StringShape.new(name: 'GuardrailOutputText')
121
125
  GuardrailPiiEntityFilter = Shapes::StructureShape.new(name: 'GuardrailPiiEntityFilter')
122
126
  GuardrailPiiEntityFilterList = Shapes::ListShape.new(name: 'GuardrailPiiEntityFilterList')
@@ -161,6 +165,10 @@ module Aws::BedrockRuntime
161
165
  InvokeModelIdentifier = Shapes::StringShape.new(name: 'InvokeModelIdentifier')
162
166
  InvokeModelRequest = Shapes::StructureShape.new(name: 'InvokeModelRequest')
163
167
  InvokeModelResponse = Shapes::StructureShape.new(name: 'InvokeModelResponse')
168
+ InvokeModelWithBidirectionalStreamInput = Shapes::StructureShape.new(name: 'InvokeModelWithBidirectionalStreamInput')
169
+ InvokeModelWithBidirectionalStreamOutput = Shapes::StructureShape.new(name: 'InvokeModelWithBidirectionalStreamOutput')
170
+ InvokeModelWithBidirectionalStreamRequest = Shapes::StructureShape.new(name: 'InvokeModelWithBidirectionalStreamRequest')
171
+ InvokeModelWithBidirectionalStreamResponse = Shapes::StructureShape.new(name: 'InvokeModelWithBidirectionalStreamResponse')
164
172
  InvokeModelWithResponseStreamRequest = Shapes::StructureShape.new(name: 'InvokeModelWithResponseStreamRequest')
165
173
  InvokeModelWithResponseStreamResponse = Shapes::StructureShape.new(name: 'InvokeModelWithResponseStreamResponse')
166
174
  InvokedModelId = Shapes::StringShape.new(name: 'InvokedModelId')
@@ -258,10 +266,12 @@ module Aws::BedrockRuntime
258
266
  ApplyGuardrailRequest.add_member(:guardrail_version, Shapes::ShapeRef.new(shape: GuardrailVersion, required: true, location: "uri", location_name: "guardrailVersion"))
259
267
  ApplyGuardrailRequest.add_member(:source, Shapes::ShapeRef.new(shape: GuardrailContentSource, required: true, location_name: "source"))
260
268
  ApplyGuardrailRequest.add_member(:content, Shapes::ShapeRef.new(shape: GuardrailContentBlockList, required: true, location_name: "content"))
269
+ ApplyGuardrailRequest.add_member(:output_scope, Shapes::ShapeRef.new(shape: GuardrailOutputScope, location_name: "outputScope"))
261
270
  ApplyGuardrailRequest.struct_class = Types::ApplyGuardrailRequest
262
271
 
263
272
  ApplyGuardrailResponse.add_member(:usage, Shapes::ShapeRef.new(shape: GuardrailUsage, required: true, location_name: "usage"))
264
273
  ApplyGuardrailResponse.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailAction, required: true, location_name: "action"))
274
+ ApplyGuardrailResponse.add_member(:action_reason, Shapes::ShapeRef.new(shape: String, location_name: "actionReason"))
265
275
  ApplyGuardrailResponse.add_member(:outputs, Shapes::ShapeRef.new(shape: GuardrailOutputContentList, required: true, location_name: "outputs"))
266
276
  ApplyGuardrailResponse.add_member(:assessments, Shapes::ShapeRef.new(shape: GuardrailAssessmentList, required: true, location_name: "assessments"))
267
277
  ApplyGuardrailResponse.add_member(:guardrail_coverage, Shapes::ShapeRef.new(shape: GuardrailCoverage, location_name: "guardrailCoverage"))
@@ -293,6 +303,12 @@ module Aws::BedrockRuntime
293
303
 
294
304
  AutoToolChoice.struct_class = Types::AutoToolChoice
295
305
 
306
+ BidirectionalInputPayloadPart.add_member(:bytes, Shapes::ShapeRef.new(shape: PartBody, location_name: "bytes"))
307
+ BidirectionalInputPayloadPart.struct_class = Types::BidirectionalInputPayloadPart
308
+
309
+ BidirectionalOutputPayloadPart.add_member(:bytes, Shapes::ShapeRef.new(shape: PartBody, location_name: "bytes"))
310
+ BidirectionalOutputPayloadPart.struct_class = Types::BidirectionalOutputPayloadPart
311
+
296
312
  CachePointBlock.add_member(:type, Shapes::ShapeRef.new(shape: CachePointType, required: true, location_name: "type"))
297
313
  CachePointBlock.struct_class = Types::CachePointBlock
298
314
 
@@ -493,6 +509,7 @@ module Aws::BedrockRuntime
493
509
  GuardrailContentFilter.add_member(:confidence, Shapes::ShapeRef.new(shape: GuardrailContentFilterConfidence, required: true, location_name: "confidence"))
494
510
  GuardrailContentFilter.add_member(:filter_strength, Shapes::ShapeRef.new(shape: GuardrailContentFilterStrength, location_name: "filterStrength"))
495
511
  GuardrailContentFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailContentPolicyAction, required: true, location_name: "action"))
512
+ GuardrailContentFilter.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
496
513
  GuardrailContentFilter.struct_class = Types::GuardrailContentFilter
497
514
 
498
515
  GuardrailContentFilterList.member = Shapes::ShapeRef.new(shape: GuardrailContentFilter)
@@ -506,6 +523,7 @@ module Aws::BedrockRuntime
506
523
  GuardrailContextualGroundingFilter.add_member(:threshold, Shapes::ShapeRef.new(shape: GuardrailContextualGroundingFilterThresholdDouble, required: true, location_name: "threshold"))
507
524
  GuardrailContextualGroundingFilter.add_member(:score, Shapes::ShapeRef.new(shape: GuardrailContextualGroundingFilterScoreDouble, required: true, location_name: "score"))
508
525
  GuardrailContextualGroundingFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailContextualGroundingPolicyAction, required: true, location_name: "action"))
526
+ GuardrailContextualGroundingFilter.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
509
527
  GuardrailContextualGroundingFilter.struct_class = Types::GuardrailContextualGroundingFilter
510
528
 
511
529
  GuardrailContextualGroundingFilters.member = Shapes::ShapeRef.new(shape: GuardrailContextualGroundingFilter)
@@ -543,6 +561,7 @@ module Aws::BedrockRuntime
543
561
 
544
562
  GuardrailCustomWord.add_member(:match, Shapes::ShapeRef.new(shape: String, required: true, location_name: "match"))
545
563
  GuardrailCustomWord.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailWordPolicyAction, required: true, location_name: "action"))
564
+ GuardrailCustomWord.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
546
565
  GuardrailCustomWord.struct_class = Types::GuardrailCustomWord
547
566
 
548
567
  GuardrailCustomWordList.member = Shapes::ShapeRef.new(shape: GuardrailCustomWord)
@@ -569,6 +588,7 @@ module Aws::BedrockRuntime
569
588
  GuardrailManagedWord.add_member(:match, Shapes::ShapeRef.new(shape: String, required: true, location_name: "match"))
570
589
  GuardrailManagedWord.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailManagedWordType, required: true, location_name: "type"))
571
590
  GuardrailManagedWord.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailWordPolicyAction, required: true, location_name: "action"))
591
+ GuardrailManagedWord.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
572
592
  GuardrailManagedWord.struct_class = Types::GuardrailManagedWord
573
593
 
574
594
  GuardrailManagedWordList.member = Shapes::ShapeRef.new(shape: GuardrailManagedWord)
@@ -581,6 +601,7 @@ module Aws::BedrockRuntime
581
601
  GuardrailPiiEntityFilter.add_member(:match, Shapes::ShapeRef.new(shape: String, required: true, location_name: "match"))
582
602
  GuardrailPiiEntityFilter.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailPiiEntityType, required: true, location_name: "type"))
583
603
  GuardrailPiiEntityFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailSensitiveInformationPolicyAction, required: true, location_name: "action"))
604
+ GuardrailPiiEntityFilter.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
584
605
  GuardrailPiiEntityFilter.struct_class = Types::GuardrailPiiEntityFilter
585
606
 
586
607
  GuardrailPiiEntityFilterList.member = Shapes::ShapeRef.new(shape: GuardrailPiiEntityFilter)
@@ -589,6 +610,7 @@ module Aws::BedrockRuntime
589
610
  GuardrailRegexFilter.add_member(:match, Shapes::ShapeRef.new(shape: String, location_name: "match"))
590
611
  GuardrailRegexFilter.add_member(:regex, Shapes::ShapeRef.new(shape: String, location_name: "regex"))
591
612
  GuardrailRegexFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailSensitiveInformationPolicyAction, required: true, location_name: "action"))
613
+ GuardrailRegexFilter.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
592
614
  GuardrailRegexFilter.struct_class = Types::GuardrailRegexFilter
593
615
 
594
616
  GuardrailRegexFilterList.member = Shapes::ShapeRef.new(shape: GuardrailRegexFilter)
@@ -614,6 +636,7 @@ module Aws::BedrockRuntime
614
636
  GuardrailTopic.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
615
637
  GuardrailTopic.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailTopicType, required: true, location_name: "type"))
616
638
  GuardrailTopic.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailTopicPolicyAction, required: true, location_name: "action"))
639
+ GuardrailTopic.add_member(:detected, Shapes::ShapeRef.new(shape: Boolean, location_name: "detected"))
617
640
  GuardrailTopic.struct_class = Types::GuardrailTopic
618
641
 
619
642
  GuardrailTopicList.member = Shapes::ShapeRef.new(shape: GuardrailTopic)
@@ -624,6 +647,7 @@ module Aws::BedrockRuntime
624
647
  GuardrailTraceAssessment.add_member(:model_output, Shapes::ShapeRef.new(shape: ModelOutputs, location_name: "modelOutput"))
625
648
  GuardrailTraceAssessment.add_member(:input_assessment, Shapes::ShapeRef.new(shape: GuardrailAssessmentMap, location_name: "inputAssessment"))
626
649
  GuardrailTraceAssessment.add_member(:output_assessments, Shapes::ShapeRef.new(shape: GuardrailAssessmentListMap, location_name: "outputAssessments"))
650
+ GuardrailTraceAssessment.add_member(:action_reason, Shapes::ShapeRef.new(shape: String, location_name: "actionReason"))
627
651
  GuardrailTraceAssessment.struct_class = Types::GuardrailTraceAssessment
628
652
 
629
653
  GuardrailUsage.add_member(:topic_policy_units, Shapes::ShapeRef.new(shape: GuardrailTopicPolicyUnitsProcessed, required: true, location_name: "topicPolicyUnits"))
@@ -679,6 +703,29 @@ module Aws::BedrockRuntime
679
703
  InvokeModelResponse[:payload] = :body
680
704
  InvokeModelResponse[:payload_member] = InvokeModelResponse.member(:body)
681
705
 
706
+ InvokeModelWithBidirectionalStreamInput.add_member(:chunk, Shapes::ShapeRef.new(shape: BidirectionalInputPayloadPart, event: true, location_name: "chunk"))
707
+ InvokeModelWithBidirectionalStreamInput.struct_class = Types::InvokeModelWithBidirectionalStreamInput
708
+
709
+ InvokeModelWithBidirectionalStreamOutput.add_member(:chunk, Shapes::ShapeRef.new(shape: BidirectionalOutputPayloadPart, event: true, location_name: "chunk"))
710
+ InvokeModelWithBidirectionalStreamOutput.add_member(:internal_server_exception, Shapes::ShapeRef.new(shape: InternalServerException, location_name: "internalServerException"))
711
+ InvokeModelWithBidirectionalStreamOutput.add_member(:model_stream_error_exception, Shapes::ShapeRef.new(shape: ModelStreamErrorException, location_name: "modelStreamErrorException"))
712
+ InvokeModelWithBidirectionalStreamOutput.add_member(:validation_exception, Shapes::ShapeRef.new(shape: ValidationException, location_name: "validationException"))
713
+ InvokeModelWithBidirectionalStreamOutput.add_member(:throttling_exception, Shapes::ShapeRef.new(shape: ThrottlingException, location_name: "throttlingException"))
714
+ InvokeModelWithBidirectionalStreamOutput.add_member(:model_timeout_exception, Shapes::ShapeRef.new(shape: ModelTimeoutException, location_name: "modelTimeoutException"))
715
+ InvokeModelWithBidirectionalStreamOutput.add_member(:service_unavailable_exception, Shapes::ShapeRef.new(shape: ServiceUnavailableException, location_name: "serviceUnavailableException"))
716
+ InvokeModelWithBidirectionalStreamOutput.struct_class = Types::InvokeModelWithBidirectionalStreamOutput
717
+
718
+ InvokeModelWithBidirectionalStreamRequest.add_member(:model_id, Shapes::ShapeRef.new(shape: InvokeModelIdentifier, required: true, location: "uri", location_name: "modelId"))
719
+ InvokeModelWithBidirectionalStreamRequest.add_member(:body, Shapes::ShapeRef.new(shape: InvokeModelWithBidirectionalStreamInput, required: true, eventstream: true, location_name: "body"))
720
+ InvokeModelWithBidirectionalStreamRequest.struct_class = Types::InvokeModelWithBidirectionalStreamRequest
721
+ InvokeModelWithBidirectionalStreamRequest[:payload] = :body
722
+ InvokeModelWithBidirectionalStreamRequest[:payload_member] = InvokeModelWithBidirectionalStreamRequest.member(:body)
723
+
724
+ InvokeModelWithBidirectionalStreamResponse.add_member(:body, Shapes::ShapeRef.new(shape: InvokeModelWithBidirectionalStreamOutput, required: true, eventstream: true, location_name: "body"))
725
+ InvokeModelWithBidirectionalStreamResponse.struct_class = Types::InvokeModelWithBidirectionalStreamResponse
726
+ InvokeModelWithBidirectionalStreamResponse[:payload] = :body
727
+ InvokeModelWithBidirectionalStreamResponse[:payload_member] = InvokeModelWithBidirectionalStreamResponse.member(:body)
728
+
682
729
  InvokeModelWithResponseStreamRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "body"))
683
730
  InvokeModelWithResponseStreamRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: MimeType, location: "header", location_name: "Content-Type"))
684
731
  InvokeModelWithResponseStreamRequest.add_member(:accept, Shapes::ShapeRef.new(shape: MimeType, location: "header", location_name: "X-Amzn-Bedrock-Accept"))
@@ -942,6 +989,7 @@ module Aws::BedrockRuntime
942
989
  "auth" => ["aws.auth#sigv4"],
943
990
  "endpointPrefix" => "bedrock-runtime",
944
991
  "protocol" => "rest-json",
992
+ "protocolSettings" => {"h2"=>"optional"},
945
993
  "protocols" => ["rest-json"],
946
994
  "serviceFullName" => "Amazon Bedrock Runtime",
947
995
  "serviceId" => "Bedrock Runtime",
@@ -971,8 +1019,8 @@ module Aws::BedrockRuntime
971
1019
  o.input = Shapes::ShapeRef.new(shape: ConverseRequest)
972
1020
  o.output = Shapes::ShapeRef.new(shape: ConverseResponse)
973
1021
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
974
- o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
975
1022
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1023
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
976
1024
  o.errors << Shapes::ShapeRef.new(shape: ModelTimeoutException)
977
1025
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
978
1026
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
@@ -988,8 +1036,8 @@ module Aws::BedrockRuntime
988
1036
  o.input = Shapes::ShapeRef.new(shape: ConverseStreamRequest)
989
1037
  o.output = Shapes::ShapeRef.new(shape: ConverseStreamResponse)
990
1038
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
991
- o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
992
1039
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1040
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
993
1041
  o.errors << Shapes::ShapeRef.new(shape: ModelTimeoutException)
994
1042
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
995
1043
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
@@ -1023,9 +1071,29 @@ module Aws::BedrockRuntime
1023
1071
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1024
1072
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1025
1073
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1074
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1026
1075
  o.errors << Shapes::ShapeRef.new(shape: ModelNotReadyException)
1076
+ o.errors << Shapes::ShapeRef.new(shape: ModelErrorException)
1077
+ end)
1078
+
1079
+ api.add_operation(:invoke_model_with_bidirectional_stream, Seahorse::Model::Operation.new.tap do |o|
1080
+ o.name = "InvokeModelWithBidirectionalStream"
1081
+ o.http_method = "POST"
1082
+ o.http_request_uri = "/model/{modelId}/invoke-with-bidirectional-stream"
1083
+ o.input = Shapes::ShapeRef.new(shape: InvokeModelWithBidirectionalStreamRequest)
1084
+ o.output = Shapes::ShapeRef.new(shape: InvokeModelWithBidirectionalStreamResponse)
1085
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1086
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1087
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1088
+ o.errors << Shapes::ShapeRef.new(shape: ModelTimeoutException)
1089
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1090
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1091
+ o.errors << Shapes::ShapeRef.new(shape: ModelStreamErrorException)
1092
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1027
1093
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1094
+ o.errors << Shapes::ShapeRef.new(shape: ModelNotReadyException)
1028
1095
  o.errors << Shapes::ShapeRef.new(shape: ModelErrorException)
1096
+ o.async = true
1029
1097
  end)
1030
1098
 
1031
1099
  api.add_operation(:invoke_model_with_response_stream, Seahorse::Model::Operation.new.tap do |o|
@@ -1042,8 +1110,8 @@ module Aws::BedrockRuntime
1042
1110
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1043
1111
  o.errors << Shapes::ShapeRef.new(shape: ModelStreamErrorException)
1044
1112
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1045
- o.errors << Shapes::ShapeRef.new(shape: ModelNotReadyException)
1046
1113
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1114
+ o.errors << Shapes::ShapeRef.new(shape: ModelNotReadyException)
1047
1115
  o.errors << Shapes::ShapeRef.new(shape: ModelErrorException)
1048
1116
  end)
1049
1117
 
@@ -1072,8 +1140,8 @@ module Aws::BedrockRuntime
1072
1140
  o.input = Shapes::ShapeRef.new(shape: StartAsyncInvokeRequest)
1073
1141
  o.output = Shapes::ShapeRef.new(shape: StartAsyncInvokeResponse)
1074
1142
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1075
- o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1076
1143
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1144
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1077
1145
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1078
1146
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1079
1147
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)