o
    ɶdh                     @   s8   d dl mZmZmZ d dlmZ eG dd deZdS )    )formatted_flat_dictNONE_SENTINEL#value_allowed_none_or_none_sentinel)init_model_state_from_kwargsc                   @   sR  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdd Zedd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd  Zejd!d  Zed"d# Zejd$d# Zed%d& Zejd'd& Zed(d) Zejd*d) Zed+d, Zejd-d, Zed.d/ Zejd0d/ Zed1d2 Zejd3d2 Zed4d5 Zejd6d5 Zed7d8 Z e jd9d8 Z ed:d; Z!e!jd<d; Z!ed=d> Z"e"jd?d> Z"ed@dA Z#e#jdBdA Z#edCdD Z$e$jdEdD Z$edFdG Z%e%jdHdG Z%dIdJ Z&dKdL Z'dMdN Z(dOS )P
Deploymentz2
    A single execution or run of a pipeline.
    PIPELINE_DEPLOYMENTPIPELINE_REDEPLOYMENTSINGLE_STAGE_DEPLOYMENTSINGLE_STAGE_REDEPLOYMENTACCEPTEDIN_PROGRESSFAILED	SUCCEEDED	CANCELINGCANCELEDc                 K   sb  i ddddddddddd	dd
dddddddddddddddddddddddd| _ i dddddddddd d	d!d
d"dd#dd$dd%dd&dd'dd(dd)dd*dd+dd,d-d.d| _d/| _d/| _d/| _d/| _d/| _d/| _d/| _d/| _	d/| _
d/| _d/| _d/| _d/| _d/| _d/| _d/| _d/| _d/| _d/| _d/S )0a  
        Initializes a new Deployment object with values from keyword arguments. This class has the following subclasses and if you are using this class as input
        to a service operations then you should favor using a subclass over the base class:

        * :class:`~oci.devops.models.SingleDeployStageRedeployment`
        * :class:`~oci.devops.models.DeployPipelineDeployment`
        * :class:`~oci.devops.models.DeployPipelineRedeployment`
        * :class:`~oci.devops.models.SingleDeployStageDeployment`

        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param deploy_pipeline_artifacts:
            The value to assign to the deploy_pipeline_artifacts property of this Deployment.
        :type deploy_pipeline_artifacts: oci.devops.models.DeployPipelineArtifactCollection

        :param deploy_pipeline_environments:
            The value to assign to the deploy_pipeline_environments property of this Deployment.
        :type deploy_pipeline_environments: oci.devops.models.DeployPipelineEnvironmentCollection

        :param deployment_type:
            The value to assign to the deployment_type property of this Deployment.
            Allowed values for this property are: "PIPELINE_DEPLOYMENT", "PIPELINE_REDEPLOYMENT", "SINGLE_STAGE_DEPLOYMENT", "SINGLE_STAGE_REDEPLOYMENT", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type deployment_type: str

        :param id:
            The value to assign to the id property of this Deployment.
        :type id: str

        :param display_name:
            The value to assign to the display_name property of this Deployment.
        :type display_name: str

        :param project_id:
            The value to assign to the project_id property of this Deployment.
        :type project_id: str

        :param deploy_pipeline_id:
            The value to assign to the deploy_pipeline_id property of this Deployment.
        :type deploy_pipeline_id: str

        :param compartment_id:
            The value to assign to the compartment_id property of this Deployment.
        :type compartment_id: str

        :param time_created:
            The value to assign to the time_created property of this Deployment.
        :type time_created: datetime

        :param time_updated:
            The value to assign to the time_updated property of this Deployment.
        :type time_updated: datetime

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Deployment.
            Allowed values for this property are: "ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param lifecycle_details:
            The value to assign to the lifecycle_details property of this Deployment.
        :type lifecycle_details: str

        :param deployment_arguments:
            The value to assign to the deployment_arguments property of this Deployment.
        :type deployment_arguments: oci.devops.models.DeploymentArgumentCollection

        :param deploy_stage_override_arguments:
            The value to assign to the deploy_stage_override_arguments property of this Deployment.
        :type deploy_stage_override_arguments: oci.devops.models.DeployStageOverrideArgumentCollection

        :param deploy_artifact_override_arguments:
            The value to assign to the deploy_artifact_override_arguments property of this Deployment.
        :type deploy_artifact_override_arguments: oci.devops.models.DeployArtifactOverrideArgumentCollection

        :param deployment_execution_progress:
            The value to assign to the deployment_execution_progress property of this Deployment.
        :type deployment_execution_progress: oci.devops.models.DeploymentExecutionProgress

        :param freeform_tags:
            The value to assign to the freeform_tags property of this Deployment.
        :type freeform_tags: dict(str, str)

        :param defined_tags:
            The value to assign to the defined_tags property of this Deployment.
        :type defined_tags: dict(str, dict(str, object))

        :param system_tags:
            The value to assign to the system_tags property of this Deployment.
        :type system_tags: dict(str, dict(str, object))

        deploy_pipeline_artifactsZ DeployPipelineArtifactCollectiondeploy_pipeline_environmentsZ#DeployPipelineEnvironmentCollectiondeployment_typestriddisplay_name
