pulumi-azuredevops 3.8.0a1741843418__py3-none-any.whl → 3.8.0a1742224403__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,9 +24,12 @@ class BuildDefinitionArgs:
24
24
  project_id: pulumi.Input[str],
25
25
  repository: pulumi.Input['BuildDefinitionRepositoryArgs'],
26
26
  agent_pool_name: Optional[pulumi.Input[str]] = None,
27
+ agent_specification: Optional[pulumi.Input[str]] = None,
27
28
  build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]] = None,
28
29
  ci_trigger: Optional[pulumi.Input['BuildDefinitionCiTriggerArgs']] = None,
29
30
  features: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]]] = None,
31
+ job_authorization_scope: Optional[pulumi.Input[str]] = None,
32
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]]] = None,
30
33
  name: Optional[pulumi.Input[str]] = None,
31
34
  path: Optional[pulumi.Input[str]] = None,
32
35
  pull_request_trigger: Optional[pulumi.Input['BuildDefinitionPullRequestTriggerArgs']] = None,
@@ -39,9 +42,14 @@ class BuildDefinitionArgs:
39
42
  :param pulumi.Input[str] project_id: The project ID or project name.
40
43
  :param pulumi.Input['BuildDefinitionRepositoryArgs'] repository: A `repository` block as documented below.
41
44
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
45
+ :param pulumi.Input[str] agent_specification: The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
42
46
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]] build_completion_triggers: A `build_completion_trigger` block as documented below.
43
47
  :param pulumi.Input['BuildDefinitionCiTriggerArgs'] ci_trigger: A `ci_trigger` block as documented below.
44
48
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]] features: A `features` blocks as documented below.
49
+ :param pulumi.Input[str] job_authorization_scope: The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
50
+ :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]] jobs: A `jobs` blocks as documented below.
51
+
52
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
45
53
  :param pulumi.Input[str] name: The name of the build definition.
46
54
  :param pulumi.Input[str] path: The folder path of the build definition.
47
55
  :param pulumi.Input['BuildDefinitionPullRequestTriggerArgs'] pull_request_trigger: A `pull_request_trigger` block as documented below.
@@ -53,12 +61,18 @@ class BuildDefinitionArgs:
53
61
  pulumi.set(__self__, "repository", repository)
54
62
  if agent_pool_name is not None:
55
63
  pulumi.set(__self__, "agent_pool_name", agent_pool_name)
64
+ if agent_specification is not None:
65
+ pulumi.set(__self__, "agent_specification", agent_specification)
56
66
  if build_completion_triggers is not None:
57
67
  pulumi.set(__self__, "build_completion_triggers", build_completion_triggers)
58
68
  if ci_trigger is not None:
59
69
  pulumi.set(__self__, "ci_trigger", ci_trigger)
60
70
  if features is not None:
61
71
  pulumi.set(__self__, "features", features)
72
+ if job_authorization_scope is not None:
73
+ pulumi.set(__self__, "job_authorization_scope", job_authorization_scope)
74
+ if jobs is not None:
75
+ pulumi.set(__self__, "jobs", jobs)
62
76
  if name is not None:
63
77
  pulumi.set(__self__, "name", name)
64
78
  if path is not None:
@@ -110,6 +124,18 @@ class BuildDefinitionArgs:
110
124
  def agent_pool_name(self, value: Optional[pulumi.Input[str]]):
111
125
  pulumi.set(self, "agent_pool_name", value)
112
126
 
127
+ @property
128
+ @pulumi.getter(name="agentSpecification")
129
+ def agent_specification(self) -> Optional[pulumi.Input[str]]:
130
+ """
131
+ The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
132
+ """
133
+ return pulumi.get(self, "agent_specification")
134
+
135
+ @agent_specification.setter
136
+ def agent_specification(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "agent_specification", value)
138
+
113
139
  @property
114
140
  @pulumi.getter(name="buildCompletionTriggers")
115
141
  def build_completion_triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]]:
