pulumi-azuredevops 3.6.0a1737523387__py3-none-any.whl → 3.7.0__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 +76 -0
- pulumi_azuredevops/_inputs.py +120 -117
- pulumi_azuredevops/_utilities.py +8 -4
- pulumi_azuredevops/area_permissions.py +49 -49
- pulumi_azuredevops/branch_policy_auto_reviewers.py +7 -7
- pulumi_azuredevops/branch_policy_build_validation.py +7 -7
- pulumi_azuredevops/branch_policy_comment_resolution.py +7 -7
- pulumi_azuredevops/branch_policy_merge_types.py +7 -7
- pulumi_azuredevops/branch_policy_status_check.py +7 -7
- pulumi_azuredevops/branch_policy_work_item_linking.py +7 -7
- pulumi_azuredevops/build_definition.py +7 -7
- pulumi_azuredevops/check_branch_control.py +7 -7
- pulumi_azuredevops/check_business_hours.py +7 -7
- pulumi_azuredevops/check_exclusive_lock.py +7 -7
- pulumi_azuredevops/check_rest_api.py +986 -0
- pulumi_azuredevops/dashboard.py +475 -0
- pulumi_azuredevops/feed.py +8 -8
- pulumi_azuredevops/feed_permission.py +9 -9
- pulumi_azuredevops/feed_retention_policy.py +400 -0
- pulumi_azuredevops/get_agent_queue.py +2 -2
- pulumi_azuredevops/get_area.py +1 -1
- pulumi_azuredevops/get_client_config.py +3 -0
- pulumi_azuredevops/get_descriptor.py +133 -0
- pulumi_azuredevops/get_feed.py +4 -4
- pulumi_azuredevops/get_git_repository.py +8 -8
- pulumi_azuredevops/get_group.py +4 -4
- pulumi_azuredevops/get_groups.py +3 -3
- pulumi_azuredevops/get_identity_group.py +23 -6
- pulumi_azuredevops/get_identity_groups.py +3 -3
- pulumi_azuredevops/get_identity_users.py +23 -9
- pulumi_azuredevops/get_pool.py +14 -2
- pulumi_azuredevops/get_pools.py +3 -3
- pulumi_azuredevops/get_project.py +32 -0
- pulumi_azuredevops/get_projects.py +4 -4
- pulumi_azuredevops/get_repositories.py +7 -3
- pulumi_azuredevops/get_securityrole_definitions.py +4 -4
- pulumi_azuredevops/get_service_endpoint_azure_rm.py +5 -5
- pulumi_azuredevops/get_service_endpoint_github.py +6 -6
- pulumi_azuredevops/get_service_principal.py +153 -0
- pulumi_azuredevops/get_serviceendpoint_azurecr.py +1 -1
- pulumi_azuredevops/get_serviceendpoint_bitbucket.py +6 -6
- pulumi_azuredevops/get_serviceendpoint_npm.py +3 -3
- pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +2 -2
- pulumi_azuredevops/get_storage_key.py +133 -0
- pulumi_azuredevops/get_team.py +4 -3
- pulumi_azuredevops/get_teams.py +2 -3
- pulumi_azuredevops/get_user.py +193 -0
- pulumi_azuredevops/get_users.py +5 -9
- pulumi_azuredevops/git.py +7 -7
- pulumi_azuredevops/git_permissions.py +14 -21
- pulumi_azuredevops/git_repository_file.py +7 -14
- pulumi_azuredevops/group.py +21 -7
- pulumi_azuredevops/group_entitlement.py +16 -20
- pulumi_azuredevops/group_membership.py +35 -50
- pulumi_azuredevops/iterative_permissions.py +34 -34
- pulumi_azuredevops/library_permissions.py +75 -75
- pulumi_azuredevops/outputs.py +141 -103
- pulumi_azuredevops/pipeline_authorization.py +7 -7
- pulumi_azuredevops/pool.py +4 -4
- pulumi_azuredevops/project.py +114 -63
- pulumi_azuredevops/project_features.py +87 -45
- pulumi_azuredevops/project_permissions.py +7 -7
- pulumi_azuredevops/project_pipeline_settings.py +28 -35
- pulumi_azuredevops/project_tags.py +263 -0
- pulumi_azuredevops/pulumi-plugin.json +1 -1
- pulumi_azuredevops/queue.py +7 -14
- pulumi_azuredevops/repository_policy_author_email_pattern.py +21 -14
- pulumi_azuredevops/repository_policy_max_file_size.py +7 -7
- pulumi_azuredevops/resource_authorization.py +35 -35
- pulumi_azuredevops/service_endpoint_artifactory.py +25 -33
- pulumi_azuredevops/service_endpoint_aws.py +3 -17
- pulumi_azuredevops/service_endpoint_azure_dev_ops.py +1 -15
- pulumi_azuredevops/service_endpoint_azure_ecr.py +14 -30
- pulumi_azuredevops/service_endpoint_azure_rm.py +26 -40
- pulumi_azuredevops/service_endpoint_bit_bucket.py +3 -17
- pulumi_azuredevops/service_endpoint_docker_registry.py +3 -17
- pulumi_azuredevops/service_endpoint_generic.py +3 -17
- pulumi_azuredevops/service_endpoint_generic_git.py +5 -23
- pulumi_azuredevops/service_endpoint_git_hub.py +16 -17
- pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +16 -17
- pulumi_azuredevops/service_endpoint_git_lab.py +1 -15
- pulumi_azuredevops/service_endpoint_kubernetes.py +24 -38
- pulumi_azuredevops/service_endpoint_npm.py +5 -19
- pulumi_azuredevops/service_endpoint_pipeline.py +5 -19
- pulumi_azuredevops/service_endpoint_service_fabric.py +49 -24
- pulumi_azuredevops/service_endpoint_sonar_cloud.py +12 -26
- pulumi_azuredevops/service_endpoint_sonar_qube.py +12 -26
- pulumi_azuredevops/service_endpoint_ssh.py +3 -21
- pulumi_azuredevops/service_principal_entitlement.py +386 -0
- pulumi_azuredevops/serviceendpoint_argocd.py +3 -17
- pulumi_azuredevops/serviceendpoint_azure_service_bus.py +3 -17
- pulumi_azuredevops/serviceendpoint_checkmarx_one.py +613 -0
- pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +561 -0
- pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +660 -0
- pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +3 -17
- pulumi_azuredevops/serviceendpoint_externaltfs.py +64 -26
- pulumi_azuredevops/serviceendpoint_gcp_terraform.py +3 -17
- pulumi_azuredevops/serviceendpoint_incomingwebhook.py +3 -17
- pulumi_azuredevops/serviceendpoint_jenkins.py +3 -17
- pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +19 -33
- pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +19 -33
- pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +19 -33
- pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +19 -33
- pulumi_azuredevops/serviceendpoint_maven.py +3 -17
- pulumi_azuredevops/serviceendpoint_nexus.py +3 -17
- pulumi_azuredevops/serviceendpoint_nuget.py +3 -17
- pulumi_azuredevops/serviceendpoint_octopusdeploy.py +3 -17
- pulumi_azuredevops/serviceendpoint_permissions.py +40 -40
- pulumi_azuredevops/serviceendpoint_snyk.py +3 -17
- pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +5 -21
- pulumi_azuredevops/servicehook_permissions.py +51 -51
- pulumi_azuredevops/servicehook_storage_queue_pipelines.py +4 -4
- pulumi_azuredevops/tagging_permissions.py +49 -49
- pulumi_azuredevops/team.py +76 -56
- pulumi_azuredevops/team_administrators.py +83 -56
- pulumi_azuredevops/team_members.py +56 -49
- pulumi_azuredevops/variable_group.py +4 -2
- pulumi_azuredevops/variable_group_permissions.py +75 -75
- pulumi_azuredevops/wiki.py +15 -2
- pulumi_azuredevops/wiki_page.py +2 -2
- pulumi_azuredevops/work_item_query_permissions.py +7 -7
- {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.7.0.dist-info}/METADATA +1 -1
- pulumi_azuredevops-3.7.0.dist-info/RECORD +152 -0
- {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.7.0.dist-info}/WHEEL +1 -1
- pulumi_azuredevops-3.6.0a1737523387.dist-info/RECORD +0 -140
- {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.7.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,475 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from . import _utilities
|
16
|
+
|
17
|
+
__all__ = ['DashboardArgs', 'Dashboard']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class DashboardArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
project_id: pulumi.Input[str],
|
23
|
+
description: Optional[pulumi.Input[str]] = None,
|
24
|
+
name: Optional[pulumi.Input[str]] = None,
|
25
|
+
refresh_interval: Optional[pulumi.Input[int]] = None,
|
26
|
+
team_id: Optional[pulumi.Input[str]] = None):
|
27
|
+
"""
|
28
|
+
The set of arguments for constructing a Dashboard resource.
|
29
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
30
|
+
:param pulumi.Input[str] description: The description of the dashboard.
|
31
|
+
:param pulumi.Input[str] name: The name of the Dashboard.
|
32
|
+
:param pulumi.Input[int] refresh_interval: The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
33
|
+
:param pulumi.Input[str] team_id: The ID of the Team.
|
34
|
+
"""
|
35
|
+
pulumi.set(__self__, "project_id", project_id)
|
36
|
+
if description is not None:
|
37
|
+
pulumi.set(__self__, "description", description)
|
38
|
+
if name is not None:
|
39
|
+
pulumi.set(__self__, "name", name)
|
40
|
+
if refresh_interval is not None:
|
41
|
+
pulumi.set(__self__, "refresh_interval", refresh_interval)
|
42
|
+
if team_id is not None:
|
43
|
+
pulumi.set(__self__, "team_id", team_id)
|
44
|
+
|
45
|
+
@property
|
46
|
+
@pulumi.getter(name="projectId")
|
47
|
+
def project_id(self) -> pulumi.Input[str]:
|
48
|
+
"""
|
49
|
+
The ID of the Project. Changing this forces a new resource to be created.
|
50
|
+
"""
|
51
|
+
return pulumi.get(self, "project_id")
|
52
|
+
|
53
|
+
@project_id.setter
|
54
|
+
def project_id(self, value: pulumi.Input[str]):
|
55
|
+
pulumi.set(self, "project_id", value)
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter
|
59
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
60
|
+
"""
|
61
|
+
The description of the dashboard.
|
62
|
+
"""
|
63
|
+
return pulumi.get(self, "description")
|
64
|
+
|
65
|
+
@description.setter
|
66
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
67
|
+
pulumi.set(self, "description", value)
|
68
|
+
|
69
|
+
@property
|
70
|
+
@pulumi.getter
|
71
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
72
|
+
"""
|
73
|
+
The name of the Dashboard.
|
74
|
+
"""
|
75
|
+
return pulumi.get(self, "name")
|
76
|
+
|
77
|
+
@name.setter
|
78
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
79
|
+
pulumi.set(self, "name", value)
|
80
|
+
|
81
|
+
@property
|
82
|
+
@pulumi.getter(name="refreshInterval")
|
83
|
+
def refresh_interval(self) -> Optional[pulumi.Input[int]]:
|
84
|
+
"""
|
85
|
+
The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
86
|
+
"""
|
87
|
+
return pulumi.get(self, "refresh_interval")
|
88
|
+
|
89
|
+
@refresh_interval.setter
|
90
|
+
def refresh_interval(self, value: Optional[pulumi.Input[int]]):
|
91
|
+
pulumi.set(self, "refresh_interval", value)
|
92
|
+
|
93
|
+
@property
|
94
|
+
@pulumi.getter(name="teamId")
|
95
|
+
def team_id(self) -> Optional[pulumi.Input[str]]:
|
96
|
+
"""
|
97
|
+
The ID of the Team.
|
98
|
+
"""
|
99
|
+
return pulumi.get(self, "team_id")
|
100
|
+
|
101
|
+
@team_id.setter
|
102
|
+
def team_id(self, value: Optional[pulumi.Input[str]]):
|
103
|
+
pulumi.set(self, "team_id", value)
|
104
|
+
|
105
|
+
|
106
|
+
@pulumi.input_type
|
107
|
+
class _DashboardState:
|
108
|
+
def __init__(__self__, *,
|
109
|
+
description: Optional[pulumi.Input[str]] = None,
|
110
|
+
name: Optional[pulumi.Input[str]] = None,
|
111
|
+
owner_id: Optional[pulumi.Input[str]] = None,
|
112
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
113
|
+
refresh_interval: Optional[pulumi.Input[int]] = None,
|
114
|
+
team_id: Optional[pulumi.Input[str]] = None):
|
115
|
+
"""
|
116
|
+
Input properties used for looking up and filtering Dashboard resources.
|
117
|
+
:param pulumi.Input[str] description: The description of the dashboard.
|
118
|
+
:param pulumi.Input[str] name: The name of the Dashboard.
|
119
|
+
:param pulumi.Input[str] owner_id: The owner of the Dashboard, could be the project or a team.
|
120
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
121
|
+
:param pulumi.Input[int] refresh_interval: The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
122
|
+
:param pulumi.Input[str] team_id: The ID of the Team.
|
123
|
+
"""
|
124
|
+
if description is not None:
|
125
|
+
pulumi.set(__self__, "description", description)
|
126
|
+
if name is not None:
|
127
|
+
pulumi.set(__self__, "name", name)
|
128
|
+
if owner_id is not None:
|
129
|
+
pulumi.set(__self__, "owner_id", owner_id)
|
130
|
+
if project_id is not None:
|
131
|
+
pulumi.set(__self__, "project_id", project_id)
|
132
|
+
if refresh_interval is not None:
|
133
|
+
pulumi.set(__self__, "refresh_interval", refresh_interval)
|
134
|
+
if team_id is not None:
|
135
|
+
pulumi.set(__self__, "team_id", team_id)
|
136
|
+
|
137
|
+
@property
|
138
|
+
@pulumi.getter
|
139
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
140
|
+
"""
|
141
|
+
The description of the dashboard.
|
142
|
+
"""
|
143
|
+
return pulumi.get(self, "description")
|
144
|
+
|
145
|
+
@description.setter
|
146
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
147
|
+
pulumi.set(self, "description", value)
|
148
|
+
|
149
|
+
@property
|
150
|
+
@pulumi.getter
|
151
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
152
|
+
"""
|
153
|
+
The name of the Dashboard.
|
154
|
+
"""
|
155
|
+
return pulumi.get(self, "name")
|
156
|
+
|
157
|
+
@name.setter
|
158
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
159
|
+
pulumi.set(self, "name", value)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter(name="ownerId")
|
163
|
+
def owner_id(self) -> Optional[pulumi.Input[str]]:
|
164
|
+
"""
|
165
|
+
The owner of the Dashboard, could be the project or a team.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "owner_id")
|
168
|
+
|
169
|
+
@owner_id.setter
|
170
|
+
def owner_id(self, value: Optional[pulumi.Input[str]]):
|
171
|
+
pulumi.set(self, "owner_id", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter(name="projectId")
|
175
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
The ID of the Project. Changing this forces a new resource to be created.
|
178
|
+
"""
|
179
|
+
return pulumi.get(self, "project_id")
|
180
|
+
|
181
|
+
@project_id.setter
|
182
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
183
|
+
pulumi.set(self, "project_id", value)
|
184
|
+
|
185
|
+
@property
|
186
|
+
@pulumi.getter(name="refreshInterval")
|
187
|
+
def refresh_interval(self) -> Optional[pulumi.Input[int]]:
|
188
|
+
"""
|
189
|
+
The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
190
|
+
"""
|
191
|
+
return pulumi.get(self, "refresh_interval")
|
192
|
+
|
193
|
+
@refresh_interval.setter
|
194
|
+
def refresh_interval(self, value: Optional[pulumi.Input[int]]):
|
195
|
+
pulumi.set(self, "refresh_interval", value)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter(name="teamId")
|
199
|
+
def team_id(self) -> Optional[pulumi.Input[str]]:
|
200
|
+
"""
|
201
|
+
The ID of the Team.
|
202
|
+
"""
|
203
|
+
return pulumi.get(self, "team_id")
|
204
|
+
|
205
|
+
@team_id.setter
|
206
|
+
def team_id(self, value: Optional[pulumi.Input[str]]):
|
207
|
+
pulumi.set(self, "team_id", value)
|
208
|
+
|
209
|
+
|
210
|
+
class Dashboard(pulumi.CustomResource):
|
211
|
+
@overload
|
212
|
+
def __init__(__self__,
|
213
|
+
resource_name: str,
|
214
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
215
|
+
description: Optional[pulumi.Input[str]] = None,
|
216
|
+
name: Optional[pulumi.Input[str]] = None,
|
217
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
218
|
+
refresh_interval: Optional[pulumi.Input[int]] = None,
|
219
|
+
team_id: Optional[pulumi.Input[str]] = None,
|
220
|
+
__props__=None):
|
221
|
+
"""
|
222
|
+
Manages Dashboard within Azure DevOps project.
|
223
|
+
|
224
|
+
> **NOTE:** Project level Dashboard allows to be created with the same name. Dashboard held by a team must have a different name.
|
225
|
+
|
226
|
+
## Example Usage
|
227
|
+
|
228
|
+
### Manage Project dashboard
|
229
|
+
|
230
|
+
```python
|
231
|
+
import pulumi
|
232
|
+
import pulumi_azuredevops as azuredevops
|
233
|
+
|
234
|
+
example = azuredevops.Project("example",
|
235
|
+
name="Example Project",
|
236
|
+
description="Managed by Pulumi")
|
237
|
+
example_dashboard = azuredevops.Dashboard("example",
|
238
|
+
project_id=example.id,
|
239
|
+
name="Example dashboard")
|
240
|
+
```
|
241
|
+
|
242
|
+
### Manage Team dashboard
|
243
|
+
|
244
|
+
```python
|
245
|
+
import pulumi
|
246
|
+
import pulumi_azuredevops as azuredevops
|
247
|
+
|
248
|
+
example = azuredevops.Project("example",
|
249
|
+
name="Example Project",
|
250
|
+
description="Managed by Pulumi")
|
251
|
+
example_team = azuredevops.Team("example",
|
252
|
+
project_id=example.id,
|
253
|
+
name="Example team")
|
254
|
+
example_dashboard = azuredevops.Dashboard("example",
|
255
|
+
project_id=example.id,
|
256
|
+
name="Example dashboard",
|
257
|
+
team_id=example_team.id)
|
258
|
+
```
|
259
|
+
|
260
|
+
## Relevant Links
|
261
|
+
|
262
|
+
- [Azure DevOps dashboards REST API 7.1 - Dashboard ](https://learn.microsoft.com/en-us/rest/api/azure/devops/dashboard/dashboards?view=azure-devops-rest-7.1)
|
263
|
+
|
264
|
+
## Import
|
265
|
+
|
266
|
+
Azure DevOps Dashboard can be imported using the `projectId/dasboardId` or `projectId/teamId/dasboardId`
|
267
|
+
|
268
|
+
```sh
|
269
|
+
$ pulumi import azuredevops:index/dashboard:Dashboard dashboard 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
|
270
|
+
```
|
271
|
+
|
272
|
+
or
|
273
|
+
|
274
|
+
```sh
|
275
|
+
$ pulumi import azuredevops:index/dashboard:Dashboard dashboard 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
|
276
|
+
```
|
277
|
+
|
278
|
+
:param str resource_name: The name of the resource.
|
279
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
280
|
+
:param pulumi.Input[str] description: The description of the dashboard.
|
281
|
+
:param pulumi.Input[str] name: The name of the Dashboard.
|
282
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
283
|
+
:param pulumi.Input[int] refresh_interval: The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
284
|
+
:param pulumi.Input[str] team_id: The ID of the Team.
|
285
|
+
"""
|
286
|
+
...
|
287
|
+
@overload
|
288
|
+
def __init__(__self__,
|
289
|
+
resource_name: str,
|
290
|
+
args: DashboardArgs,
|
291
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
292
|
+
"""
|
293
|
+
Manages Dashboard within Azure DevOps project.
|
294
|
+
|
295
|
+
> **NOTE:** Project level Dashboard allows to be created with the same name. Dashboard held by a team must have a different name.
|
296
|
+
|
297
|
+
## Example Usage
|
298
|
+
|
299
|
+
### Manage Project dashboard
|
300
|
+
|
301
|
+
```python
|
302
|
+
import pulumi
|
303
|
+
import pulumi_azuredevops as azuredevops
|
304
|
+
|
305
|
+
example = azuredevops.Project("example",
|
306
|
+
name="Example Project",
|
307
|
+
description="Managed by Pulumi")
|
308
|
+
example_dashboard = azuredevops.Dashboard("example",
|
309
|
+
project_id=example.id,
|
310
|
+
name="Example dashboard")
|
311
|
+
```
|
312
|
+
|
313
|
+
### Manage Team dashboard
|
314
|
+
|
315
|
+
```python
|
316
|
+
import pulumi
|
317
|
+
import pulumi_azuredevops as azuredevops
|
318
|
+
|
319
|
+
example = azuredevops.Project("example",
|
320
|
+
name="Example Project",
|
321
|
+
description="Managed by Pulumi")
|
322
|
+
example_team = azuredevops.Team("example",
|
323
|
+
project_id=example.id,
|
324
|
+
name="Example team")
|
325
|
+
example_dashboard = azuredevops.Dashboard("example",
|
326
|
+
project_id=example.id,
|
327
|
+
name="Example dashboard",
|
328
|
+
team_id=example_team.id)
|
329
|
+
```
|
330
|
+
|
331
|
+
## Relevant Links
|
332
|
+
|
333
|
+
- [Azure DevOps dashboards REST API 7.1 - Dashboard ](https://learn.microsoft.com/en-us/rest/api/azure/devops/dashboard/dashboards?view=azure-devops-rest-7.1)
|
334
|
+
|
335
|
+
## Import
|
336
|
+
|
337
|
+
Azure DevOps Dashboard can be imported using the `projectId/dasboardId` or `projectId/teamId/dasboardId`
|
338
|
+
|
339
|
+
```sh
|
340
|
+
$ pulumi import azuredevops:index/dashboard:Dashboard dashboard 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
|
341
|
+
```
|
342
|
+
|
343
|
+
or
|
344
|
+
|
345
|
+
```sh
|
346
|
+
$ pulumi import azuredevops:index/dashboard:Dashboard dashboard 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
|
347
|
+
```
|
348
|
+
|
349
|
+
:param str resource_name: The name of the resource.
|
350
|
+
:param DashboardArgs args: The arguments to use to populate this resource's properties.
|
351
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
352
|
+
"""
|
353
|
+
...
|
354
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
355
|
+
resource_args, opts = _utilities.get_resource_args_opts(DashboardArgs, pulumi.ResourceOptions, *args, **kwargs)
|
356
|
+
if resource_args is not None:
|
357
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
358
|
+
else:
|
359
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
360
|
+
|
361
|
+
def _internal_init(__self__,
|
362
|
+
resource_name: str,
|
363
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
364
|
+
description: Optional[pulumi.Input[str]] = None,
|
365
|
+
name: Optional[pulumi.Input[str]] = None,
|
366
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
367
|
+
refresh_interval: Optional[pulumi.Input[int]] = None,
|
368
|
+
team_id: Optional[pulumi.Input[str]] = None,
|
369
|
+
__props__=None):
|
370
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
371
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
372
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
373
|
+
if opts.id is None:
|
374
|
+
if __props__ is not None:
|
375
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
376
|
+
__props__ = DashboardArgs.__new__(DashboardArgs)
|
377
|
+
|
378
|
+
__props__.__dict__["description"] = description
|
379
|
+
__props__.__dict__["name"] = name
|
380
|
+
if project_id is None and not opts.urn:
|
381
|
+
raise TypeError("Missing required property 'project_id'")
|
382
|
+
__props__.__dict__["project_id"] = project_id
|
383
|
+
__props__.__dict__["refresh_interval"] = refresh_interval
|
384
|
+
__props__.__dict__["team_id"] = team_id
|
385
|
+
__props__.__dict__["owner_id"] = None
|
386
|
+
super(Dashboard, __self__).__init__(
|
387
|
+
'azuredevops:index/dashboard:Dashboard',
|
388
|
+
resource_name,
|
389
|
+
__props__,
|
390
|
+
opts)
|
391
|
+
|
392
|
+
@staticmethod
|
393
|
+
def get(resource_name: str,
|
394
|
+
id: pulumi.Input[str],
|
395
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
396
|
+
description: Optional[pulumi.Input[str]] = None,
|
397
|
+
name: Optional[pulumi.Input[str]] = None,
|
398
|
+
owner_id: Optional[pulumi.Input[str]] = None,
|
399
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
400
|
+
refresh_interval: Optional[pulumi.Input[int]] = None,
|
401
|
+
team_id: Optional[pulumi.Input[str]] = None) -> 'Dashboard':
|
402
|
+
"""
|
403
|
+
Get an existing Dashboard resource's state with the given name, id, and optional extra
|
404
|
+
properties used to qualify the lookup.
|
405
|
+
|
406
|
+
:param str resource_name: The unique name of the resulting resource.
|
407
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
408
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
409
|
+
:param pulumi.Input[str] description: The description of the dashboard.
|
410
|
+
:param pulumi.Input[str] name: The name of the Dashboard.
|
411
|
+
:param pulumi.Input[str] owner_id: The owner of the Dashboard, could be the project or a team.
|
412
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
413
|
+
:param pulumi.Input[int] refresh_interval: The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
414
|
+
:param pulumi.Input[str] team_id: The ID of the Team.
|
415
|
+
"""
|
416
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
417
|
+
|
418
|
+
__props__ = _DashboardState.__new__(_DashboardState)
|
419
|
+
|
420
|
+
__props__.__dict__["description"] = description
|
421
|
+
__props__.__dict__["name"] = name
|
422
|
+
__props__.__dict__["owner_id"] = owner_id
|
423
|
+
__props__.__dict__["project_id"] = project_id
|
424
|
+
__props__.__dict__["refresh_interval"] = refresh_interval
|
425
|
+
__props__.__dict__["team_id"] = team_id
|
426
|
+
return Dashboard(resource_name, opts=opts, __props__=__props__)
|
427
|
+
|
428
|
+
@property
|
429
|
+
@pulumi.getter
|
430
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
431
|
+
"""
|
432
|
+
The description of the dashboard.
|
433
|
+
"""
|
434
|
+
return pulumi.get(self, "description")
|
435
|
+
|
436
|
+
@property
|
437
|
+
@pulumi.getter
|
438
|
+
def name(self) -> pulumi.Output[str]:
|
439
|
+
"""
|
440
|
+
The name of the Dashboard.
|
441
|
+
"""
|
442
|
+
return pulumi.get(self, "name")
|
443
|
+
|
444
|
+
@property
|
445
|
+
@pulumi.getter(name="ownerId")
|
446
|
+
def owner_id(self) -> pulumi.Output[str]:
|
447
|
+
"""
|
448
|
+
The owner of the Dashboard, could be the project or a team.
|
449
|
+
"""
|
450
|
+
return pulumi.get(self, "owner_id")
|
451
|
+
|
452
|
+
@property
|
453
|
+
@pulumi.getter(name="projectId")
|
454
|
+
def project_id(self) -> pulumi.Output[str]:
|
455
|
+
"""
|
456
|
+
The ID of the Project. Changing this forces a new resource to be created.
|
457
|
+
"""
|
458
|
+
return pulumi.get(self, "project_id")
|
459
|
+
|
460
|
+
@property
|
461
|
+
@pulumi.getter(name="refreshInterval")
|
462
|
+
def refresh_interval(self) -> pulumi.Output[Optional[int]]:
|
463
|
+
"""
|
464
|
+
The interval for client to automatically refresh the dashboard. Expressed in minutes. Possible values are: `0`, `5`.Defaults to `0`.
|
465
|
+
"""
|
466
|
+
return pulumi.get(self, "refresh_interval")
|
467
|
+
|
468
|
+
@property
|
469
|
+
@pulumi.getter(name="teamId")
|
470
|
+
def team_id(self) -> pulumi.Output[Optional[str]]:
|
471
|
+
"""
|
472
|
+
The ID of the Team.
|
473
|
+
"""
|
474
|
+
return pulumi.get(self, "team_id")
|
475
|
+
|
pulumi_azuredevops/feed.py
CHANGED
@@ -148,7 +148,7 @@ class Feed(pulumi.CustomResource):
|
|
148
148
|
project_id: Optional[pulumi.Input[str]] = None,
|
149
149
|
__props__=None):
|
150
150
|
"""
|
151
|
-
Manages
|
151
|
+
Manages Feed within Azure DevOps organization.
|
152
152
|
|
153
153
|
## Example Usage
|
154
154
|
|
@@ -157,7 +157,7 @@ class Feed(pulumi.CustomResource):
|
|
157
157
|
import pulumi
|
158
158
|
import pulumi_azuredevops as azuredevops
|
159
159
|
|
160
|
-
example = azuredevops.Feed("example", name="
|
160
|
+
example = azuredevops.Feed("example", name="examplefeed")
|
161
161
|
```
|
162
162
|
|
163
163
|
### Create Feed in the scope of a Project
|
@@ -172,7 +172,7 @@ class Feed(pulumi.CustomResource):
|
|
172
172
|
work_item_template="Agile",
|
173
173
|
description="Managed by Pulumi")
|
174
174
|
example_feed = azuredevops.Feed("example",
|
175
|
-
name="
|
175
|
+
name="examplefeed",
|
176
176
|
project_id=example.id)
|
177
177
|
```
|
178
178
|
|
@@ -182,7 +182,7 @@ class Feed(pulumi.CustomResource):
|
|
182
182
|
import pulumi_azuredevops as azuredevops
|
183
183
|
|
184
184
|
example = azuredevops.Feed("example",
|
185
|
-
name="
|
185
|
+
name="examplefeed",
|
186
186
|
features=[{
|
187
187
|
"permanent_delete": False,
|
188
188
|
}])
|
@@ -221,7 +221,7 @@ class Feed(pulumi.CustomResource):
|
|
221
221
|
args: Optional[FeedArgs] = None,
|
222
222
|
opts: Optional[pulumi.ResourceOptions] = None):
|
223
223
|
"""
|
224
|
-
Manages
|
224
|
+
Manages Feed within Azure DevOps organization.
|
225
225
|
|
226
226
|
## Example Usage
|
227
227
|
|
@@ -230,7 +230,7 @@ class Feed(pulumi.CustomResource):
|
|
230
230
|
import pulumi
|
231
231
|
import pulumi_azuredevops as azuredevops
|
232
232
|
|
233
|
-
example = azuredevops.Feed("example", name="
|
233
|
+
example = azuredevops.Feed("example", name="examplefeed")
|
234
234
|
```
|
235
235
|
|
236
236
|
### Create Feed in the scope of a Project
|
@@ -245,7 +245,7 @@ class Feed(pulumi.CustomResource):
|
|
245
245
|
work_item_template="Agile",
|
246
246
|
description="Managed by Pulumi")
|
247
247
|
example_feed = azuredevops.Feed("example",
|
248
|
-
name="
|
248
|
+
name="examplefeed",
|
249
249
|
project_id=example.id)
|
250
250
|
```
|
251
251
|
|
@@ -255,7 +255,7 @@ class Feed(pulumi.CustomResource):
|
|
255
255
|
import pulumi_azuredevops as azuredevops
|
256
256
|
|
257
257
|
example = azuredevops.Feed("example",
|
258
|
-
name="
|
258
|
+
name="examplefeed",
|
259
259
|
features=[{
|
260
260
|
"permanent_delete": False,
|
261
261
|
}])
|
@@ -28,7 +28,7 @@ class FeedPermissionArgs:
|
|
28
28
|
The set of arguments for constructing a FeedPermission resource.
|
29
29
|
:param pulumi.Input[str] feed_id: The ID of the Feed.
|
30
30
|
:param pulumi.Input[str] identity_descriptor: The Descriptor of identity you want to assign a role.
|
31
|
-
:param pulumi.Input[str] role: The role to be assigned
|
31
|
+
:param pulumi.Input[str] role: The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
32
32
|
:param pulumi.Input[str] display_name: The display name of the assignment
|
33
33
|
:param pulumi.Input[str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
34
34
|
"""
|
@@ -68,7 +68,7 @@ class FeedPermissionArgs:
|
|
68
68
|
@pulumi.getter
|
69
69
|
def role(self) -> pulumi.Input[str]:
|
70
70
|
"""
|
71
|
-
The role to be assigned
|
71
|
+
The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
72
72
|
"""
|
73
73
|
return pulumi.get(self, "role")
|
74
74
|
|
@@ -117,7 +117,7 @@ class _FeedPermissionState:
|
|
117
117
|
:param pulumi.Input[str] identity_descriptor: The Descriptor of identity you want to assign a role.
|
118
118
|
:param pulumi.Input[str] identity_id: The ID of the identity.
|
119
119
|
:param pulumi.Input[str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
120
|
-
:param pulumi.Input[str] role: The role to be assigned
|
120
|
+
:param pulumi.Input[str] role: The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
121
121
|
"""
|
122
122
|
if display_name is not None:
|
123
123
|
pulumi.set(__self__, "display_name", display_name)
|
@@ -196,7 +196,7 @@ class _FeedPermissionState:
|
|
196
196
|
@pulumi.getter
|
197
197
|
def role(self) -> Optional[pulumi.Input[str]]:
|
198
198
|
"""
|
199
|
-
The role to be assigned
|
199
|
+
The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
200
200
|
"""
|
201
201
|
return pulumi.get(self, "role")
|
202
202
|
|
@@ -231,7 +231,7 @@ class FeedPermission(pulumi.CustomResource):
|
|
231
231
|
scope=example.id,
|
232
232
|
display_name="Example group",
|
233
233
|
description="Example description")
|
234
|
-
example_feed = azuredevops.Feed("example", name="
|
234
|
+
example_feed = azuredevops.Feed("example", name="examplefeed")
|
235
235
|
permission = azuredevops.FeedPermission("permission",
|
236
236
|
feed_id=example_feed.id,
|
237
237
|
role="reader",
|
@@ -248,7 +248,7 @@ class FeedPermission(pulumi.CustomResource):
|
|
248
248
|
:param pulumi.Input[str] feed_id: The ID of the Feed.
|
249
249
|
:param pulumi.Input[str] identity_descriptor: The Descriptor of identity you want to assign a role.
|
250
250
|
:param pulumi.Input[str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
251
|
-
:param pulumi.Input[str] role: The role to be assigned
|
251
|
+
:param pulumi.Input[str] role: The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
252
252
|
"""
|
253
253
|
...
|
254
254
|
@overload
|
@@ -271,7 +271,7 @@ class FeedPermission(pulumi.CustomResource):
|
|
271
271
|
scope=example.id,
|
272
272
|
display_name="Example group",
|
273
273
|
description="Example description")
|
274
|
-
example_feed = azuredevops.Feed("example", name="
|
274
|
+
example_feed = azuredevops.Feed("example", name="examplefeed")
|
275
275
|
permission = azuredevops.FeedPermission("permission",
|
276
276
|
feed_id=example_feed.id,
|
277
277
|
role="reader",
|
@@ -351,7 +351,7 @@ class FeedPermission(pulumi.CustomResource):
|
|
351
351
|
:param pulumi.Input[str] identity_descriptor: The Descriptor of identity you want to assign a role.
|
352
352
|
:param pulumi.Input[str] identity_id: The ID of the identity.
|
353
353
|
:param pulumi.Input[str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
354
|
-
:param pulumi.Input[str] role: The role to be assigned
|
354
|
+
:param pulumi.Input[str] role: The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
355
355
|
"""
|
356
356
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
357
357
|
|
@@ -409,7 +409,7 @@ class FeedPermission(pulumi.CustomResource):
|
|
409
409
|
@pulumi.getter
|
410
410
|
def role(self) -> pulumi.Output[str]:
|
411
411
|
"""
|
412
|
-
The role to be assigned
|
412
|
+
The role to be assigned. Possible values are: `reader`, `contributor`, `collaborator`, `administrator`
|
413
413
|
"""
|
414
414
|
return pulumi.get(self, "role")
|
415
415
|
|