pulumi-azuredevops 3.8.0a1741843418__py3-none-any.whl → 3.9.0a1742275439__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.
- pulumi_azuredevops/__init__.py +1 -0
- pulumi_azuredevops/_inputs.py +435 -26
- pulumi_azuredevops/build_definition.py +335 -0
- pulumi_azuredevops/get_build_definition.py +43 -1
- pulumi_azuredevops/get_client_config.py +61 -5
- pulumi_azuredevops/get_group_membership.py +131 -0
- pulumi_azuredevops/get_teams.py +2 -2
- pulumi_azuredevops/get_users.py +4 -0
- pulumi_azuredevops/outputs.py +546 -18
- pulumi_azuredevops/pulumi-plugin.json +1 -1
- pulumi_azuredevops/service_endpoint_azure_ecr.py +12 -12
- pulumi_azuredevops/service_endpoint_azure_rm.py +8 -0
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0a1742275439.dist-info}/METADATA +1 -1
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0a1742275439.dist-info}/RECORD +16 -15
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0a1742275439.dist-info}/WHEEL +1 -1
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0a1742275439.dist-info}/top_level.txt +0 -0
@@ -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'),
|