@@ -146,6 +172,32 @@ class BuildDefinitionArgs:
146
172
  def features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]]]):
147
173
  pulumi.set(self, "features", value)
148
174
 
175
+ @property
176
+ @pulumi.getter(name="jobAuthorizationScope")
177
+ def job_authorization_scope(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
180
+ """
181
+ return pulumi.get(self, "job_authorization_scope")
182
+
183
+ @job_authorization_scope.setter
184
+ def job_authorization_scope(self, value: Optional[pulumi.Input[str]]):
185
+ pulumi.set(self, "job_authorization_scope", value)
186
+
187
+ @property
188
+ @pulumi.getter
189
+ def jobs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]]]:
190
+ """
191
+ A `jobs` blocks as documented below.
192
+
193
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
194
+ """
195
+ return pulumi.get(self, "jobs")
196
+
197
+ @jobs.setter
198
+ def jobs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]]]):
199
+ pulumi.set(self, "jobs", value)
200
+
149
201
  @property
150
202
  @pulumi.getter
151
203
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -232,9 +284,12 @@ class BuildDefinitionArgs:
232
284
  class _BuildDefinitionState:
233
285
  def __init__(__self__, *,
234
286
  agent_pool_name: Optional[pulumi.Input[str]] = None,
287
+ agent_specification: Optional[pulumi.Input[str]] = None,
235
288
  build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]] = None,
236
289
  ci_trigger: Optional[pulumi.Input['BuildDefinitionCiTriggerArgs']] = None,
237
290
  features: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]]] = None,
291
+ job_authorization_scope: Optional[pulumi.Input[str]] = None,
292
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]]] = None,
238
293
  name: Optional[pulumi.Input[str]] = None,
239
294
  path: Optional[pulumi.Input[str]] = None,
240
295
  project_id: Optional[pulumi.Input[str]] = None,
@@ -248,9 +303,14 @@ class _BuildDefinitionState:
248
303
  """
249
304
  Input properties used for looking up and filtering BuildDefinition resources.
250
305
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
306
+ :param pulumi.Input[str] agent_specification: The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
251
307
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]] build_completion_triggers: A `build_completion_trigger` block as documented below.
252
308
  :param pulumi.Input['BuildDefinitionCiTriggerArgs'] ci_trigger: A `ci_trigger` block as documented below.
253
309
  :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]] features: A `features` blocks as documented below.
310
+ :param pulumi.Input[str] job_authorization_scope: The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
311
+ :param pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]] jobs: A `jobs` blocks as documented below.
312
+
313
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
254
314
  :param pulumi.Input[str] name: The name of the build definition.
255
315
  :param pulumi.Input[str] path: The folder path of the build definition.
256
316
  :param pulumi.Input[str] project_id: The project ID or project name.
