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 .build_definition_reference3_2 import BuildDefinitionReference3_2
10
11
12class BuildDefinition3_2(BuildDefinitionReference3_2):
13    """BuildDefinition3_2.
14
15    :param created_date: The date the definition was created.
16    :type created_date: datetime
17    :param id: The ID of the referenced definition.
18    :type id: int
19    :param name: The name of the referenced definition.
20    :type name: str
21    :param path: The folder path of the definition.
22    :type path: str
23    :param project: A reference to the project.
24    :type project: :class:`TeamProjectReference <build.v4_1.models.TeamProjectReference>`
25    :param queue_status: A value that indicates whether builds can be queued against this definition.
26    :type queue_status: object
27    :param revision: The definition revision number.
28    :type revision: int
29    :param type: The type of the definition.
30    :type type: object
31    :param uri: The definition's URI.
32    :type uri: str
33    :param url: The REST URL of the definition.
34    :type url: str
35    :param _links:
36    :type _links: :class:`ReferenceLinks <build.v4_1.models.ReferenceLinks>`
37    :param authored_by: The author of the definition.
38    :type authored_by: :class:`IdentityRef <build.v4_1.models.IdentityRef>`
39    :param draft_of: A reference to the definition that this definition is a draft of, if this is a draft definition.
40    :type draft_of: :class:`DefinitionReference <build.v4_1.models.DefinitionReference>`
41    :param drafts: The list of drafts associated with this definition, if this is not a draft definition.
42    :type drafts: list of :class:`DefinitionReference <build.v4_1.models.DefinitionReference>`
43    :param metrics:
44    :type metrics: list of :class:`BuildMetric <build.v4_1.models.BuildMetric>`
45    :param quality: The quality of the definition document (draft, etc.)
46    :type quality: object
47    :param queue: The default queue for builds run against this definition.
48    :type queue: :class:`AgentPoolQueue <build.v4_1.models.AgentPoolQueue>`
49    :param badge_enabled: Indicates whether badges are enabled for this definition
50    :type badge_enabled: bool
51    :param build:
52    :type build: list of :class:`BuildDefinitionStep <build.v4_1.models.BuildDefinitionStep>`
53    :param build_number_format: The build number format
54    :type build_number_format: str
55    :param comment: The comment entered when saving the definition
56    :type comment: str
57    :param demands:
58    :type demands: list of :class:`object <build.v4_1.models.object>`
59    :param description: The description
60    :type description: str
61    :param drop_location: The drop location for the definition
62    :type drop_location: str
63    :param job_authorization_scope: The job authorization scope for builds which are queued against this definition
64    :type job_authorization_scope: object
65    :param job_cancel_timeout_in_minutes: The job cancel timeout in minutes for builds which are cancelled by user for this definition
66    :type job_cancel_timeout_in_minutes: int
67    :param job_timeout_in_minutes: The job execution timeout in minutes for builds which are queued against this definition
68    :type job_timeout_in_minutes: int
69    :param latest_build:
70    :type latest_build: :class:`Build <build.v4_1.models.Build>`
71    :param latest_completed_build:
72    :type latest_completed_build: :class:`Build <build.v4_1.models.Build>`
73    :param options:
74    :type options: list of :class:`BuildOption <build.v4_1.models.BuildOption>`
75    :param process_parameters: Process Parameters
76    :type process_parameters: :class:`ProcessParameters <build.v4_1.models.ProcessParameters>`
77    :param properties:
78    :type properties: :class:`object <build.v4_1.models.object>`
79    :param repository: The repository
80    :type repository: :class:`BuildRepository <build.v4_1.models.BuildRepository>`
81    :param retention_rules:
82    :type retention_rules: list of :class:`RetentionPolicy <build.v4_1.models.RetentionPolicy>`
83    :param tags:
84    :type tags: list of str
85    :param triggers:
86    :type triggers: list of :class:`object <build.v4_1.models.object>`
87    :param variables:
88    :type variables: dict
89    """
90
91    _attribute_map = {
92        'created_date': {'key': 'createdDate', 'type': 'iso-8601'},
93        'id': {'key': 'id', 'type': 'int'},
94        'name': {'key': 'name', 'type': 'str'},
95        'path': {'key': 'path', 'type': 'str'},
96        'project': {'key': 'project', 'type': 'TeamProjectReference'},
97        'queue_status': {'key': 'queueStatus', 'type': 'object'},
98        'revision': {'key': 'revision', 'type': 'int'},
99        'type': {'key': 'type', 'type': 'object'},
100        'uri': {'key': 'uri', 'type': 'str'},
101        'url': {'key': 'url', 'type': 'str'},
102        '_links': {'key': '_links', 'type': 'ReferenceLinks'},
103        'authored_by': {'key': 'authoredBy', 'type': 'IdentityRef'},
104        'draft_of': {'key': 'draftOf', 'type': 'DefinitionReference'},
105        'drafts': {'key': 'drafts', 'type': '[DefinitionReference]'},
106        'metrics': {'key': 'metrics', 'type': '[BuildMetric]'},
107        'quality': {'key': 'quality', 'type': 'object'},
108        'queue': {'key': 'queue', 'type': 'AgentPoolQueue'},
109        'badge_enabled': {'key': 'badgeEnabled', 'type': 'bool'},
110        'build': {'key': 'build', 'type': '[BuildDefinitionStep]'},
111        'build_number_format': {'key': 'buildNumberFormat', 'type': 'str'},
112        'comment': {'key': 'comment', 'type': 'str'},
113        'demands': {'key': 'demands', 'type': '[object]'},
114        'description': {'key': 'description', 'type': 'str'},
115        'drop_location': {'key': 'dropLocation', 'type': 'str'},
116        'job_authorization_scope': {'key': 'jobAuthorizationScope', 'type': 'object'},
117        'job_cancel_timeout_in_minutes': {'key': 'jobCancelTimeoutInMinutes', 'type': 'int'},
118        'job_timeout_in_minutes': {'key': 'jobTimeoutInMinutes', 'type': 'int'},
119        'latest_build': {'key': 'latestBuild', 'type': 'Build'},
120        'latest_completed_build': {'key': 'latestCompletedBuild', 'type': 'Build'},
121        'options': {'key': 'options', 'type': '[BuildOption]'},
122        'process_parameters': {'key': 'processParameters', 'type': 'ProcessParameters'},
123        'properties': {'key': 'properties', 'type': 'object'},
124        'repository': {'key': 'repository', 'type': 'BuildRepository'},
125        'retention_rules': {'key': 'retentionRules', 'type': '[RetentionPolicy]'},
126        'tags': {'key': 'tags', 'type': '[str]'},
127        'triggers': {'key': 'triggers', 'type': '[object]'},
128        'variables': {'key': 'variables', 'type': '{BuildDefinitionVariable}'}
129    }
130
131    def __init__(self, created_date=None, id=None, name=None, path=None, project=None, queue_status=None, revision=None, type=None, uri=None, url=None, _links=None, authored_by=None, draft_of=None, drafts=None, metrics=None, quality=None, queue=None, badge_enabled=None, build=None, build_number_format=None, comment=None, demands=None, description=None, drop_location=None, job_authorization_scope=None, job_cancel_timeout_in_minutes=None, job_timeout_in_minutes=None, latest_build=None, latest_completed_build=None, options=None, process_parameters=None, properties=None, repository=None, retention_rules=None, tags=None, triggers=None, variables=None):
132        super(BuildDefinition3_2, self).__init__(created_date=created_date, id=id, name=name, path=path, project=project, queue_status=queue_status, revision=revision, type=type, uri=uri, url=url, _links=_links, authored_by=authored_by, draft_of=draft_of, drafts=drafts, metrics=metrics, quality=quality, queue=queue)
133        self.badge_enabled = badge_enabled
134        self.build = build
135        self.build_number_format = build_number_format
136        self.comment = comment
137        self.demands = demands
138        self.description = description
139        self.drop_location = drop_location
140        self.job_authorization_scope = job_authorization_scope
141        self.job_cancel_timeout_in_minutes = job_cancel_timeout_in_minutes
142        self.job_timeout_in_minutes = job_timeout_in_minutes
143        self.latest_build = latest_build
144        self.latest_completed_build = latest_completed_build
145        self.options = options
146        self.process_parameters = process_parameters
147        self.properties = properties
148        self.repository = repository
149        self.retention_rules = retention_rules
150        self.tags = tags
151        self.triggers = triggers
152        self.variables = variables
153