project_iddeploy_pipeline_idcompartment_idtime_createddatetimetime_updatedlifecycle_statelifecycle_detailsdeployment_argumentsZDeploymentArgumentCollectiondeploy_stage_override_argumentsZ%DeployStageOverrideArgumentCollection"deploy_artifact_override_argumentsZ(DeployArtifactOverrideArgumentCollectiondeployment_execution_progressZDeploymentExecutionProgressfreeform_tagszdict(str, str)zdict(str, dict(str, object)))defined_tagssystem_tagsZdeployPipelineArtifactsZdeployPipelineEnvironmentsdeploymentTypeZdisplayNameZ	projectIdZdeployPipelineIdZcompartmentIdZtimeCreatedZtimeUpdatedZlifecycleStateZlifecycleDetailsZdeploymentArgumentsZdeployStageOverrideArgumentsZdeployArtifactOverrideArgumentsZdeploymentExecutionProgressZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_map_deploy_pipeline_artifacts_deploy_pipeline_environments_deployment_type_id_display_name_project_id_deploy_pipeline_id_compartment_id_time_created_time_updated_lifecycle_state_lifecycle_details_deployment_arguments _deploy_stage_override_arguments#_deploy_artifact_override_arguments_deployment_execution_progress_freeform_tags_defined_tags_system_tags)selfkwargs r<   @usr/lib/python3.10/site-packages/oci/devops/models/deployment.py__init__:   s   ]	

	


zDeployment.__init__c                 C   s<   | d }|dkr
dS |dkrdS |dkrdS |dkrd	S d
S )z
        Given the hash representation of a subtype of this class,
        use the info in the hash to return the class of the subtype.
        r&   r
   ZSingleDeployStageRedeploymentr   ZDeployPipelineDeploymentr   ZDeployPipelineRedeploymentr	   ZSingleDeployStageDeploymentr   r<   )Zobject_dictionarytyper<   r<   r=   get_subtype   s   zDeployment.get_subtypec                 C      | j S )z
        Gets the deploy_pipeline_artifacts of this Deployment.

        :return: The deploy_pipeline_artifacts of this Deployment.
        :rtype: oci.devops.models.DeployPipelineArtifactCollection
        r'   r:   r<   r<   r=   r         z$Deployment.deploy_pipeline_artifactsc                 C   
   || _ dS )z
        Sets the deploy_pipeline_artifacts of this Deployment.

        :param deploy_pipeline_artifacts: The deploy_pipeline_artifacts of this Deployment.
        :type: oci.devops.models.DeployPipelineArtifactCollection
        NrB   )r:   r   r<   r<   r=   r         