@@ -263,12 +323,18 @@ class _BuildDefinitionState:
263
323
  """
264
324
  if agent_pool_name is not None:
265
325
  pulumi.set(__self__, "agent_pool_name", agent_pool_name)
326
+ if agent_specification is not None:
327
+ pulumi.set(__self__, "agent_specification", agent_specification)
266
328
  if build_completion_triggers is not None:
267
329
  pulumi.set(__self__, "build_completion_triggers", build_completion_triggers)
268
330
  if ci_trigger is not None:
269
331
  pulumi.set(__self__, "ci_trigger", ci_trigger)
270
332
  if features is not None:
271
333
  pulumi.set(__self__, "features", features)
334
+ if job_authorization_scope is not None:
335
+ pulumi.set(__self__, "job_authorization_scope", job_authorization_scope)
336
+ if jobs is not None:
337
+ pulumi.set(__self__, "jobs", jobs)
272
338
  if name is not None:
273
339
  pulumi.set(__self__, "name", name)
274
340
  if path is not None:
@@ -302,6 +368,18 @@ class _BuildDefinitionState:
302
368
  def agent_pool_name(self, value: Optional[pulumi.Input[str]]):
303
369
  pulumi.set(self, "agent_pool_name", value)
304
370
 
371
+ @property
372
+ @pulumi.getter(name="agentSpecification")
373
+ def agent_specification(self) -> Optional[pulumi.Input[str]]:
374
+ """
375
+ The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
376
+ """
377
+ return pulumi.get(self, "agent_specification")
378
+
379
+ @agent_specification.setter
380
+ def agent_specification(self, value: Optional[pulumi.Input[str]]):
381
+ pulumi.set(self, "agent_specification", value)
382
+
305
383
  @property
306
384
  @pulumi.getter(name="buildCompletionTriggers")
307
385
  def build_completion_triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionBuildCompletionTriggerArgs']]]]:
@@ -338,6 +416,32 @@ class _BuildDefinitionState:
338
416
  def features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionFeatureArgs']]]]):
339
417
  pulumi.set(self, "features", value)
340
418
 
419
+ @property
420
+ @pulumi.getter(name="jobAuthorizationScope")
421
+ def job_authorization_scope(self) -> Optional[pulumi.Input[str]]:
422
+ """
423
+ The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
424
+ """
425
+ return pulumi.get(self, "job_authorization_scope")
426
+
427
+ @job_authorization_scope.setter
428
+ def job_authorization_scope(self, value: Optional[pulumi.Input[str]]):
429
+ pulumi.set(self, "job_authorization_scope", value)
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def jobs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]]]:
434
+ """
435
+ A `jobs` blocks as documented below.
436
+
437
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
438
+ """
439
+ return pulumi.get(self, "jobs")
440
+
441
+ @jobs.setter
442
+ def jobs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BuildDefinitionJobArgs']]]]):
443
+ pulumi.set(self, "jobs", value)
444
+
341
445
  @property
342
446
  @pulumi.getter
343
447
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -462,9 +566,12 @@ class BuildDefinition(pulumi.CustomResource):
462
566
  resource_name: str,
463
567
  opts: Optional[pulumi.ResourceOptions] = None,
464
568
  agent_pool_name: Optional[pulumi.Input[str]] = None,
569
+ agent_specification: Optional[pulumi.Input[str]] = None,
465
570
  build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]]] = None,
466
571
  ci_trigger: Optional[pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']]] = None,
467
572
  features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]]] = None,
573
+ job_authorization_scope: Optional[pulumi.Input[str]] = None,
574
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionJobArgs', 'BuildDefinitionJobArgsDict']]]]] = None,
468
575
  name: Optional[pulumi.Input[str]] = None,
469
576
  path: Optional[pulumi.Input[str]] = None,
470
577
  project_id: Optional[pulumi.Input[str]] = None,
@@ -664,6 +771,96 @@ class BuildDefinition(pulumi.CustomResource):
664
771
  })
665
772
  ```
666
773
 
774
+ ### Using Other Git and Agent Jobs
775
+ ```python
776
+ import pulumi
777
+ import pulumi_azuredevops as azuredevops
778
+
779
+ example = azuredevops.ServiceEndpointGenericGit("example",
780
+ project_id=example_azuredevops_project["id"],
781
+ repository_url="https://gitlab.com/example/example.git",
782
+ password="token",
783
+ service_endpoint_name="Example Generic Git")
784
+ example_build_definition = azuredevops.BuildDefinition("example",
785
+ project_id=example_azuredevops_project2["id"],
786
+ name="Example Build Definition",
787
+ path="\\\\ExampleFolder",
788
+ ci_trigger={
789
+ "use_yaml": False,
790
+ },
791
+ repository={
792
+ "repo_type": "Git",
793
+ "repo_id": example.repository_url,
794
+ "branch_name": "refs/heads/main",
795
+ "url": example.repository_url,
796
+ "service_connection_id": example.id,
797
+ },
798
+ jobs=[
799
+ {
800
+ "name": "Agent Job1",
801
+ "ref_name": "agent_job1",
802
+ "condition": "succeededOrFailed()",
803
+ "target": {
804
+ "type": "AgentJob",
805
+ "execution_options": {
806
+ "type": "None",
807
+ },
808
+ },
809
+ },
810
+ {
811
+ "name": "Agent Job2",
812
+ "ref_name": "agent_job2",
813
+ "condition": "succeededOrFailed()",
814
+ "dependencies": [{
815
+ "scope": "agent_job1",
816
+ }],
817
+ "target": {
818
+ "type": "AgentJob",
819
+ "demands": ["git"],
820
+ "execution_options": {
821
+ "type": "Multi-Configuration",
822
+ "continue_on_error": True,
823
+ "multipliers": "multipliers",
824
+ "max_concurrency": 2,
825
+ },
826
+ },
827
+ },
828
+ {
829
+ "name": "Agentless Job1",
830
+ "ref_name": "agentless_job1",
831
+ "condition": "succeeded()",
832
+ "target": {
833
+ "type": "AgentlessJob",
834
+ "execution_options": {
835
+ "type": "None",
836
+ },
837
+ },
838
+ },
839
+ {
840
+ "name": "Agentless Job2",
841
+ "ref_name": "agentless_job2",
842
+ "condition": "succeeded()",
843
+ "job_authorization_scope": "project",
844
+ "dependencies": [
845
+ {
846
+ "scope": "agent_job2",
847
+ },
848
+ {
849
+ "scope": "agentless_job1",
850
+ },
851
+ ],
852
+ "target": {
853
+ "type": "AgentlessJob",
854
+ "execution_options": {
855
+ "type": "Multi-Configuration",
856
+ "continue_on_error": True,
857
+ "multipliers": "multipliers",
858
+ },
859
+ },
860
+ },
861
+ ])
862
+ ```
863
+
667
864
  ## Remarks
668
865
 
669
866
  The path attribute can not end in `\\` unless the path is the root value of `\\`.
@@ -696,9 +893,14 @@ class BuildDefinition(pulumi.CustomResource):
696
893
  :param str resource_name: The name of the resource.
697
894
  :param pulumi.ResourceOptions opts: Options for the resource.
698
895
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
896
+ :param pulumi.Input[str] agent_specification: The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
699
897
  :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]] build_completion_triggers: A `build_completion_trigger` block as documented below.
700
898
  :param pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']] ci_trigger: A `ci_trigger` block as documented below.
701
899
  :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]] features: A `features` blocks as documented below.
900
+ :param pulumi.Input[str] job_authorization_scope: The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
901
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionJobArgs', 'BuildDefinitionJobArgsDict']]]] jobs: A `jobs` blocks as documented below.
902
+
903
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
702
904
  :param pulumi.Input[str] name: The name of the build definition.
703
905
  :param pulumi.Input[str] path: The folder path of the build definition.
704
906
  :param pulumi.Input[str] project_id: The project ID or project name.
@@ -903,6 +1105,96 @@ class BuildDefinition(pulumi.CustomResource):
903
1105
  })
904
1106
  ```
905
1107
 
1108
+ ### Using Other Git and Agent Jobs
1109
+ ```python
1110
+ import pulumi
1111
+ import pulumi_azuredevops as azuredevops
1112
+
1113
+ example = azuredevops.ServiceEndpointGenericGit("example",
1114
+ project_id=example_azuredevops_project["id"],
1115
+ repository_url="https://gitlab.com/example/example.git",
1116
+ password="token",
1117
+ service_endpoint_name="Example Generic Git")
1118
+ example_build_definition = azuredevops.BuildDefinition("example",
1119
+ project_id=example_azuredevops_project2["id"],
1120
+ name="Example Build Definition",
1121
+ path="\\\\ExampleFolder",
1122
+ ci_trigger={
1123
+ "use_yaml": False,
1124
+ },
1125
+ repository={
1126
+ "repo_type": "Git",
1127
+ "repo_id": example.repository_url,
1128
+ "branch_name": "refs/heads/main",
1129
+ "url": example.repository_url,
1130
+ "service_connection_id": example.id,
1131
+ },
1132
+ jobs=[
1133
+ {
1134
+ "name": "Agent Job1",
1135
+ "ref_name": "agent_job1",
1136
+ "condition": "succeededOrFailed()",
1137
+ "target": {
1138
+ "type": "AgentJob",
1139
+ "execution_options": {
1140
+ "type": "None",
1141
+ },
1142
+ },
1143
+ },
1144
+ {
1145
+ "name": "Agent Job2",
1146
+ "ref_name": "agent_job2",
1147
+ "condition": "succeededOrFailed()",
1148
+ "dependencies": [{
1149
+ "scope": "agent_job1",
1150
+ }],
1151
+ "target": {
1152
+ "type": "AgentJob",
1153
+ "demands": ["git"],
1154
+ "execution_options": {
1155
+ "type": "Multi-Configuration",
1156
+ "continue_on_error": True,
1157
+ "multipliers": "multipliers",
1158
+ "max_concurrency": 2,
1159
+ },
1160
+ },
1161
+ },
1162
+ {
1163
+ "name": "Agentless Job1",
1164
+ "ref_name": "agentless_job1",
1165
+ "condition": "succeeded()",
1166
+ "target": {
1167
+ "type": "AgentlessJob",
1168
+ "execution_options": {
1169
+ "type": "None",
1170
+ },
1171
+ },
1172
+ },
1173
+ {
1174
+ "name": "Agentless Job2",
1175
+ "ref_name": "agentless_job2",
1176
+ "condition": "succeeded()",
1177
+ "job_authorization_scope": "project",
1178
+ "dependencies": [
1179
+ {
1180
+ "scope": "agent_job2",
1181
+ },
1182
+ {
1183
+ "scope": "agentless_job1",
1184
+ },
1185
+ ],
1186
+ "target": {
1187
+ "type": "AgentlessJob",
1188
+ "execution_options": {
1189
+ "type": "Multi-Configuration",
1190
+ "continue_on_error": True,
1191
+ "multipliers": "multipliers",
1192
+ },
1193
+ },
1194
+ },
1195
+ ])
1196
+ ```
1197
+
906
1198
  ## Remarks
907
1199
 
908
1200
  The path attribute can not end in `\\` unless the path is the root value of `\\`.
@@ -948,9 +1240,12 @@ class BuildDefinition(pulumi.CustomResource):
948
1240
  resource_name: str,
949
1241
  opts: Optional[pulumi.ResourceOptions] = None,
950
1242
  agent_pool_name: Optional[pulumi.Input[str]] = None,
1243
+ agent_specification: Optional[pulumi.Input[str]] = None,
951
1244
  build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]]] = None,
952
1245
  ci_trigger: Optional[pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']]] = None,
953
1246
  features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]]] = None,
1247
+ job_authorization_scope: Optional[pulumi.Input[str]] = None,
1248
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionJobArgs', 'BuildDefinitionJobArgsDict']]]]] = None,
954
1249
  name: Optional[pulumi.Input[str]] = None,
955
1250
  path: Optional[pulumi.Input[str]] = None,
956
1251
  project_id: Optional[pulumi.Input[str]] = None,
@@ -970,9 +1265,12 @@ class BuildDefinition(pulumi.CustomResource):
970
1265
  __props__ = BuildDefinitionArgs.__new__(BuildDefinitionArgs)
971
1266
 
972
1267
  __props__.__dict__["agent_pool_name"] = agent_pool_name
1268
+ __props__.__dict__["agent_specification"] = agent_specification
973
1269
  __props__.__dict__["build_completion_triggers"] = build_completion_triggers
974
1270
  __props__.__dict__["ci_trigger"] = ci_trigger
975
1271
  __props__.__dict__["features"] = features
1272
+ __props__.__dict__["job_authorization_scope"] = job_authorization_scope
1273
+ __props__.__dict__["jobs"] = jobs
976
1274
  __props__.__dict__["name"] = name
977
1275
  __props__.__dict__["path"] = path
978
1276
  if project_id is None and not opts.urn:
@@ -998,9 +1296,12 @@ class BuildDefinition(pulumi.CustomResource):
998
1296
  id: pulumi.Input[str],
999
1297
  opts: Optional[pulumi.ResourceOptions] = None,
1000
1298
  agent_pool_name: Optional[pulumi.Input[str]] = None,
1299
+ agent_specification: Optional[pulumi.Input[str]] = None,
1001
1300
  build_completion_triggers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]]] = None,
1002
1301
  ci_trigger: Optional[pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']]] = None,
1003
1302
  features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]]] = None,
1303
+ job_authorization_scope: Optional[pulumi.Input[str]] = None,
1304
+ jobs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionJobArgs', 'BuildDefinitionJobArgsDict']]]]] = None,
1004
1305
  name: Optional[pulumi.Input[str]] = None,
1005
1306
  path: Optional[pulumi.Input[str]] = None,
1006
1307
  project_id: Optional[pulumi.Input[str]] = None,
@@ -1019,9 +1320,14 @@ class BuildDefinition(pulumi.CustomResource):
1019
1320
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1020
1321
  :param pulumi.ResourceOptions opts: Options for the resource.
1021
1322
  :param pulumi.Input[str] agent_pool_name: The agent pool that should execute the build. Defaults to `Azure Pipelines`.
1323
+ :param pulumi.Input[str] agent_specification: The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
1022
1324
  :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionBuildCompletionTriggerArgs', 'BuildDefinitionBuildCompletionTriggerArgsDict']]]] build_completion_triggers: A `build_completion_trigger` block as documented below.
1023
1325
  :param pulumi.Input[Union['BuildDefinitionCiTriggerArgs', 'BuildDefinitionCiTriggerArgsDict']] ci_trigger: A `ci_trigger` block as documented below.
1024
1326
  :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionFeatureArgs', 'BuildDefinitionFeatureArgsDict']]]] features: A `features` blocks as documented below.
1327
+ :param pulumi.Input[str] job_authorization_scope: The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
1328
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BuildDefinitionJobArgs', 'BuildDefinitionJobArgsDict']]]] jobs: A `jobs` blocks as documented below.
1329
+
1330
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
1025
1331
  :param pulumi.Input[str] name: The name of the build definition.
1026
1332
  :param pulumi.Input[str] path: The folder path of the build definition.
1027
1333
  :param pulumi.Input[str] project_id: The project ID or project name.
@@ -1037,9 +1343,12 @@ class BuildDefinition(pulumi.CustomResource):
1037
1343
  __props__ = _BuildDefinitionState.__new__(_BuildDefinitionState)
1038
1344
 
1039
1345
  __props__.__dict__["agent_pool_name"] = agent_pool_name
1346
+ __props__.__dict__["agent_specification"] = agent_specification
1040
1347
  __props__.__dict__["build_completion_triggers"] = build_completion_triggers
1041
1348
  __props__.__dict__["ci_trigger"] = ci_trigger
1042
1349
  __props__.__dict__["features"] = features
1350
+ __props__.__dict__["job_authorization_scope"] = job_authorization_scope
1351
+ __props__.__dict__["jobs"] = jobs
1043
1352
  __props__.__dict__["name"] = name
1044
1353
  __props__.__dict__["path"] = path
1045
1354
  __props__.__dict__["project_id"] = project_id
@@ -1060,6 +1369,14 @@ class BuildDefinition(pulumi.CustomResource):
1060
1369
  """
