Skip to content

GuardrailSensitiveInformationPolicyAssessment dataclass

The assessment for a Personally Identifiable Information (PII) policy.

Source code in src/aws_sdk_bedrock_runtime/models.py
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
@dataclass(kw_only=True)
class GuardrailSensitiveInformationPolicyAssessment:
    """The assessment for a Personally Identifiable Information (PII) policy."""

    pii_entities: list[GuardrailPiiEntityFilter]
    """The PII entities in the assessment."""

    regexes: list[GuardrailRegexFilter]
    """The regex queries in the assessment."""

    def serialize(self, serializer: ShapeSerializer):
        serializer.write_struct(
            _SCHEMA_GUARDRAIL_SENSITIVE_INFORMATION_POLICY_ASSESSMENT, self
        )

    def serialize_members(self, serializer: ShapeSerializer):
        _serialize_guardrail_pii_entity_filter_list(
            serializer,
            _SCHEMA_GUARDRAIL_SENSITIVE_INFORMATION_POLICY_ASSESSMENT.members[
                "piiEntities"
            ],
            self.pii_entities,
        )
        _serialize_guardrail_regex_filter_list(
            serializer,
            _SCHEMA_GUARDRAIL_SENSITIVE_INFORMATION_POLICY_ASSESSMENT.members[
                "regexes"
            ],
            self.regexes,
        )

    @classmethod
    def deserialize(cls, deserializer: ShapeDeserializer) -> Self:
        return cls(**cls.deserialize_kwargs(deserializer))

    @classmethod
    def deserialize_kwargs(cls, deserializer: ShapeDeserializer) -> dict[str, Any]:
        kwargs: dict[str, Any] = {}

        def _consumer(schema: Schema, de: ShapeDeserializer) -> None:
            match schema.expect_member_index():
                case 0:
                    kwargs["pii_entities"] = (
                        _deserialize_guardrail_pii_entity_filter_list(
                            de,
                            _SCHEMA_GUARDRAIL_SENSITIVE_INFORMATION_POLICY_ASSESSMENT.members[
                                "piiEntities"
                            ],
                        )
                    )

                case 1:
                    kwargs["regexes"] = _deserialize_guardrail_regex_filter_list(
                        de,
                        _SCHEMA_GUARDRAIL_SENSITIVE_INFORMATION_POLICY_ASSESSMENT.members[
                            "regexes"
                        ],
                    )

                case _:
                    logger.debug("Unexpected member schema: %s", schema)

        deserializer.read_struct(
            _SCHEMA_GUARDRAIL_SENSITIVE_INFORMATION_POLICY_ASSESSMENT,
            consumer=_consumer,
        )
        return kwargs

Attributes

pii_entities instance-attribute

pii_entities: list[GuardrailPiiEntityFilter]

The PII entities in the assessment.

regexes instance-attribute

regexes: list[GuardrailRegexFilter]

The regex queries in the assessment.