# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class KeyExportParameters(Model):
    """The export key parameters.

    :param wrapping_key: The export key encryption Json web key. This key MUST
     be a RSA key that supports encryption.
    :type wrapping_key: ~keys.models.JsonWebKey
    :param wrapping_kid: The export key encryption key identifier. This key
     MUST be a RSA key that supports encryption.
    :type wrapping_kid: str
    :param enc: The encryption algorithm to use to protected the exported key
     material. Possible values include: 'CKM_RSA_AES_KEY_WRAP',
     'RSA_AES_KEY_WRAP_256', 'RSA_AES_KEY_WRAP_384'
    :type enc: str or ~keys.models.KeyEncryptionAlgorithm
    """

    _validation = {
        'enc': {'min_length': 1},
    }

    _attribute_map = {
        'wrapping_key': {'key': 'wrappingKey', 'type': 'JsonWebKey'},
        'wrapping_kid': {'key': 'wrappingKid', 'type': 'str'},
        'enc': {'key': 'enc', 'type': 'str'},
    }

    def __init__(self, *, wrapping_key=None, wrapping_kid: str=None, enc=None, **kwargs) -> None:
        super(KeyExportParameters, self).__init__(**kwargs)
        self.wrapping_key = wrapping_key
        self.wrapping_kid = wrapping_kid
        self.enc = enc

# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class KeyExportParameters(Model):
    """The export key parameters.

    :param wrapping_key: The export key encryption Json web key. This key MUST
     be a RSA key that supports encryption.
    :type wrapping_key: ~keys.models.JsonWebKey
    :param wrapping_kid: The export key encryption key identifier. This key
     MUST be a RSA key that supports encryption.
    :type wrapping_kid: str
    :param enc: The encryption algorithm to use to protected the exported key
     material. Possible values include: 'CKM_RSA_AES_KEY_WRAP',
     'RSA_AES_KEY_WRAP_256', 'RSA_AES_KEY_WRAP_384'
    :type enc: str or ~keys.models.KeyEncryptionAlgorithm
    """

    _validation = {
        'enc': {'min_length': 1},
    }

    _attribute_map = {
        'wrapping_key': {'key': 'wrappingKey', 'type': 'JsonWebKey'},
        'wrapping_kid': {'key': 'wrappingKid', 'type': 'str'},
        'enc': {'key': 'enc', 'type': 'str'},
    }

    def __init__(self, *, wrapping_key=None, wrapping_kid: str=None, enc=None, **kwargs) -> None:
        super(KeyExportParameters, self).__init__(**kwargs)
        self.wrapping_key = wrapping_key
        self.wrapping_kid = wrapping_kid
        self.enc = enc

# coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. # # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- The export key parameters.      :param wrapping_key: The export key encryption Json web key. This key MUST      be a RSA key that supports encryption.     :type wrapping_key: ~keys.models.JsonWebKey     :param wrapping_kid: The export key encryption key identifier. This key      MUST be a RSA key that supports encryption.     :type wrapping_kid: str     :param enc: The encryption algorithm to use to protected the exported key      material. Possible values include: 'CKM_RSA_AES_KEY_WRAP',      'RSA_AES_KEY_WRAP_256', 'RSA_AES_KEY_WRAP_384'     :type enc: str or ~keys.models.KeyEncryptionAlgorithm