1061
1370
  return pulumi.get(self, "agent_pool_name")
1062
1371
 
1372
+ @property
1373
+ @pulumi.getter(name="agentSpecification")
1374
+ def agent_specification(self) -> pulumi.Output[Optional[str]]:
1375
+ """
1376
+ The Agent Specification to run the pipelines. Required when `repo_type` is `Git`. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
1377
+ """
1378
+ return pulumi.get(self, "agent_specification")
1379
+
1063
1380
  @property
1064
1381
  @pulumi.getter(name="buildCompletionTriggers")
1065
1382
  def build_completion_triggers(self) -> pulumi.Output[Optional[Sequence['outputs.BuildDefinitionBuildCompletionTrigger']]]:
@@ -1084,6 +1401,24 @@ class BuildDefinition(pulumi.CustomResource):
1084
1401
  """
1085
1402
  return pulumi.get(self, "features")
1086
1403
 
1404
+ @property
1405
+ @pulumi.getter(name="jobAuthorizationScope")
1406
+ def job_authorization_scope(self) -> pulumi.Output[Optional[str]]:
1407
+ """
1408
+ The job authorization scope for builds queued against this definition. Possible values are: `project`, `projectCollection`. Defaults to `projectCollection`.
1409
+ """
1410
+ return pulumi.get(self, "job_authorization_scope")
1411
+
1412
+ @property
1413
+ @pulumi.getter
1414
+ def jobs(self) -> pulumi.Output[Optional[Sequence['outputs.BuildDefinitionJob']]]:
1415
+ """
1416
+ A `jobs` blocks as documented below.
1417
+
1418
+ > **NOTE:** The `jobs` are classic pipelines, you need to enable the classic pipeline feature for your organization to use this feature.
1419
+ """
1420
+ return pulumi.get(self, "jobs")
1421
+
1087
1422
  @property
1088
1423
  @pulumi.getter
1089
1424
  def name(self) -> pulumi.Output[str]:
@@ -27,16 +27,25 @@ class GetBuildDefinitionResult:
27
27
  """
