ruạṛ
a ���f!h � @ s8 d dl mZmZmZ d dlmZ eG dd� de��ZdS )� )�formatted_flat_dict� NONE_SENTINEL�#value_allowed_none_or_none_sentinel)�init_model_state_from_kwargsc @ sD e Zd ZdZdZdZdZdZdZdZ dZ d Zd ZdZ dZd ZdZdZdZdZdd� Zedd� �Zejdd� �Zedd� �Zejdd� �Zedd� �Zejdd� �Zedd� �Zejdd� �Zed d!� �Zejd"d!� �Zed#d$� �Zejd%d$� �Zed&d'� �Zejd(d'� �Zed)d*� �Zejd+d*� �Zed,d-� �Zejd.d-� �Zed/d0� �Z e jd1d0� �Z ed2d3� �Z!e!jd4d3� �Z!ed5d6� �Z"e"jd7d6� �Z"ed8d9� �Z#e#jd:d9� �Z#ed;d<� �Z$e$jd=d<� �Z$ed>d?� �Z%e%jd@d?� �Z%edAdB� �Z&e&jdCdB� �Z&edDdE� �Z'e'jdFdE� �Z'edGdH� �Z(e(jdIdH� �Z(dJdK� Z)dLdM� Z*dNdO� Z+dPS )Q�Keyzv The logical entities that represent one or more key versions, each of which contains cryptographic material. �HSM�SOFTWARE�EXTERNAL�CREATING�ENABLING�ENABLED� DISABLING�DISABLED�DELETING�DELETED�PENDING_DELETION�SCHEDULING_DELETION�CANCELLING_DELETION�UPDATING�BACKUP_IN_PROGRESS� RESTORINGc K s� dddddddddddddddddd d �| _ ddd dddddddddddddddd �| _d| _d| _d| _d| _d| _d| _d| _d| _ d| _ d| _d| _d| _ d| _d| _d| _d| _d| _d| _dS )a Initializes a new Key object with values from keyword arguments. The following keyword arguments are supported (corresponding to the getters/setters of this class): :param compartment_id: The value to assign to the compartment_id property of this Key. :type compartment_id: str :param current_key_version: The value to assign to the current_key_version property of this Key. :type current_key_version: str :param defined_tags: The value to assign to the defined_tags property of this Key. :type defined_tags: dict(str, dict(str, object)) :param display_name: The value to assign to the display_name property of this Key. :type display_name: str :param freeform_tags: The value to assign to the freeform_tags property of this Key. :type freeform_tags: dict(str, str) :param id: The value to assign to the id property of this Key. :type id: str :param key_shape: The value to assign to the key_shape property of this Key. :type key_shape: oci.key_management.models.KeyShape :param protection_mode: The value to assign to the protection_mode property of this Key. Allowed values for this property are: "HSM", "SOFTWARE", "EXTERNAL", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type protection_mode: str :param lifecycle_state: The value to assign to the lifecycle_state property of this Key. Allowed values for this property are: "CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type lifecycle_state: str :param time_created: The value to assign to the time_created property of this Key. :type time_created: datetime :param time_of_deletion: The value to assign to the time_of_deletion property of this Key. :type time_of_deletion: datetime :param vault_id: The value to assign to the vault_id property of this Key. :type vault_id: str :param restored_from_key_id: The value to assign to the restored_from_key_id property of this Key. :type restored_from_key_id: str :param replica_details: The value to assign to the replica_details property of this Key. :type replica_details: oci.key_management.models.KeyReplicaDetails :param is_primary: The value to assign to the is_primary property of this Key. :type is_primary: bool :param is_auto_rotation_enabled: The value to assign to the is_auto_rotation_enabled property of this Key. :type is_auto_rotation_enabled: bool :param auto_key_rotation_details: The value to assign to the auto_key_rotation_details property of this Key. :type auto_key_rotation_details: oci.key_management.models.AutoKeyRotationDetails :param external_key_reference_details: The value to assign to the external_key_reference_details property of this Key. :type external_key_reference_details: oci.key_management.models.ExternalKeyReferenceDetails �strzdict(str, dict(str, object))zdict(str, str)ZKeyShapeZdatetimeZKeyReplicaDetails�boolZAutoKeyRotationDetailsZExternalKeyReferenceDetails)�compartment_id�current_key_version�defined_tags�display_name� freeform_tags�id� key_shape�protection_mode�lifecycle_state�time_created�time_of_deletion�vault_id�restored_from_key_id�replica_details� is_primary�is_auto_rotation_enabled�auto_key_rotation_details�external_key_reference_detailsZ compartmentIdZcurrentKeyVersionZdefinedTagsZdisplayNameZfreeformTagsr ZkeyShapeZprotectionModeZlifecycleStateZtimeCreatedZtimeOfDeletionZvaultIdZrestoredFromKeyIdZreplicaDetailsZ isPrimaryZisAutoRotationEnabledZautoKeyRotationDetailsZexternalKeyReferenceDetailsN)Z swagger_typesZ attribute_map�_compartment_id�_current_key_version� _defined_tags� _display_name�_freeform_tags�_id� _key_shape�_protection_mode�_lifecycle_state� _time_created�_time_of_deletion� _vault_id�_restored_from_key_id�_replica_details�_is_primary�_is_auto_rotation_enabled�_auto_key_rotation_details�_external_key_reference_details)�self�kwargs� r? �A/usr/lib/python3.9/site-packages/oci/key_management/models/key.py�__init__R sp S��zKey.__init__c C s | j S )z� **[Required]** Gets the compartment_id of this Key. The OCID of the compartment that contains this master encryption key. :return: The compartment_id of this Key. :rtype: str �r+ �r= r? r? r@ r � s zKey.compartment_idc C s || _ dS )z� Sets the compartment_id of this Key. The OCID of the compartment that contains this master encryption key. :param compartment_id: The compartment_id of this Key. :type: str NrB )r= r r? r? r@ r � s c C s | j S )a� **[Required]** Gets the current_key_version of this Key. The OCID of the key version used in cryptographic operations. During key rotation, the service might be in a transitional state where this or a newer key version are used intermittently. The `currentKeyVersion` property is updated when the service is guaranteed to use the new key version for all subsequent encryption operations. :return: The current_key_version of this Key. :rtype: str �r, rC r? r? r@ r � s zKey.current_key_versionc C s || _ dS )a� Sets the current_key_version of this Key. The OCID of the key version used in cryptographic operations. During key rotation, the service might be in a transitional state where this or a newer key version are used intermittently. The `currentKeyVersion` property is updated when the service is guaranteed to use the new key version for all subsequent encryption operations. :param current_key_version: The current_key_version of this Key. :type: str NrD )r= r r? r? r@ r s c C s | j S )a� Gets the defined_tags of this Key. Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see `Resource Tags`__. Example: `{"Operations": {"CostCenter": "42"}}` __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm :return: The defined_tags of this Key. :rtype: dict(str, dict(str, object)) �r- rC r? r? r@ r s zKey.defined_tagsc C s || _ dS )a� Sets the defined_tags of this Key. Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see `Resource Tags`__. Example: `{"Operations": {"CostCenter": "42"}}` __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm :param defined_tags: The defined_tags of this Key. :type: dict(str, dict(str, object)) NrE )r= r r? r? r@ r % s c C s | j S )a **[Required]** Gets the display_name of this Key. A user-friendly name for the key. It does not have to be unique, and it is changeable. Avoid entering confidential information. :return: The display_name of this Key. :rtype: str �r. rC r? r? r@ r 5 s zKey.display_namec C s || _ dS )a Sets the display_name of this Key. A user-friendly name for the key. It does not have to be unique, and it is changeable. Avoid entering confidential information. :param display_name: The display_name of this Key. :type: str NrF )r= r r? r? r@ r B s c C s | j S )a� Gets the freeform_tags of this Key. Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see `Resource Tags`__. Example: `{"Department": "Finance"}` __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm :return: The freeform_tags of this Key. :rtype: dict(str, str) �r/ rC r? r? r@ r O s zKey.freeform_tagsc C s || _ dS )a� Sets the freeform_tags of this Key. Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see `Resource Tags`__. Example: `{"Department": "Finance"}` __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm :param freeform_tags: The freeform_tags of this Key. :type: dict(str, str) NrG )r= r r? r? r@ r _ s c C s | j S )z� **[Required]** Gets the id of this Key. The OCID of the key. :return: The id of this Key. :rtype: str �r0 rC r? r? r@ r o s zKey.idc C s || _ dS )z� Sets the id of this Key. The OCID of the key. :param id: The id of this Key. :type: str NrH )r= r r? r? r@ r { s c C s | j S )z� **[Required]** Gets the key_shape of this Key. :return: The key_shape of this Key. :rtype: oci.key_management.models.KeyShape �r1 rC r? r? r@ r � s z Key.key_shapec C s || _ dS )z� Sets the key_shape of this Key. :param key_shape: The key_shape of this Key. :type: oci.key_management.models.KeyShape NrI )r= r r? r? r@ r � s c C s | j S )aK Gets the protection_mode of this Key. The key's protection mode indicates how the key persists and where cryptographic operations that use the key are performed. A protection mode of `HSM` means that the key persists on a hardware security module (HSM) and all cryptographic operations are performed inside the HSM. A protection mode of `SOFTWARE` means that the key persists on the server, protected by the vault's RSA wrapping key which persists on the HSM. All cryptographic operations that use a key with a protection mode of `SOFTWARE` are performed on the server. By default, a key's protection mode is set to `HSM`. You can't change a key's protection mode after the key is created or imported. A protection mode of `EXTERNAL` mean that the key persists on the customer's external key manager which is hosted externally outside of oracle. Oracle only hold a reference to that key. All cryptographic operations that use a key with a protection mode of `EXTERNAL` are performed by external key manager. Allowed values for this property are: "HSM", "SOFTWARE", "EXTERNAL", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :return: The protection_mode of this Key. :rtype: str )r2 rC r? r? r@ r � s zKey.protection_modec C s g d�}t ||�sd}|| _dS )a� Sets the protection_mode of this Key. The key's protection mode indicates how the key persists and where cryptographic operations that use the key are performed. A protection mode of `HSM` means that the key persists on a hardware security module (HSM) and all cryptographic operations are performed inside the HSM. A protection mode of `SOFTWARE` means that the key persists on the server, protected by the vault's RSA wrapping key which persists on the HSM. All cryptographic operations that use a key with a protection mode of `SOFTWARE` are performed on the server. By default, a key's protection mode is set to `HSM`. You can't change a key's protection mode after the key is created or imported. A protection mode of `EXTERNAL` mean that the key persists on the customer's external key manager which is hosted externally outside of oracle. Oracle only hold a reference to that key. All cryptographic operations that use a key with a protection mode of `EXTERNAL` are performed by external key manager. :param protection_mode: The protection_mode of this Key. :type: str )r r r �UNKNOWN_ENUM_VALUEN)r r2 )r= r �allowed_valuesr? r? r@ r � s c C s | j S )a< **[Required]** Gets the lifecycle_state of this Key. The key's current lifecycle state. Example: `ENABLED` Allowed values for this property are: "CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :return: The lifecycle_state of this Key. :rtype: str )r3 rC r? r? r@ r! � s zKey.lifecycle_statec C s g d�}t ||�sd}|| _dS )z� Sets the lifecycle_state of this Key. The key's current lifecycle state. Example: `ENABLED` :param lifecycle_state: The lifecycle_state of this Key. :type: str ) r r r r r r r r r r r r r rJ N)r r3 )r= r! rK r? r? r@ r! � s c C s | j S )aE **[Required]** Gets the time_created of this Key. The date and time the key was created, expressed in `RFC 3339`__ timestamp format. Example: `2018-04-03T21:10:29.600Z` __ https://tools.ietf.org/html/rfc3339 :return: The time_created of this Key. :rtype: datetime �r4 rC r? r? r@ r"