1# --------------------------------------------------------------------------------------------
2# Copyright (c) Microsoft Corporation. All rights reserved.
3# Licensed under the MIT License. See License.txt in the project root for license information.
4# --------------------------------------------------------------------------------------------
5# Generated file, DO NOT EDIT
6# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7# --------------------------------------------------------------------------------------------
8
9from msrest.serialization import Model
10
11
12class ReleaseEnvironment(Model):
13    """ReleaseEnvironment.
14
15    :param conditions: Gets list of conditions.
16    :type conditions: list of :class:`ReleaseCondition <release.v4_0.models.ReleaseCondition>`
17    :param created_on: Gets date on which it got created.
18    :type created_on: datetime
19    :param definition_environment_id: Gets definition environment id.
20    :type definition_environment_id: int
21    :param demands: Gets demands.
22    :type demands: list of :class:`object <release.v4_0.models.object>`
23    :param deploy_phases_snapshot: Gets list of deploy phases snapshot.
24    :type deploy_phases_snapshot: list of :class:`object <release.v4_0.models.object>`
25    :param deploy_steps: Gets deploy steps.
26    :type deploy_steps: list of :class:`DeploymentAttempt <release.v4_0.models.DeploymentAttempt>`
27    :param environment_options: Gets environment options.
28    :type environment_options: :class:`EnvironmentOptions <release.v4_0.models.EnvironmentOptions>`
29    :param id: Gets the unique identifier of this field.
30    :type id: int
31    :param modified_on: Gets date on which it got modified.
32    :type modified_on: datetime
33    :param name: Gets name.
34    :type name: str
35    :param next_scheduled_utc_time: Gets next scheduled UTC time.
36    :type next_scheduled_utc_time: datetime
37    :param owner: Gets the identity who is owner for release environment.
38    :type owner: :class:`IdentityRef <release.v4_0.models.IdentityRef>`
39    :param post_approvals_snapshot: Gets list of post deploy approvals snapshot.
40    :type post_approvals_snapshot: :class:`ReleaseDefinitionApprovals <release.v4_0.models.ReleaseDefinitionApprovals>`
41    :param post_deploy_approvals: Gets list of post deploy approvals.
42    :type post_deploy_approvals: list of :class:`ReleaseApproval <release.v4_0.models.ReleaseApproval>`
43    :param pre_approvals_snapshot: Gets list of pre deploy approvals snapshot.
44    :type pre_approvals_snapshot: :class:`ReleaseDefinitionApprovals <release.v4_0.models.ReleaseDefinitionApprovals>`
45    :param pre_deploy_approvals: Gets list of pre deploy approvals.
46    :type pre_deploy_approvals: list of :class:`ReleaseApproval <release.v4_0.models.ReleaseApproval>`
47    :param process_parameters: Gets process parameters.
48    :type process_parameters: :class:`ProcessParameters <release.v4_0.models.ProcessParameters>`
49    :param queue_id: Gets queue id.
50    :type queue_id: int
51    :param rank: Gets rank.
52    :type rank: int
53    :param release: Gets release reference which specifies the reference of the release to which this release environment is associated.
54    :type release: :class:`ReleaseShallowReference <release.v4_0.models.ReleaseShallowReference>`
55    :param release_created_by: Gets the identity who created release.
56    :type release_created_by: :class:`IdentityRef <release.v4_0.models.IdentityRef>`
57    :param release_definition: Gets releaseDefinitionReference which specifies the reference of the release definition to which this release environment is associated.
58    :type release_definition: :class:`ReleaseDefinitionShallowReference <release.v4_0.models.ReleaseDefinitionShallowReference>`
59    :param release_description: Gets release description.
60    :type release_description: str
61    :param release_id: Gets release id.
62    :type release_id: int
63    :param scheduled_deployment_time: Gets schedule deployment time of release environment.
64    :type scheduled_deployment_time: datetime
65    :param schedules: Gets list of schedules.
66    :type schedules: list of :class:`ReleaseSchedule <release.v4_0.models.ReleaseSchedule>`
67    :param status: Gets environment status.
68    :type status: object
69    :param time_to_deploy: Gets time to deploy.
70    :type time_to_deploy: float
71    :param trigger_reason: Gets trigger reason.
72    :type trigger_reason: str
73    :param variables: Gets the dictionary of variables.
74    :type variables: dict
75    :param workflow_tasks: Gets list of workflow tasks.
76    :type workflow_tasks: list of :class:`WorkflowTask <release.v4_0.models.WorkflowTask>`
77    """
78
79    _attribute_map = {
80        'conditions': {'key': 'conditions', 'type': '[ReleaseCondition]'},
81        'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
82        'definition_environment_id': {'key': 'definitionEnvironmentId', 'type': 'int'},
83        'demands': {'key': 'demands', 'type': '[object]'},
84        'deploy_phases_snapshot': {'key': 'deployPhasesSnapshot', 'type': '[object]'},
85        'deploy_steps': {'key': 'deploySteps', 'type': '[DeploymentAttempt]'},
86        'environment_options': {'key': 'environmentOptions', 'type': 'EnvironmentOptions'},
87        'id': {'key': 'id', 'type': 'int'},
88        'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
89        'name': {'key': 'name', 'type': 'str'},
90        'next_scheduled_utc_time': {'key': 'nextScheduledUtcTime', 'type': 'iso-8601'},
91        'owner': {'key': 'owner', 'type': 'IdentityRef'},
92        'post_approvals_snapshot': {'key': 'postApprovalsSnapshot', 'type': 'ReleaseDefinitionApprovals'},
93        'post_deploy_approvals': {'key': 'postDeployApprovals', 'type': '[ReleaseApproval]'},
94        'pre_approvals_snapshot': {'key': 'preApprovalsSnapshot', 'type': 'ReleaseDefinitionApprovals'},
95        'pre_deploy_approvals': {'key': 'preDeployApprovals', 'type': '[ReleaseApproval]'},
96        'process_parameters': {'key': 'processParameters', 'type': 'ProcessParameters'},
97        'queue_id': {'key': 'queueId', 'type': 'int'},
98        'rank': {'key': 'rank', 'type': 'int'},
99        'release': {'key': 'release', 'type': 'ReleaseShallowReference'},
100        'release_created_by': {'key': 'releaseCreatedBy', 'type': 'IdentityRef'},
101        'release_definition': {'key': 'releaseDefinition', 'type': 'ReleaseDefinitionShallowReference'},
102        'release_description': {'key': 'releaseDescription', 'type': 'str'},
103        'release_id': {'key': 'releaseId', 'type': 'int'},
104        'scheduled_deployment_time': {'key': 'scheduledDeploymentTime', 'type': 'iso-8601'},
105        'schedules': {'key': 'schedules', 'type': '[ReleaseSchedule]'},
106        'status': {'key': 'status', 'type': 'object'},
107        'time_to_deploy': {'key': 'timeToDeploy', 'type': 'float'},
108        'trigger_reason': {'key': 'triggerReason', 'type': 'str'},
109        'variables': {'key': 'variables', 'type': '{ConfigurationVariableValue}'},
110        'workflow_tasks': {'key': 'workflowTasks', 'type': '[WorkflowTask]'}
111    }
112
113    def __init__(self, conditions=None, created_on=None, definition_environment_id=None, demands=None, deploy_phases_snapshot=None, deploy_steps=None, environment_options=None, id=None, modified_on=None, name=None, next_scheduled_utc_time=None, owner=None, post_approvals_snapshot=None, post_deploy_approvals=None, pre_approvals_snapshot=None, pre_deploy_approvals=None, process_parameters=None, queue_id=None, rank=None, release=None, release_created_by=None, release_definition=None, release_description=None, release_id=None, scheduled_deployment_time=None, schedules=None, status=None, time_to_deploy=None, trigger_reason=None, variables=None, workflow_tasks=None):
114        super(ReleaseEnvironment, self).__init__()
115        self.conditions = conditions
116        self.created_on = created_on
117        self.definition_environment_id = definition_environment_id
118        self.demands = demands
119        self.deploy_phases_snapshot = deploy_phases_snapshot
120        self.deploy_steps = deploy_steps
121        self.environment_options = environment_options
122        self.id = id
123        self.modified_on = modified_on
124        self.name = name
125        self.next_scheduled_utc_time = next_scheduled_utc_time
126        self.owner = owner
127        self.post_approvals_snapshot = post_approvals_snapshot
128        self.post_deploy_approvals = post_deploy_approvals
129        self.pre_approvals_snapshot = pre_approvals_snapshot
130        self.pre_deploy_approvals = pre_deploy_approvals
131        self.process_parameters = process_parameters
132        self.queue_id = queue_id
133        self.rank = rank
134        self.release = release
135        self.release_created_by = release_created_by
136        self.release_definition = release_definition
137        self.release_description = release_description
138        self.release_id = release_id
139        self.scheduled_deployment_time = scheduled_deployment_time
140        self.schedules = schedules
141        self.status = status
142        self.time_to_deploy = time_to_deploy
143        self.trigger_reason = trigger_reason
144        self.variables = variables
145        self.workflow_tasks = workflow_tasks
146