28
28
  A collection of values returned by getBuildDefinition.
29
29
  """
30
- def __init__(__self__, agent_pool_name=None, ci_triggers=None, id=None, name=None, path=None, project_id=None, pull_request_triggers=None, queue_status=None, repositories=None, revision=None, schedules=None, variable_groups=None, variables=None):
30
+ def __init__(__self__, agent_pool_name=None, agent_specification=None, ci_triggers=None, id=None, job_authorization_scope=None, jobs=None, name=None, path=None, project_id=None, pull_request_triggers=None, queue_status=None, repositories=None, revision=None, schedules=None, variable_groups=None, variables=None):
31
31
  if agent_pool_name and not isinstance(agent_pool_name, str):
32
32
  raise TypeError("Expected argument 'agent_pool_name' to be a str")
33
33
  pulumi.set(__self__, "agent_pool_name", agent_pool_name)
34
+ if agent_specification and not isinstance(agent_specification, str):
35
+ raise TypeError("Expected argument 'agent_specification' to be a str")
36
+ pulumi.set(__self__, "agent_specification", agent_specification)
34
37
  if ci_triggers and not isinstance(ci_triggers, list):
35
38
  raise TypeError("Expected argument 'ci_triggers' to be a list")
36
39
  pulumi.set(__self__, "ci_triggers", ci_triggers)
37
40
  if id and not isinstance(id, str):
38
41
  raise TypeError("Expected argument 'id' to be a str")
39
42
  pulumi.set(__self__, "id", id)
43
+ if job_authorization_scope and not isinstance(job_authorization_scope, str):
44
+ raise TypeError("Expected argument 'job_authorization_scope' to be a str")
45
+ pulumi.set(__self__, "job_authorization_scope", job_authorization_scope)
46
+ if jobs and not isinstance(jobs, list):
47
+ raise TypeError("Expected argument 'jobs' to be a list")
48
+ pulumi.set(__self__, "jobs", jobs)
40
49
  if name and not isinstance(name, str):
41
50
  raise TypeError("Expected argument 'name' to be a str")
42
51
  pulumi.set(__self__, "name", name)
@@ -76,6 +85,14 @@ class GetBuildDefinitionResult:
76
85
  """
