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 Build(Model):
13    """Build.
14
15    :param _links:
16    :type _links: :class:`ReferenceLinks <build.v4_1.models.ReferenceLinks>`
17    :param build_number: The build number/name of the build.
18    :type build_number: str
19    :param build_number_revision: The build number revision.
20    :type build_number_revision: int
21    :param controller: The build controller. This is only set if the definition type is Xaml.
22    :type controller: :class:`BuildController <build.v4_1.models.BuildController>`
23    :param definition: The definition associated with the build.
24    :type definition: :class:`DefinitionReference <build.v4_1.models.DefinitionReference>`
25    :param deleted: Indicates whether the build has been deleted.
26    :type deleted: bool
27    :param deleted_by: The identity of the process or person that deleted the build.
28    :type deleted_by: :class:`IdentityRef <build.v4_1.models.IdentityRef>`
29    :param deleted_date: The date the build was deleted.
30    :type deleted_date: datetime
31    :param deleted_reason: The description of how the build was deleted.
32    :type deleted_reason: str
33    :param demands: A list of demands that represents the agent capabilities required by this build.
34    :type demands: list of :class:`object <build.v4_1.models.object>`
35    :param finish_time: The time that the build was completed.
36    :type finish_time: datetime
37    :param id: The ID of the build.
38    :type id: int
39    :param keep_forever: Indicates whether the build should be skipped by retention policies.
40    :type keep_forever: bool
41    :param last_changed_by: The identity representing the process or person that last changed the build.
42    :type last_changed_by: :class:`IdentityRef <build.v4_1.models.IdentityRef>`
43    :param last_changed_date: The date the build was last changed.
44    :type last_changed_date: datetime
45    :param logs: Information about the build logs.
46    :type logs: :class:`BuildLogReference <build.v4_1.models.BuildLogReference>`
47    :param orchestration_plan: The orchestration plan for the build.
48    :type orchestration_plan: :class:`TaskOrchestrationPlanReference <build.v4_1.models.TaskOrchestrationPlanReference>`
49    :param parameters: The parameters for the build.
50    :type parameters: str
51    :param plans: Orchestration plans associated with the build (build, cleanup)
52    :type plans: list of :class:`TaskOrchestrationPlanReference <build.v4_1.models.TaskOrchestrationPlanReference>`
53    :param priority: The build's priority.
54    :type priority: object
55    :param project: The team project.
56    :type project: :class:`TeamProjectReference <build.v4_1.models.TeamProjectReference>`
57    :param properties:
58    :type properties: :class:`object <build.v4_1.models.object>`
59    :param quality: The quality of the xaml build (good, bad, etc.)
60    :type quality: str
61    :param queue: The queue. This is only set if the definition type is Build.
62    :type queue: :class:`AgentPoolQueue <build.v4_1.models.AgentPoolQueue>`
63    :param queue_options: Additional options for queueing the build.
64    :type queue_options: object
65    :param queue_position: The current position of the build in the queue.
66    :type queue_position: int
67    :param queue_time: The time that the build was queued.
68    :type queue_time: datetime
69    :param reason: The reason that the build was created.
70    :type reason: object
71    :param repository: The repository.
72    :type repository: :class:`BuildRepository <build.v4_1.models.BuildRepository>`
73    :param requested_by: The identity that queued the build.
74    :type requested_by: :class:`IdentityRef <build.v4_1.models.IdentityRef>`
75    :param requested_for: The identity on whose behalf the build was queued.
76    :type requested_for: :class:`IdentityRef <build.v4_1.models.IdentityRef>`
77    :param result: The build result.
78    :type result: object
79    :param retained_by_release: Indicates whether the build is retained by a release.
80    :type retained_by_release: bool
81    :param source_branch: The source branch.
82    :type source_branch: str
83    :param source_version: The source version.
84    :type source_version: str
85    :param start_time: The time that the build was started.
86    :type start_time: datetime
87    :param status: The status of the build.
88    :type status: object
89    :param tags:
90    :type tags: list of str
91    :param triggered_by_build: The build that triggered this build via a Build completion trigger.
92    :type triggered_by_build: :class:`Build <build.v4_1.models.Build>`
93    :param trigger_info: Sourceprovider-specific information about what triggered the build
94    :type trigger_info: dict
95    :param uri: The URI of the build.
96    :type uri: str
97    :param url: The REST URL of the build.
98    :type url: str
99    :param validation_results:
100    :type validation_results: list of :class:`BuildRequestValidationResult <build.v4_1.models.BuildRequestValidationResult>`
101    """
102
103    _attribute_map = {
104        '_links': {'key': '_links', 'type': 'ReferenceLinks'},
105        'build_number': {'key': 'buildNumber', 'type': 'str'},
106        'build_number_revision': {'key': 'buildNumberRevision', 'type': 'int'},
107        'controller': {'key': 'controller', 'type': 'BuildController'},
108        'definition': {'key': 'definition', 'type': 'DefinitionReference'},
109        'deleted': {'key': 'deleted', 'type': 'bool'},
110        'deleted_by': {'key': 'deletedBy', 'type': 'IdentityRef'},
111        'deleted_date': {'key': 'deletedDate', 'type': 'iso-8601'},
112        'deleted_reason': {'key': 'deletedReason', 'type': 'str'},
113        'demands': {'key': 'demands', 'type': '[object]'},
114        'finish_time': {'key': 'finishTime', 'type': 'iso-8601'},
115        'id': {'key': 'id', 'type': 'int'},
116        'keep_forever': {'key': 'keepForever', 'type': 'bool'},
117        'last_changed_by': {'key': 'lastChangedBy', 'type': 'IdentityRef'},
118        'last_changed_date': {'key': 'lastChangedDate', 'type': 'iso-8601'},
119        'logs': {'key': 'logs', 'type': 'BuildLogReference'},
120        'orchestration_plan': {'key': 'orchestrationPlan', 'type': 'TaskOrchestrationPlanReference'},
121        'parameters': {'key': 'parameters', 'type': 'str'},
122        'plans': {'key': 'plans', 'type': '[TaskOrchestrationPlanReference]'},
123        'priority': {'key': 'priority', 'type': 'object'},
124        'project': {'key': 'project', 'type': 'TeamProjectReference'},
125        'properties': {'key': 'properties', 'type': 'object'},
126        'quality': {'key': 'quality', 'type': 'str'},
127        'queue': {'key': 'queue', 'type': 'AgentPoolQueue'},
128        'queue_options': {'key': 'queueOptions', 'type': 'object'},
129        'queue_position': {'key': 'queuePosition', 'type': 'int'},
130        'queue_time': {'key': 'queueTime', 'type': 'iso-8601'},
131        'reason': {'key': 'reason', 'type': 'object'},
132        'repository': {'key': 'repository', 'type': 'BuildRepository'},
133        'requested_by': {'key': 'requestedBy', 'type': 'IdentityRef'},
134        'requested_for': {'key': 'requestedFor', 'type': 'IdentityRef'},
135        'result': {'key': 'result', 'type': 'object'},
136        'retained_by_release': {'key': 'retainedByRelease', 'type': 'bool'},
137        'source_branch': {'key': 'sourceBranch', 'type': 'str'},
138        'source_version': {'key': 'sourceVersion', 'type': 'str'},
139        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
140        'status': {'key': 'status', 'type': 'object'},
141        'tags': {'key': 'tags', 'type': '[str]'},
142        'triggered_by_build': {'key': 'triggeredByBuild', 'type': 'Build'},
143        'trigger_info': {'key': 'triggerInfo', 'type': '{str}'},
144        'uri': {'key': 'uri', 'type': 'str'},
145        'url': {'key': 'url', 'type': 'str'},
146        'validation_results': {'key': 'validationResults', 'type': '[BuildRequestValidationResult]'}
147    }
148
149    def __init__(self, _links=None, build_number=None, build_number_revision=None, controller=None, definition=None, deleted=None, deleted_by=None, deleted_date=None, deleted_reason=None, demands=None, finish_time=None, id=None, keep_forever=None, last_changed_by=None, last_changed_date=None, logs=None, orchestration_plan=None, parameters=None, plans=None, priority=None, project=None, properties=None, quality=None, queue=None, queue_options=None, queue_position=None, queue_time=None, reason=None, repository=None, requested_by=None, requested_for=None, result=None, retained_by_release=None, source_branch=None, source_version=None, start_time=None, status=None, tags=None, triggered_by_build=None, trigger_info=None, uri=None, url=None, validation_results=None):
150        super(Build, self).__init__()
151        self._links = _links
152        self.build_number = build_number
153        self.build_number_revision = build_number_revision
154        self.controller = controller
155        self.definition = definition
156        self.deleted = deleted
157        self.deleted_by = deleted_by
158        self.deleted_date = deleted_date
159        self.deleted_reason = deleted_reason
160        self.demands = demands
161        self.finish_time = finish_time
162        self.id = id
163        self.keep_forever = keep_forever
164        self.last_changed_by = last_changed_by
165        self.last_changed_date = last_changed_date
166        self.logs = logs
167        self.orchestration_plan = orchestration_plan
168        self.parameters = parameters
169        self.plans = plans
170        self.priority = priority
171        self.project = project
172        self.properties = properties
173        self.quality = quality
174        self.queue = queue
175        self.queue_options = queue_options
176        self.queue_position = queue_position
177        self.queue_time = queue_time
178        self.reason = reason
179        self.repository = repository
180        self.requested_by = requested_by
181        self.requested_for = requested_for
182        self.result = result
183        self.retained_by_release = retained_by_release
184        self.source_branch = source_branch
185        self.source_version = source_version
186        self.start_time = start_time
187        self.status = status
188        self.tags = tags
189        self.triggered_by_build = triggered_by_build
190        self.trigger_info = trigger_info
191        self.uri = uri
192        self.url = url
193        self.validation_results = validation_results
194