c                 C   rA   )z
        Gets the deploy_pipeline_environments of this Deployment.

        :return: The deploy_pipeline_environments of this Deployment.
        :rtype: oci.devops.models.DeployPipelineEnvironmentCollection
        r(   rC   r<   r<   r=   r     rD   z'Deployment.deploy_pipeline_environmentsc                 C   rE   )z
        Sets the deploy_pipeline_environments of this Deployment.

        :param deploy_pipeline_environments: The deploy_pipeline_environments of this Deployment.
        :type: oci.devops.models.DeployPipelineEnvironmentCollection
        NrG   )r:   r   r<   r<   r=   r     rF   c                 C   rA   )a  
        **[Required]** Gets the deployment_type of this Deployment.
        Specifies type of deployment.

        Allowed values for this property are: "PIPELINE_DEPLOYMENT", "PIPELINE_REDEPLOYMENT", "SINGLE_STAGE_DEPLOYMENT", "SINGLE_STAGE_REDEPLOYMENT", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The deployment_type of this Deployment.
        :rtype: str
        )r)   rC   r<   r<   r=   r        zDeployment.deployment_typec                 C       g d}t ||sd}|| _dS )z
        Sets the deployment_type of this Deployment.
        Specifies type of deployment.


        :param deployment_type: The deployment_type of this Deployment.
        :type: str
        )r   r   r	   r
   UNKNOWN_ENUM_VALUEN)r   r)   )r:   r   allowed_valuesr<   r<   r=   r   $     


c                 C   rA   )z
        **[Required]** Gets the id of this Deployment.
        Unique identifier that is immutable on creation.


        :return: The id of this Deployment.
        :rtype: str
        r*   rC   r<   r<   r=   r   3     
zDeployment.idc                 C   rE   )z
        Sets the id of this Deployment.
        Unique identifier that is immutable on creation.


        :param id: The id of this Deployment.
        :type: str
        NrM   )r:   r   r<   r<   r=   r   ?     

c                 C   rA   )a  
        Gets the display_name of this Deployment.
        Deployment identifier which can be renamed and is not necessarily unique. Avoid entering confidential information.


        :return: The display_name of this Deployment.
        :rtype: str
        r+   rC   r<   r<   r=   r   K  rN   zDeployment.display_namec                 C   rE   )a  
        Sets the display_name of this Deployment.
        Deployment identifier which can be renamed and is not necessarily unique. Avoid entering confidential information.


        :param display_name: The display_name of this Deployment.
        :type: str
        NrP   )r:   r   r<   r<   r=   r   W  rO   c                 C   rA   )z
        **[Required]** Gets the project_id of this Deployment.
        The OCID of a project.


        :return: The project_id of this Deployment.
        :rtype: str
        r,   rC   r<   r<   r=   r   c  rN   zDeployment.project_idc                 C   rE   )z
        Sets the project_id of this Deployment.
        The OCID of a project.


        :param project_id: The project_id of this Deployment.
        :type: str
        NrQ   )r:   r   r<   r<   r=   r   o  rO   c                 C   rA   )z
        **[Required]** Gets the deploy_pipeline_id of this Deployment.
        The OCID of a pipeline.


        :return: The deploy_pipeline_id of this Deployment.
        :rtype: str
        r-   rC   r<   r<   r=   r   {  rN   zDeployment.deploy_pipeline_idc                 C   rE   )z
        Sets the deploy_pipeline_id of this Deployment.
        The OCID of a pipeline.


        :param deploy_pipeline_id: The deploy_pipeline_id of this Deployment.
        :type: str
        NrR   )r:   r   r<   r<   r=   r     rO   c                 C   rA   )z
        **[Required]** Gets the compartment_id of this Deployment.
        The OCID of a compartment.


        :return: The compartment_id of this Deployment.
        :rtype: str
        r.   rC   r<   r<   r=   r     rN   zDeployment.compartment_idc                 C   rE   )z
        Sets the compartment_id of this Deployment.
        The OCID of a compartment.


        :param compartment_id: The compartment_id of this Deployment.
        :type: str
        NrS   )r:   r   r<   r<   r=   r     rO   c                 C   rA   )a  
        Gets the time_created of this Deployment.
        Time the deployment was created. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :return: The time_created of this Deployment.
        :rtype: datetime
        r/   rC   r<   r<   r=   r        zDeployment.time_createdc                 C   rE   )a  
        Sets the time_created of this Deployment.
        Time the deployment was created. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :param time_created: The time_created of this Deployment.
        :type: datetime
        NrT   )r:   r   r<   r<   r=   r        