77
86
  return pulumi.get(self, "agent_pool_name")
78
87
 
88
+ @property
89
+ @pulumi.getter(name="agentSpecification")
90
+ def agent_specification(self) -> str:
91
+ """
92
+ The Agent Specification to run the pipelines. Example: `windows-2019`, `windows-latest`, `macos-13` etc.
93
+ """
94
+ return pulumi.get(self, "agent_specification")
95
+
79
96
  @property
80
97
  @pulumi.getter(name="ciTriggers")
81
98
  def ci_triggers(self) -> Sequence['outputs.GetBuildDefinitionCiTriggerResult']:
@@ -92,6 +109,22 @@ class GetBuildDefinitionResult:
92
109
  """
93
110
  return pulumi.get(self, "id")
94
111
 
112
+ @property
113
+ @pulumi.getter(name="jobAuthorizationScope")
114
+ def job_authorization_scope(self) -> str:
115
+ """
116
+ The job authorization scope for builds queued against this definition.
117
+ """
118
+ return pulumi.get(self, "job_authorization_scope")
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def jobs(self) -> Sequence['outputs.GetBuildDefinitionJobResult']:
123
+ """
124
+ A `jobs` blocks as documented below.
125
+ """
126
+ return pulumi.get(self, "jobs")
127
+
95
128
  @property
96
129
  @pulumi.getter
97
130
  def name(self) -> str:
@@ -174,8 +207,11 @@ class AwaitableGetBuildDefinitionResult(GetBuildDefinitionResult):
174
207
  yield self
175
208
  return GetBuildDefinitionResult(
176
209
  agent_pool_name=self.agent_pool_name,
210
+ agent_specification=self.agent_specification,
177
211
  ci_triggers=self.ci_triggers,
178
212
  id=self.id,
213
+ job_authorization_scope=self.job_authorization_scope,
214
+ jobs=self.jobs,
179
215
  name=self.name,
180
216
  path=self.path,
181
217
  project_id=self.project_id,
@@ -221,8 +257,11 @@ def get_build_definition(name: Optional[str] = None,
221
257
 
222
258
  return AwaitableGetBuildDefinitionResult(
223
259
  agent_pool_name=pulumi.get(__ret__, 'agent_pool_name'),
260
+ agent_specification=pulumi.get(__ret__, 'agent_specification'),
224
261
  ci_triggers=pulumi.get(__ret__, 'ci_triggers'),
225
262
  id=pulumi.get(__ret__, 'id'),
263
+ job_authorization_scope=pulumi.get(__ret__, 'job_authorization_scope'),
264
+ jobs=pulumi.get(__ret__, 'jobs'),
226
265
  name=pulumi.get(__ret__, 'name'),
227
266
  path=pulumi.get(__ret__, 'path'),
228
267
  project_id=pulumi.get(__ret__, 'project_id'),
@@ -265,8 +304,11 @@ def get_build_definition_output(name: Optional[pulumi.Input[str]] = None,
265
304
  __ret__ = pulumi.runtime.invoke_output('azuredevops:index/getBuildDefinition:getBuildDefinition', __args__, opts=opts, typ=GetBuildDefinitionResult)
266
305
  return __ret__.apply(lambda __response__: GetBuildDefinitionResult(
267
306
  agent_pool_name=pulumi.get(__response__, 'agent_pool_name'),
307
+ agent_specification=pulumi.get(__response__, 'agent_specification'),
268
308
  ci_triggers=pulumi.get(__response__, 'ci_triggers'),
269
309
  id=pulumi.get(__response__, 'id'),
310
+ job_authorization_scope=pulumi.get(__response__, 'job_authorization_scope'),
311
+ jobs=pulumi.get(__response__, 'jobs'),
270
312
  name=pulumi.get(__response__, 'name'),
271
313
  path=pulumi.get(__response__, 'path'),
272
314
  project_id=pulumi.get(__response__, 'project_id'),