def com_amazonaws_kms_CreateGrantRequest()

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


def com_amazonaws_kms_CreateGrantRequest(native_input):
    return DafnyCreateGrantRequest(
        KeyId=Seq(
            "".join(
                [
                    chr(int.from_bytes(pair, "big"))
                    for pair in zip(
                        *[iter(native_input["KeyId"].encode("utf-16-be"))] * 2
                    )
                ]
            )
        ),
        GranteePrincipal=Seq(
            "".join(
                [
                    chr(int.from_bytes(pair, "big"))
                    for pair in zip(
                        *[iter(native_input["GranteePrincipal"].encode("utf-16-be"))]
                        * 2
                    )
                ]
            )
        ),
        RetiringPrincipal=(
            Option_Some(
                Seq(
                    "".join(
                        [
                            chr(int.from_bytes(pair, "big"))
                            for pair in zip(
                                *[
                                    iter(
                                        native_input["RetiringPrincipal"].encode(
                                            "utf-16-be"
                                        )
                                    )
                                ]
                                * 2
                            )
                        ]
                    )
                )
            )
            if "RetiringPrincipal" in native_input.keys()
            else Option_None()
        ),
        Operations=Seq(
            [
                aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.aws_sdk_to_dafny.com_amazonaws_kms_GrantOperation(
                    list_element
                )
                for list_element in native_input["Operations"]
            ]
        ),
        Constraints=(
            Option_Some(
                aws_cryptography_internal_kms.smithygenerated.com_amazonaws_kms.aws_sdk_to_dafny.com_amazonaws_kms_GrantConstraints(
                    native_input["Constraints"]
                )
            )
            if "Constraints" in native_input.keys()
            else Option_None()
        ),
        GrantTokens=(
            Option_Some(
                Seq(
                    [
                        Seq(
                            "".join(
                                [
                                    chr(int.from_bytes(pair, "big"))
                                    for pair in zip(
                                        *[iter(list_element.encode("utf-16-be"))] * 2
                                    )
                                ]
                            )
                        )
                        for list_element in native_input["GrantTokens"]
                    ]
                )
            )
            if "GrantTokens" in native_input.keys()
            else Option_None()
        ),
        Name=(
            Option_Some(
                Seq(
                    "".join(
                        [
                            chr(int.from_bytes(pair, "big"))
                            for pair in zip(
                                *[iter(native_input["Name"].encode("utf-16-be"))] * 2
                            )
                        ]
                    )
                )
            )
            if "Name" in native_input.keys()
            else Option_None()
        ),
        DryRun=(
            Option_Some(native_input["DryRun"])
            if "DryRun" in native_input.keys()
            else Option_None()
        ),
    )