c                 C   rA   )a  
        Gets the time_updated of this Deployment.
        Time the deployment was updated. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :return: The time_updated of this Deployment.
        :rtype: datetime
        r0   rC   r<   r<   r=   r     rU   zDeployment.time_updatedc                 C   rE   )a  
        Sets the time_updated of this Deployment.
        Time the deployment was updated. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :param time_updated: The time_updated of this Deployment.
        :type: datetime
        NrW   )r:   r   r<   r<   r=   r     rV   c                 C   rA   )a  
        Gets the lifecycle_state of this Deployment.
        The current state of the deployment.

        Allowed values for this property are: "ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state of this Deployment.
        :rtype: str
        )r1   rC   r<   r<   r=   r     rH   zDeployment.lifecycle_statec                 C   rI   )z
        Sets the lifecycle_state of this Deployment.
        The current state of the deployment.


        :param lifecycle_state: The lifecycle_state of this Deployment.
        :type: str
        )r   r   r   r   r   r   rJ   N)r   r1   )r:   r   rK   r<   r<   r=   r     rL   c                 C   rA   )a+  
        Gets the lifecycle_details of this Deployment.
        A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.


        :return: The lifecycle_details of this Deployment.
        :rtype: str
        r2   rC   r<   r<   r=   r     rN   zDeployment.lifecycle_detailsc                 C   rE   )a;  
        Sets the lifecycle_details of this Deployment.
        A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.


        :param lifecycle_details: The lifecycle_details of this Deployment.
        :type: str
        NrX   )r:   r   r<   r<   r=   r     rO   c                 C   rA   )z
        Gets the deployment_arguments of this Deployment.

        :return: The deployment_arguments of this Deployment.
        :rtype: oci.devops.models.DeploymentArgumentCollection
        r3   rC   r<   r<   r=   r     rD   zDeployment.deployment_argumentsc                 C   rE   )z
        Sets the deployment_arguments of this Deployment.

        :param deployment_arguments: The deployment_arguments of this Deployment.
        :type: oci.devops.models.DeploymentArgumentCollection
        NrY   )r:   r   r<   r<   r=   r   #  rF   c                 C   rA   )z
        Gets the deploy_stage_override_arguments of this Deployment.

        :return: The deploy_stage_override_arguments of this Deployment.
        :rtype: oci.devops.models.DeployStageOverrideArgumentCollection
        r4   rC   r<   r<   r=   r    -  rD   z*Deployment.deploy_stage_override_argumentsc                 C   rE   )z
        Sets the deploy_stage_override_arguments of this Deployment.

        :param deploy_stage_override_arguments: The deploy_stage_override_arguments of this Deployment.
        :type: oci.devops.models.DeployStageOverrideArgumentCollection
        NrZ   )r:   r    r<   r<   r=   r    7  rF   c                 C   rA   )z
        Gets the deploy_artifact_override_arguments of this Deployment.

        :return: The deploy_artifact_override_arguments of this Deployment.
        :rtype: oci.devops.models.DeployArtifactOverrideArgumentCollection
        r5   rC   r<   r<   r=   r!   A  rD   z-Deployment.deploy_artifact_override_argumentsc                 C   rE   )a
  
        Sets the deploy_artifact_override_arguments of this Deployment.

        :param deploy_artifact_override_arguments: The deploy_artifact_override_arguments of this Deployment.
        :type: oci.devops.models.DeployArtifactOverrideArgumentCollection
        Nr[   )r:   r!   r<   r<   r=   r!   K  rF   c                 C   rA   )z
        Gets the deployment_execution_progress of this Deployment.

        :return: The deployment_execution_progress of this Deployment.
        :rtype: oci.devops.models.DeploymentExecutionProgress
        r6   rC   r<   r<   r=   r"   U  rD   z(Deployment.deployment_execution_progressc                 C   rE   )z
        Sets the deployment_execution_progress of this Deployment.

        :param deployment_execution_progress: The deployment_execution_progress of this Deployment.
        :type: oci.devops.models.DeploymentExecutionProgress
        Nr\   )r:   r"   r<   r<   r=   r"   _  rF   c                 C   rA   )a  
        Gets the freeform_tags of this Deployment.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.  See `Resource Tags`__. Example: `{"bar-key": "value"}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :return: The freeform_tags of this Deployment.
        :rtype: dict(str, str)
        r7   rC   r<   r<   r=   r#   i  rU   zDeployment.freeform_tagsc                 C   rE   )a  
        Sets the freeform_tags of this Deployment.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.  See `Resource Tags`__. Example: `{"bar-key": "value"}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :param freeform_tags: The freeform_tags of this Deployment.
        :type: dict(str, str)
        Nr]   )r:   r#   r<   r<   r=   r#   w  rV   c                 C   rA   )a  
        Gets the defined_tags of this Deployment.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. See `Resource Tags`__. Example: `{"foo-namespace": {"bar-key": "value"}}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :return: The defined_tags of this Deployment.
        :rtype: dict(str, dict(str, object))
        r8   rC   r<   r<   r=   r$     rU   zDeployment.defined_tagsc                 C   rE   )a  
        Sets the defined_tags of this Deployment.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. See `Resource Tags`__. Example: `{"foo-namespace": {"bar-key": "value"}}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :param defined_tags: The defined_tags of this Deployment.
        :type: dict(str, dict(str, object))
        Nr^   )r:   r$   r<   r<   r=   r$     rV   c                 C   rA   )a  
        Gets the system_tags of this Deployment.
        Usage of system tag keys. These predefined keys are scoped to namespaces. See `Resource Tags`__. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :return: The system_tags of this Deployment.
        :rtype: dict(str, dict(str, object))
        r9   rC   r<   r<   r=   r%     rU   zDeployment.system_tagsc                 C   rE   )a  
        Sets the system_tags of this Deployment.
        Usage of system tag keys. These predefined keys are scoped to namespaces. See `Resource Tags`__. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :param system_tags: The system_tags of this Deployment.
        :type: dict(str, dict(str, object))
        Nr_   )r:   r%   r<   r<   r=   r%     rV   c                 C   s   t | S N)r   rC   r<   r<   r=   __repr__  s   zDeployment.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r:   otherr<   r<   r=   __eq__  s   zDeployment.__eq__c                 C   s
   | |k S r`   r<   rc   r<   r<   r=   __ne__  s   
zDeployment.__ne__N))__name__
__module____qualname____doc__Z#DEPLOYMENT_TYPE_PIPELINE_DEPLOYMENTZ%DEPLOYMENT_TYPE_PIPELINE_REDEPLOYMENTZ'DEPLOYMENT_TYPE_SINGLE_STAGE_DEPLOYMENTZ)DEPLOYMENT_TYPE_SINGLE_STAGE_REDEPLOYMENTZLIFECYCLE_STATE_ACCEPTEDZLIFECYCLE_STATE_IN_PROGRESSZLIFECYCLE_STATE_FAILEDZLIFECYCLE_STATE_SUCCEEDEDZLIFECYCLE_STATE_CANCELINGZLIFECYCLE_STATE_CANCELEDr>   staticmethodr@   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   ra   re   rf   r<   r<   r<   r=   r      s     

	
	
	
	




















	
	
	
	
	
	
	
	





r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r<   r<   r<   r=   <module>   s   