Skip to content

S3Location dataclass

A storage location in an Amazon S3 bucket.

Source code in src/aws_sdk_bedrock_runtime/models.py
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
@dataclass(kw_only=True)
class S3Location:
    """A storage location in an Amazon S3 bucket."""

    uri: str
    """An object URI starting with `s3://`."""

    bucket_owner: str | None = None
    """If the bucket belongs to another AWS account, specify that account's
    ID.
    """

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

    def serialize_members(self, serializer: ShapeSerializer):
        serializer.write_string(_SCHEMA_S3_LOCATION.members["uri"], self.uri)
        if self.bucket_owner is not None:
            serializer.write_string(
                _SCHEMA_S3_LOCATION.members["bucketOwner"], self.bucket_owner
            )

    @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["uri"] = de.read_string(_SCHEMA_S3_LOCATION.members["uri"])

                case 1:
                    kwargs["bucket_owner"] = de.read_string(
                        _SCHEMA_S3_LOCATION.members["bucketOwner"]
                    )

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

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

Attributes

bucket_owner class-attribute instance-attribute

bucket_owner: str | None = None

If the bucket belongs to another AWS account, specify that account's ID.

uri instance-attribute

uri: str

An object URI starting with s3://.