CfnTablePropsMixin

class aws_cdk.mixins_preview.aws_s3tables.mixins.CfnTablePropsMixin(props, *, strategy=None)

Bases: Mixin

Creates a new table associated with the given namespace in a table bucket.

For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide .

  • Permissions - - You must have the s3tables:CreateTable permission to use this operation.

  • If you use this operation with the optional metadata request parameter you must have the s3tables:PutTableData permission.

  • If you use this operation with the optional encryptionConfiguration request parameter you must have the s3tables:PutTableEncryption permission.

Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption .

  • Cloud Development Kit - To use S3 Tables AWS CDK constructs, add the @aws-cdk/aws-s3tables-alpha dependency with one of the following options:

  • NPM: `npm i

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html

Aws-cdk:

/aws-s3tables-alpha`

  • Yarn: yarn add @aws-cdk/aws-s3tables-alpha

CloudformationResource:

AWS::S3Tables::Table

Mixin:

true

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview import mixins
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

cfn_table_props_mixin = s3tables_mixins.CfnTablePropsMixin(s3tables_mixins.CfnTableMixinProps(
    compaction=s3tables_mixins.CfnTablePropsMixin.CompactionProperty(
        status="status",
        target_file_size_mb=123
    ),
    iceberg_metadata=s3tables_mixins.CfnTablePropsMixin.IcebergMetadataProperty(
        iceberg_schema=s3tables_mixins.CfnTablePropsMixin.IcebergSchemaProperty(
            schema_field_list=[s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
                name="name",
                required=False,
                type="type"
            )]
        )
    ),
    namespace="namespace",
    open_table_format="openTableFormat",
    snapshot_management=s3tables_mixins.CfnTablePropsMixin.SnapshotManagementProperty(
        max_snapshot_age_hours=123,
        min_snapshots_to_keep=123,
        status="status"
    ),
    table_bucket_arn="tableBucketArn",
    table_name="tableName",
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    without_metadata="withoutMetadata"
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::S3Tables::Table.

Parameters:
  • props (Union[CfnTableMixinProps, Dict[str, Any]]) – L1 properties to apply.

  • strategy (Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE

Methods

apply_to(construct)

Apply the mixin properties to the construct.

Parameters:

construct (IConstruct)

Return type:

IConstruct

supports(construct)

Check if this mixin supports the given construct.

Parameters:

construct (IConstruct)

Return type:

bool

Attributes

CFN_PROPERTY_KEYS = ['compaction', 'icebergMetadata', 'namespace', 'openTableFormat', 'snapshotManagement', 'tableBucketArn', 'tableName', 'tags', 'withoutMetadata']

Static Methods

classmethod is_mixin(x)

(experimental) Checks if x is a Mixin.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Mixin.

Stability:

experimental

CompactionProperty

class CfnTablePropsMixin.CompactionProperty(*, status=None, target_file_size_mb=None)

Bases: object

Contains details about the compaction settings for an Iceberg table.

Parameters:
  • status (Optional[str]) – The status of the maintenance configuration.

  • target_file_size_mb (Union[int, float, None]) – The target file size for the table in MB.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

compaction_property = s3tables_mixins.CfnTablePropsMixin.CompactionProperty(
    status="status",
    target_file_size_mb=123
)

Attributes

status

The status of the maintenance configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-status

target_file_size_mb

The target file size for the table in MB.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-targetfilesizemb

IcebergMetadataProperty

class CfnTablePropsMixin.IcebergMetadataProperty(*, iceberg_schema=None)

Bases: object

Contains details about the metadata for an Iceberg table.

Parameters:

iceberg_schema (Union[IResolvable, IcebergSchemaProperty, Dict[str, Any], None]) – The schema for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_metadata_property = s3tables_mixins.CfnTablePropsMixin.IcebergMetadataProperty(
    iceberg_schema=s3tables_mixins.CfnTablePropsMixin.IcebergSchemaProperty(
        schema_field_list=[s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
            name="name",
            required=False,
            type="type"
        )]
    )
)

Attributes

iceberg_schema

The schema for an Iceberg table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-icebergschema

IcebergSchemaProperty

class CfnTablePropsMixin.IcebergSchemaProperty(*, schema_field_list=None)

Bases: object

Contains details about the schema for an Iceberg table.

Parameters:

schema_field_list (Union[IResolvable, Sequence[Union[IResolvable, SchemaFieldProperty, Dict[str, Any]]], None]) – The schema fields for the table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

iceberg_schema_property = s3tables_mixins.CfnTablePropsMixin.IcebergSchemaProperty(
    schema_field_list=[s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
        name="name",
        required=False,
        type="type"
    )]
)

Attributes

schema_field_list

The schema fields for the table.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html#cfn-s3tables-table-icebergschema-schemafieldlist

SchemaFieldProperty

class CfnTablePropsMixin.SchemaFieldProperty(*, name=None, required=None, type=None)

Bases: object

Contains details about a schema field.

Parameters:
  • name (Optional[str]) – The name of the field.

  • required (Union[bool, IResolvable, None]) – A Boolean value that specifies whether values are required for each row in this field. By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

  • type (Optional[str]) – The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

schema_field_property = s3tables_mixins.CfnTablePropsMixin.SchemaFieldProperty(
    name="name",
    required=False,
    type="type"
)

Attributes

name

The name of the field.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-name

required

A Boolean value that specifies whether values are required for each row in this field.

By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-required

type

The field type.

S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-type

SnapshotManagementProperty

class CfnTablePropsMixin.SnapshotManagementProperty(*, max_snapshot_age_hours=None, min_snapshots_to_keep=None, status=None)

Bases: object

Contains details about the snapshot management settings for an Iceberg table.

The oldest snapshot expires when its age exceeds the maxSnapshotAgeHours and the total number of snapshots exceeds the value for the minimum number of snapshots to keep minSnapshotsToKeep .

Parameters:
  • max_snapshot_age_hours (Union[int, float, None]) – The maximum age of a snapshot before it can be expired.

  • min_snapshots_to_keep (Union[int, float, None]) – The minimum number of snapshots to keep.

  • status (Optional[str]) – The status of the maintenance configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_s3tables import mixins as s3tables_mixins

snapshot_management_property = s3tables_mixins.CfnTablePropsMixin.SnapshotManagementProperty(
    max_snapshot_age_hours=123,
    min_snapshots_to_keep=123,
    status="status"
)

Attributes

max_snapshot_age_hours

The maximum age of a snapshot before it can be expired.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-maxsnapshotagehours

min_snapshots_to_keep

The minimum number of snapshots to keep.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-minsnapshotstokeep

status

The status of the maintenance configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-status