def com_amazonaws_kms_KeyMetadata()

in ComAmazonawsKms/runtimes/python/src/aws_cryptography_internal_kms/smithygenerated/com_amazonaws_kms/dafny_to_aws_sdk.py [0:0]


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

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

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

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

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

    if dafny_input.KeyUsage.is_Some:
        output["KeyUsage"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_KeyUsageType(
                dafny_input.KeyUsage.value
            )
        )

    if dafny_input.KeyState.is_Some:
        output["KeyState"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_KeyState(
                dafny_input.KeyState.value
            )
        )

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

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

    if dafny_input.Origin.is_Some:
        output["Origin"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_OriginType(
                dafny_input.Origin.value
            )
        )

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

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

    if dafny_input.ExpirationModel.is_Some:
        output["ExpirationModel"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_ExpirationModelType(
                dafny_input.ExpirationModel.value
            )
        )

    if dafny_input.KeyManager.is_Some:
        output["KeyManager"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_KeyManagerType(
                dafny_input.KeyManager.value
            )
        )

    if dafny_input.CustomerMasterKeySpec.is_Some:
        output["CustomerMasterKeySpec"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_CustomerMasterKeySpec(
                dafny_input.CustomerMasterKeySpec.value
            )
        )

    if dafny_input.KeySpec.is_Some:
        output["KeySpec"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_KeySpec(
                dafny_input.KeySpec.value
            )
        )

    if dafny_input.EncryptionAlgorithms.is_Some:
        output["EncryptionAlgorithms"] = [
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_EncryptionAlgorithmSpec(
                list_element
            )
            for list_element in dafny_input.EncryptionAlgorithms.value
        ]

    if dafny_input.SigningAlgorithms.is_Some:
        output["SigningAlgorithms"] = [
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_SigningAlgorithmSpec(
                list_element
            )
            for list_element in dafny_input.SigningAlgorithms.value
        ]

    if dafny_input.KeyAgreementAlgorithms.is_Some:
        output["KeyAgreementAlgorithms"] = [
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_KeyAgreementAlgorithmSpec(
                list_element
            )
            for list_element in dafny_input.KeyAgreementAlgorithms.value
        ]

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

    if dafny_input.MultiRegionConfiguration.is_Some:
        output["MultiRegionConfiguration"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_MultiRegionConfiguration(
                dafny_input.MultiRegionConfiguration.value
            )
        )

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

    if dafny_input.MacAlgorithms.is_Some:
        output["MacAlgorithms"] = [
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_MacAlgorithmSpec(
                list_element
            )
            for list_element in dafny_input.MacAlgorithms.value
        ]

    if dafny_input.XksKeyConfiguration.is_Some:
        output["XksKeyConfiguration"] = (
            aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.dafny_to_aws_sdk.com_amazonaws_kms_XksKeyConfigurationType(
                dafny_input.XksKeyConfiguration.value
            )
        )

    return output