def com_amazonaws_dynamodb_TableDescription()

in ComAmazonawsDynamodb/runtimes/python/src/aws_cryptography_internal_dynamodb/smithygenerated/com_amazonaws_dynamodb/dafny_to_aws_sdk.py [0:0]


def com_amazonaws_dynamodb_TableDescription(dafny_input):
    output = {}
    if dafny_input.AttributeDefinitions.is_Some:
        output["AttributeDefinitions"] = [
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_AttributeDefinition(
                list_element
            )
            for list_element in dafny_input.AttributeDefinitions.value
        ]

    if dafny_input.TableName.is_Some:
        output["TableName"] = b"".join(
            ord(c).to_bytes(2, "big") for c in dafny_input.TableName.value
        ).decode("utf-16-be")

    if dafny_input.KeySchema.is_Some:
        output["KeySchema"] = [
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_KeySchemaElement(
                list_element
            )
            for list_element in dafny_input.KeySchema.value
        ]

    if dafny_input.TableStatus.is_Some:
        output["TableStatus"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_TableStatus(
                dafny_input.TableStatus.value
            )
        )

    if dafny_input.CreationDateTime.is_Some:
        output["CreationDateTime"] = datetime.fromisoformat(
            dafny_input.CreationDateTime.value.VerbatimString(False)
        )

    if dafny_input.ProvisionedThroughput.is_Some:
        output["ProvisionedThroughput"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_ProvisionedThroughputDescription(
                dafny_input.ProvisionedThroughput.value
            )
        )

    if dafny_input.TableSizeBytes.is_Some:
        output["TableSizeBytes"] = dafny_input.TableSizeBytes.value

    if dafny_input.ItemCount.is_Some:
        output["ItemCount"] = dafny_input.ItemCount.value

    if dafny_input.TableArn.is_Some:
        output["TableArn"] = b"".join(
            ord(c).to_bytes(2, "big") for c in dafny_input.TableArn.value
        ).decode("utf-16-be")

    if dafny_input.TableId.is_Some:
        output["TableId"] = b"".join(
            ord(c).to_bytes(2, "big") for c in dafny_input.TableId.value
        ).decode("utf-16-be")

    if dafny_input.BillingModeSummary.is_Some:
        output["BillingModeSummary"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_BillingModeSummary(
                dafny_input.BillingModeSummary.value
            )
        )

    if dafny_input.LocalSecondaryIndexes.is_Some:
        output["LocalSecondaryIndexes"] = [
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_LocalSecondaryIndexDescription(
                list_element
            )
            for list_element in dafny_input.LocalSecondaryIndexes.value
        ]

    if dafny_input.GlobalSecondaryIndexes.is_Some:
        output["GlobalSecondaryIndexes"] = [
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_GlobalSecondaryIndexDescription(
                list_element
            )
            for list_element in dafny_input.GlobalSecondaryIndexes.value
        ]

    if dafny_input.StreamSpecification.is_Some:
        output["StreamSpecification"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_StreamSpecification(
                dafny_input.StreamSpecification.value
            )
        )

    if dafny_input.LatestStreamLabel.is_Some:
        output["LatestStreamLabel"] = b"".join(
            ord(c).to_bytes(2, "big") for c in dafny_input.LatestStreamLabel.value
        ).decode("utf-16-be")

    if dafny_input.LatestStreamArn.is_Some:
        output["LatestStreamArn"] = b"".join(
            ord(c).to_bytes(2, "big") for c in dafny_input.LatestStreamArn.value
        ).decode("utf-16-be")

    if dafny_input.GlobalTableVersion.is_Some:
        output["GlobalTableVersion"] = b"".join(
            ord(c).to_bytes(2, "big") for c in dafny_input.GlobalTableVersion.value
        ).decode("utf-16-be")

    if dafny_input.Replicas.is_Some:
        output["Replicas"] = [
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_ReplicaDescription(
                list_element
            )
            for list_element in dafny_input.Replicas.value
        ]

    if dafny_input.RestoreSummary.is_Some:
        output["RestoreSummary"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_RestoreSummary(
                dafny_input.RestoreSummary.value
            )
        )

    if dafny_input.SSEDescription.is_Some:
        output["SSEDescription"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_SSEDescription(
                dafny_input.SSEDescription.value
            )
        )

    if dafny_input.ArchivalSummary.is_Some:
        output["ArchivalSummary"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_ArchivalSummary(
                dafny_input.ArchivalSummary.value
            )
        )

    if dafny_input.TableClassSummary.is_Some:
        output["TableClassSummary"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_TableClassSummary(
                dafny_input.TableClassSummary.value
            )
        )

    if dafny_input.DeletionProtectionEnabled.is_Some:
        output["DeletionProtectionEnabled"] = (
            dafny_input.DeletionProtectionEnabled.value
        )

    if dafny_input.OnDemandThroughput.is_Some:
        output["OnDemandThroughput"] = (
            aws_cryptography_internal_dynamodb.smithygenerated.com_amazonaws_dynamodb.dafny_to_aws_sdk.com_amazonaws_dynamodb_OnDemandThroughput(
                dafny_input.OnDemandThroughput.value
            )
        )

    return output