pulumi-azuredevops 3.8.0a1741843418__py3-none-any.whl → 3.9.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 +21 -0
- pulumi_azuredevops/_inputs.py +1492 -956
- pulumi_azuredevops/area_permissions.py +71 -70
- pulumi_azuredevops/branch_policy_auto_reviewers.py +43 -42
- pulumi_azuredevops/branch_policy_build_validation.py +43 -42
- pulumi_azuredevops/branch_policy_comment_resolution.py +43 -42
- pulumi_azuredevops/branch_policy_merge_types.py +43 -42
- pulumi_azuredevops/branch_policy_min_reviewers.py +43 -42
- pulumi_azuredevops/branch_policy_status_check.py +43 -42
- pulumi_azuredevops/branch_policy_work_item_linking.py +43 -42
- pulumi_azuredevops/build_definition.py +427 -91
- pulumi_azuredevops/build_definition_permissions.py +71 -70
- pulumi_azuredevops/build_folder.py +43 -42
- pulumi_azuredevops/build_folder_permissions.py +78 -70
- pulumi_azuredevops/check_approval.py +120 -119
- pulumi_azuredevops/check_branch_control.py +120 -119
- pulumi_azuredevops/check_business_hours.py +218 -217
- pulumi_azuredevops/check_exclusive_lock.py +64 -63
- pulumi_azuredevops/check_required_template.py +50 -49
- pulumi_azuredevops/check_rest_api.py +218 -217
- pulumi_azuredevops/config/__init__.py +1 -0
- pulumi_azuredevops/config/__init__.pyi +1 -0
- pulumi_azuredevops/config/vars.py +1 -0
- pulumi_azuredevops/dashboard.py +78 -77
- pulumi_azuredevops/elastic_pool.py +169 -168
- pulumi_azuredevops/environment.py +43 -42
- pulumi_azuredevops/environment_resource_kubernetes.py +99 -98
- pulumi_azuredevops/extension.py +426 -0
- pulumi_azuredevops/feed.py +29 -28
- pulumi_azuredevops/feed_permission.py +106 -77
- pulumi_azuredevops/feed_retention_policy.py +57 -56
- pulumi_azuredevops/get_agent_queue.py +13 -12
- pulumi_azuredevops/get_area.py +19 -18
- pulumi_azuredevops/get_build_definition.py +64 -21
- pulumi_azuredevops/get_client_config.py +64 -7
- pulumi_azuredevops/get_descriptor.py +8 -7
- pulumi_azuredevops/get_environment.py +18 -17
- pulumi_azuredevops/get_feed.py +17 -16
- pulumi_azuredevops/get_git_repository.py +20 -19
- pulumi_azuredevops/get_git_repository_file.py +201 -0
- pulumi_azuredevops/get_group.py +16 -15
- pulumi_azuredevops/get_group_membership.py +132 -0
- pulumi_azuredevops/get_groups.py +7 -6
- pulumi_azuredevops/get_identity_group.py +14 -13
- pulumi_azuredevops/get_identity_groups.py +7 -6
- pulumi_azuredevops/get_identity_users.py +14 -13
- pulumi_azuredevops/get_iteration.py +19 -18
- pulumi_azuredevops/get_pool.py +10 -9
- pulumi_azuredevops/get_pools.py +2 -1
- pulumi_azuredevops/get_project.py +18 -17
- pulumi_azuredevops/get_projects.py +12 -11
- pulumi_azuredevops/get_repositories.py +17 -16
- pulumi_azuredevops/get_securityrole_definitions.py +7 -6
- pulumi_azuredevops/get_service_endpoint_azure_rm.py +31 -30
- pulumi_azuredevops/get_service_endpoint_github.py +19 -18
- pulumi_azuredevops/get_service_principal.py +10 -9
- pulumi_azuredevops/get_serviceendpoint_azurecr.py +29 -28
- pulumi_azuredevops/get_serviceendpoint_bitbucket.py +19 -18
- pulumi_azuredevops/get_serviceendpoint_npm.py +20 -19
- pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +19 -18
- pulumi_azuredevops/get_storage_key.py +8 -7
- pulumi_azuredevops/get_team.py +21 -20
- pulumi_azuredevops/get_teams.py +14 -13
- pulumi_azuredevops/get_user.py +14 -13
- pulumi_azuredevops/get_users.py +88 -21
- pulumi_azuredevops/get_variable_group.py +14 -13
- pulumi_azuredevops/git.py +113 -112
- pulumi_azuredevops/git_permissions.py +85 -84
- pulumi_azuredevops/git_repository_branch.py +78 -77
- pulumi_azuredevops/git_repository_file.py +342 -85
- pulumi_azuredevops/group.py +134 -133
- pulumi_azuredevops/group_entitlement.py +85 -84
- pulumi_azuredevops/group_membership.py +43 -42
- pulumi_azuredevops/iterative_permissions.py +71 -70
- pulumi_azuredevops/library_permissions.py +57 -56
- pulumi_azuredevops/outputs.py +1569 -918
- pulumi_azuredevops/pipeline_authorization.py +71 -70
- pulumi_azuredevops/pool.py +57 -56
- pulumi_azuredevops/project.py +92 -91
- pulumi_azuredevops/project_features.py +25 -24
- pulumi_azuredevops/project_permissions.py +57 -56
- pulumi_azuredevops/project_pipeline_settings.py +99 -98
- pulumi_azuredevops/project_tags.py +29 -28
- pulumi_azuredevops/provider.py +157 -156
- pulumi_azuredevops/pulumi-plugin.json +1 -1
- pulumi_azuredevops/queue.py +43 -42
- pulumi_azuredevops/repository_policy_author_email_pattern.py +71 -70
- pulumi_azuredevops/repository_policy_case_enforcement.py +71 -70
- pulumi_azuredevops/repository_policy_check_credentials.py +57 -56
- pulumi_azuredevops/repository_policy_file_path_pattern.py +71 -70
- pulumi_azuredevops/repository_policy_max_file_size.py +71 -70
- pulumi_azuredevops/repository_policy_max_path_length.py +71 -70
- pulumi_azuredevops/repository_policy_reserved_names.py +57 -56
- pulumi_azuredevops/resource_authorization.py +71 -70
- pulumi_azuredevops/securityrole_assignment.py +57 -56
- pulumi_azuredevops/service_endpoint_artifactory.py +62 -61
- pulumi_azuredevops/service_endpoint_aws.py +144 -143
- pulumi_azuredevops/service_endpoint_azure_dev_ops.py +86 -85
- pulumi_azuredevops/service_endpoint_azure_ecr.py +175 -174
- pulumi_azuredevops/service_endpoint_azure_rm.py +203 -194
- pulumi_azuredevops/service_endpoint_bit_bucket.py +72 -71
- pulumi_azuredevops/service_endpoint_docker_registry.py +114 -113
- pulumi_azuredevops/service_endpoint_generic.py +86 -85
- pulumi_azuredevops/service_endpoint_generic_git.py +100 -99
- pulumi_azuredevops/service_endpoint_git_hub.py +44 -43
- pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +174 -82
- pulumi_azuredevops/service_endpoint_git_lab.py +86 -85
- pulumi_azuredevops/service_endpoint_kubernetes.py +72 -71
- pulumi_azuredevops/service_endpoint_npm.py +76 -75
- pulumi_azuredevops/service_endpoint_pipeline.py +58 -57
- pulumi_azuredevops/service_endpoint_service_fabric.py +58 -57
- pulumi_azuredevops/service_endpoint_sonar_cloud.py +62 -61
- pulumi_azuredevops/service_endpoint_sonar_qube.py +76 -75
- pulumi_azuredevops/service_endpoint_ssh.py +114 -113
- pulumi_azuredevops/service_principal_entitlement.py +71 -70
- pulumi_azuredevops/serviceendpoint_argocd.py +62 -61
- pulumi_azuredevops/serviceendpoint_azure_service_bus.py +72 -71
- pulumi_azuredevops/serviceendpoint_checkmarx_one.py +114 -113
- pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +114 -113
- pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +142 -141
- pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +114 -113
- pulumi_azuredevops/serviceendpoint_externaltfs.py +58 -57
- pulumi_azuredevops/serviceendpoint_gcp_terraform.py +116 -115
- pulumi_azuredevops/serviceendpoint_incomingwebhook.py +86 -85
- pulumi_azuredevops/serviceendpoint_jenkins.py +100 -99
- pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +62 -61
- pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +62 -61
- pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +62 -61
- pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +62 -61
- pulumi_azuredevops/serviceendpoint_maven.py +72 -71
- pulumi_azuredevops/serviceendpoint_nexus.py +86 -85
- pulumi_azuredevops/serviceendpoint_nuget.py +114 -113
- pulumi_azuredevops/serviceendpoint_octopusdeploy.py +86 -85
- pulumi_azuredevops/serviceendpoint_openshift.py +688 -0
- pulumi_azuredevops/serviceendpoint_permissions.py +71 -70
- pulumi_azuredevops/serviceendpoint_snyk.py +72 -71
- pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +58 -57
- pulumi_azuredevops/servicehook_permissions.py +57 -56
- pulumi_azuredevops/servicehook_storage_queue_pipelines.py +85 -84
- pulumi_azuredevops/tagging_permissions.py +57 -56
- pulumi_azuredevops/team.py +78 -77
- pulumi_azuredevops/team_administrators.py +57 -56
- pulumi_azuredevops/team_members.py +57 -56
- pulumi_azuredevops/user.py +78 -77
- pulumi_azuredevops/variable_group.py +57 -56
- pulumi_azuredevops/variable_group_permissions.py +71 -70
- pulumi_azuredevops/wiki.py +99 -98
- pulumi_azuredevops/wiki_page.py +67 -66
- pulumi_azuredevops/work_item_query_permissions.py +71 -70
- pulumi_azuredevops/workitem.py +113 -112
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0.dist-info}/METADATA +2 -2
- pulumi_azuredevops-3.9.0.dist-info/RECORD +156 -0
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0.dist-info}/WHEEL +1 -1
- pulumi_azuredevops-3.8.0a1741843418.dist-info/RECORD +0 -152
- {pulumi_azuredevops-3.8.0a1741843418.dist-info → pulumi_azuredevops-3.9.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,426 @@
|
|
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 builtins
|
6
|
+
import copy
|
7
|
+
import warnings
|
8
|
+
import sys
|
9
|
+
import pulumi
|
10
|
+
import pulumi.runtime
|
11
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
12
|
+
if sys.version_info >= (3, 11):
|
13
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
14
|
+
else:
|
15
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
16
|
+
from . import _utilities
|
17
|
+
|
18
|
+
__all__ = ['ExtensionArgs', 'Extension']
|
19
|
+
|
20
|
+
@pulumi.input_type
|
21
|
+
class ExtensionArgs:
|
22
|
+
def __init__(__self__, *,
|
23
|
+
extension_id: pulumi.Input[builtins.str],
|
24
|
+
publisher_id: pulumi.Input[builtins.str],
|
25
|
+
disabled: Optional[pulumi.Input[builtins.bool]] = None,
|
26
|
+
version: Optional[pulumi.Input[builtins.str]] = None):
|
27
|
+
"""
|
28
|
+
The set of arguments for constructing a Extension resource.
|
29
|
+
:param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
|
30
|
+
:param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
|
31
|
+
:param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
|
32
|
+
:param pulumi.Input[builtins.str] version: The version of the extension.
|
33
|
+
"""
|
34
|
+
pulumi.set(__self__, "extension_id", extension_id)
|
35
|
+
pulumi.set(__self__, "publisher_id", publisher_id)
|
36
|
+
if disabled is not None:
|
37
|
+
pulumi.set(__self__, "disabled", disabled)
|
38
|
+
if version is not None:
|
39
|
+
pulumi.set(__self__, "version", version)
|
40
|
+
|
41
|
+
@property
|
42
|
+
@pulumi.getter(name="extensionId")
|
43
|
+
def extension_id(self) -> pulumi.Input[builtins.str]:
|
44
|
+
"""
|
45
|
+
The publisher ID of the extension.
|
46
|
+
"""
|
47
|
+
return pulumi.get(self, "extension_id")
|
48
|
+
|
49
|
+
@extension_id.setter
|
50
|
+
def extension_id(self, value: pulumi.Input[builtins.str]):
|
51
|
+
pulumi.set(self, "extension_id", value)
|
52
|
+
|
53
|
+
@property
|
54
|
+
@pulumi.getter(name="publisherId")
|
55
|
+
def publisher_id(self) -> pulumi.Input[builtins.str]:
|
56
|
+
"""
|
57
|
+
The extension ID of the extension.
|
58
|
+
"""
|
59
|
+
return pulumi.get(self, "publisher_id")
|
60
|
+
|
61
|
+
@publisher_id.setter
|
62
|
+
def publisher_id(self, value: pulumi.Input[builtins.str]):
|
63
|
+
pulumi.set(self, "publisher_id", value)
|
64
|
+
|
65
|
+
@property
|
66
|
+
@pulumi.getter
|
67
|
+
def disabled(self) -> Optional[pulumi.Input[builtins.bool]]:
|
68
|
+
"""
|
69
|
+
Whether to disable the extension.
|
70
|
+
"""
|
71
|
+
return pulumi.get(self, "disabled")
|
72
|
+
|
73
|
+
@disabled.setter
|
74
|
+
def disabled(self, value: Optional[pulumi.Input[builtins.bool]]):
|
75
|
+
pulumi.set(self, "disabled", value)
|
76
|
+
|
77
|
+
@property
|
78
|
+
@pulumi.getter
|
79
|
+
def version(self) -> Optional[pulumi.Input[builtins.str]]:
|
80
|
+
"""
|
81
|
+
The version of the extension.
|
82
|
+
"""
|
83
|
+
return pulumi.get(self, "version")
|
84
|
+
|
85
|
+
@version.setter
|
86
|
+
def version(self, value: Optional[pulumi.Input[builtins.str]]):
|
87
|
+
pulumi.set(self, "version", value)
|
88
|
+
|
89
|
+
|
90
|
+
@pulumi.input_type
|
91
|
+
class _ExtensionState:
|
92
|
+
def __init__(__self__, *,
|
93
|
+
disabled: Optional[pulumi.Input[builtins.bool]] = None,
|
94
|
+
extension_id: Optional[pulumi.Input[builtins.str]] = None,
|
95
|
+
extension_name: Optional[pulumi.Input[builtins.str]] = None,
|
96
|
+
publisher_id: Optional[pulumi.Input[builtins.str]] = None,
|
97
|
+
publisher_name: Optional[pulumi.Input[builtins.str]] = None,
|
98
|
+
scopes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
99
|
+
version: Optional[pulumi.Input[builtins.str]] = None):
|
100
|
+
"""
|
101
|
+
Input properties used for looking up and filtering Extension resources.
|
102
|
+
:param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
|
103
|
+
:param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
|
104
|
+
:param pulumi.Input[builtins.str] extension_name: The name of the extension.
|
105
|
+
:param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
|
106
|
+
:param pulumi.Input[builtins.str] publisher_name: The name of the publisher.
|
107
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] scopes: List of all oauth scopes required by this extension.
|
108
|
+
:param pulumi.Input[builtins.str] version: The version of the extension.
|
109
|
+
"""
|
110
|
+
if disabled is not None:
|
111
|
+
pulumi.set(__self__, "disabled", disabled)
|
112
|
+
if extension_id is not None:
|
113
|
+
pulumi.set(__self__, "extension_id", extension_id)
|
114
|
+
if extension_name is not None:
|
115
|
+
pulumi.set(__self__, "extension_name", extension_name)
|
116
|
+
if publisher_id is not None:
|
117
|
+
pulumi.set(__self__, "publisher_id", publisher_id)
|
118
|
+
if publisher_name is not None:
|
119
|
+
pulumi.set(__self__, "publisher_name", publisher_name)
|
120
|
+
if scopes is not None:
|
121
|
+
pulumi.set(__self__, "scopes", scopes)
|
122
|
+
if version is not None:
|
123
|
+
pulumi.set(__self__, "version", version)
|
124
|
+
|
125
|
+
@property
|
126
|
+
@pulumi.getter
|
127
|
+
def disabled(self) -> Optional[pulumi.Input[builtins.bool]]:
|
128
|
+
"""
|
129
|
+
Whether to disable the extension.
|
130
|
+
"""
|
131
|
+
return pulumi.get(self, "disabled")
|
132
|
+
|
133
|
+
@disabled.setter
|
134
|
+
def disabled(self, value: Optional[pulumi.Input[builtins.bool]]):
|
135
|
+
pulumi.set(self, "disabled", value)
|
136
|
+
|
137
|
+
@property
|
138
|
+
@pulumi.getter(name="extensionId")
|
139
|
+
def extension_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
140
|
+
"""
|
141
|
+
The publisher ID of the extension.
|
142
|
+
"""
|
143
|
+
return pulumi.get(self, "extension_id")
|
144
|
+
|
145
|
+
@extension_id.setter
|
146
|
+
def extension_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
147
|
+
pulumi.set(self, "extension_id", value)
|
148
|
+
|
149
|
+
@property
|
150
|
+
@pulumi.getter(name="extensionName")
|
151
|
+
def extension_name(self) -> Optional[pulumi.Input[builtins.str]]:
|
152
|
+
"""
|
153
|
+
The name of the extension.
|
154
|
+
"""
|
155
|
+
return pulumi.get(self, "extension_name")
|
156
|
+
|
157
|
+
@extension_name.setter
|
158
|
+
def extension_name(self, value: Optional[pulumi.Input[builtins.str]]):
|
159
|
+
pulumi.set(self, "extension_name", value)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter(name="publisherId")
|
163
|
+
def publisher_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
164
|
+
"""
|
165
|
+
The extension ID of the extension.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "publisher_id")
|
168
|
+
|
169
|
+
@publisher_id.setter
|
170
|
+
def publisher_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
171
|
+
pulumi.set(self, "publisher_id", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter(name="publisherName")
|
175
|
+
def publisher_name(self) -> Optional[pulumi.Input[builtins.str]]:
|
176
|
+
"""
|
177
|
+
The name of the publisher.
|
178
|
+
"""
|
179
|
+
return pulumi.get(self, "publisher_name")
|
180
|
+
|
181
|
+
@publisher_name.setter
|
182
|
+
def publisher_name(self, value: Optional[pulumi.Input[builtins.str]]):
|
183
|
+
pulumi.set(self, "publisher_name", value)
|
184
|
+
|
185
|
+
@property
|
186
|
+
@pulumi.getter
|
187
|
+
def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
188
|
+
"""
|
189
|
+
List of all oauth scopes required by this extension.
|
190
|
+
"""
|
191
|
+
return pulumi.get(self, "scopes")
|
192
|
+
|
193
|
+
@scopes.setter
|
194
|
+
def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
195
|
+
pulumi.set(self, "scopes", value)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter
|
199
|
+
def version(self) -> Optional[pulumi.Input[builtins.str]]:
|
200
|
+
"""
|
201
|
+
The version of the extension.
|
202
|
+
"""
|
203
|
+
return pulumi.get(self, "version")
|
204
|
+
|
205
|
+
@version.setter
|
206
|
+
def version(self, value: Optional[pulumi.Input[builtins.str]]):
|
207
|
+
pulumi.set(self, "version", value)
|
208
|
+
|
209
|
+
|
210
|
+
class Extension(pulumi.CustomResource):
|
211
|
+
@overload
|
212
|
+
def __init__(__self__,
|
213
|
+
resource_name: str,
|
214
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
215
|
+
disabled: Optional[pulumi.Input[builtins.bool]] = None,
|
216
|
+
extension_id: Optional[pulumi.Input[builtins.str]] = None,
|
217
|
+
publisher_id: Optional[pulumi.Input[builtins.str]] = None,
|
218
|
+
version: Optional[pulumi.Input[builtins.str]] = None,
|
219
|
+
__props__=None):
|
220
|
+
"""
|
221
|
+
Manages extension within Azure DevOps organization.
|
222
|
+
|
223
|
+
## Example Usage
|
224
|
+
|
225
|
+
### Install Extension
|
226
|
+
```python
|
227
|
+
import pulumi
|
228
|
+
import pulumi_azuredevops as azuredevops
|
229
|
+
|
230
|
+
example = azuredevops.Extension("example",
|
231
|
+
extension_id="extension ID",
|
232
|
+
publisher_id="publisher ID")
|
233
|
+
```
|
234
|
+
|
235
|
+
## Relevant Links
|
236
|
+
|
237
|
+
- [Azure DevOps Service REST API 7.1 - Extension Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/extensionmanagement/installed-extensions?view=azure-devops-rest-7.1)
|
238
|
+
|
239
|
+
## Import
|
240
|
+
|
241
|
+
Azure DevOps Extension can be imported using the publisher ID and extension ID:
|
242
|
+
|
243
|
+
```sh
|
244
|
+
$ pulumi import azuredevops:index/extension:Extension example publisherId/extensionId
|
245
|
+
```
|
246
|
+
|
247
|
+
:param str resource_name: The name of the resource.
|
248
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
249
|
+
:param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
|
250
|
+
:param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
|
251
|
+
:param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
|
252
|
+
:param pulumi.Input[builtins.str] version: The version of the extension.
|
253
|
+
"""
|
254
|
+
...
|
255
|
+
@overload
|
256
|
+
def __init__(__self__,
|
257
|
+
resource_name: str,
|
258
|
+
args: ExtensionArgs,
|
259
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
260
|
+
"""
|
261
|
+
Manages extension within Azure DevOps organization.
|
262
|
+
|
263
|
+
## Example Usage
|
264
|
+
|
265
|
+
### Install Extension
|
266
|
+
```python
|
267
|
+
import pulumi
|
268
|
+
import pulumi_azuredevops as azuredevops
|
269
|
+
|
270
|
+
example = azuredevops.Extension("example",
|
271
|
+
extension_id="extension ID",
|
272
|
+
publisher_id="publisher ID")
|
273
|
+
```
|
274
|
+
|
275
|
+
## Relevant Links
|
276
|
+
|
277
|
+
- [Azure DevOps Service REST API 7.1 - Extension Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/extensionmanagement/installed-extensions?view=azure-devops-rest-7.1)
|
278
|
+
|
279
|
+
## Import
|
280
|
+
|
281
|
+
Azure DevOps Extension can be imported using the publisher ID and extension ID:
|
282
|
+
|
283
|
+
```sh
|
284
|
+
$ pulumi import azuredevops:index/extension:Extension example publisherId/extensionId
|
285
|
+
```
|
286
|
+
|
287
|
+
:param str resource_name: The name of the resource.
|
288
|
+
:param ExtensionArgs args: The arguments to use to populate this resource's properties.
|
289
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
290
|
+
"""
|
291
|
+
...
|
292
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
293
|
+
resource_args, opts = _utilities.get_resource_args_opts(ExtensionArgs, pulumi.ResourceOptions, *args, **kwargs)
|
294
|
+
if resource_args is not None:
|
295
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
296
|
+
else:
|
297
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
298
|
+
|
299
|
+
def _internal_init(__self__,
|
300
|
+
resource_name: str,
|
301
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
302
|
+
disabled: Optional[pulumi.Input[builtins.bool]] = None,
|
303
|
+
extension_id: Optional[pulumi.Input[builtins.str]] = None,
|
304
|
+
publisher_id: Optional[pulumi.Input[builtins.str]] = None,
|
305
|
+
version: Optional[pulumi.Input[builtins.str]] = None,
|
306
|
+
__props__=None):
|
307
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
308
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
309
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
310
|
+
if opts.id is None:
|
311
|
+
if __props__ is not None:
|
312
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
313
|
+
__props__ = ExtensionArgs.__new__(ExtensionArgs)
|
314
|
+
|
315
|
+
__props__.__dict__["disabled"] = disabled
|
316
|
+
if extension_id is None and not opts.urn:
|
317
|
+
raise TypeError("Missing required property 'extension_id'")
|
318
|
+
__props__.__dict__["extension_id"] = extension_id
|
319
|
+
if publisher_id is None and not opts.urn:
|
320
|
+
raise TypeError("Missing required property 'publisher_id'")
|
321
|
+
__props__.__dict__["publisher_id"] = publisher_id
|
322
|
+
__props__.__dict__["version"] = version
|
323
|
+
__props__.__dict__["extension_name"] = None
|
324
|
+
__props__.__dict__["publisher_name"] = None
|
325
|
+
__props__.__dict__["scopes"] = None
|
326
|
+
super(Extension, __self__).__init__(
|
327
|
+
'azuredevops:index/extension:Extension',
|
328
|
+
resource_name,
|
329
|
+
__props__,
|
330
|
+
opts)
|
331
|
+
|
332
|
+
@staticmethod
|
333
|
+
def get(resource_name: str,
|
334
|
+
id: pulumi.Input[str],
|
335
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
336
|
+
disabled: Optional[pulumi.Input[builtins.bool]] = None,
|
337
|
+
extension_id: Optional[pulumi.Input[builtins.str]] = None,
|
338
|
+
extension_name: Optional[pulumi.Input[builtins.str]] = None,
|
339
|
+
publisher_id: Optional[pulumi.Input[builtins.str]] = None,
|
340
|
+
publisher_name: Optional[pulumi.Input[builtins.str]] = None,
|
341
|
+
scopes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
342
|
+
version: Optional[pulumi.Input[builtins.str]] = None) -> 'Extension':
|
343
|
+
"""
|
344
|
+
Get an existing Extension resource's state with the given name, id, and optional extra
|
345
|
+
properties used to qualify the lookup.
|
346
|
+
|
347
|
+
:param str resource_name: The unique name of the resulting resource.
|
348
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
349
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
350
|
+
:param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
|
351
|
+
:param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
|
352
|
+
:param pulumi.Input[builtins.str] extension_name: The name of the extension.
|
353
|
+
:param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
|
354
|
+
:param pulumi.Input[builtins.str] publisher_name: The name of the publisher.
|
355
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] scopes: List of all oauth scopes required by this extension.
|
356
|
+
:param pulumi.Input[builtins.str] version: The version of the extension.
|
357
|
+
"""
|
358
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
359
|
+
|
360
|
+
__props__ = _ExtensionState.__new__(_ExtensionState)
|
361
|
+
|
362
|
+
__props__.__dict__["disabled"] = disabled
|
363
|
+
__props__.__dict__["extension_id"] = extension_id
|
364
|
+
__props__.__dict__["extension_name"] = extension_name
|
365
|
+
__props__.__dict__["publisher_id"] = publisher_id
|
366
|
+
__props__.__dict__["publisher_name"] = publisher_name
|
367
|
+
__props__.__dict__["scopes"] = scopes
|
368
|
+
__props__.__dict__["version"] = version
|
369
|
+
return Extension(resource_name, opts=opts, __props__=__props__)
|
370
|
+
|
371
|
+
@property
|
372
|
+
@pulumi.getter
|
373
|
+
def disabled(self) -> pulumi.Output[builtins.bool]:
|
374
|
+
"""
|
375
|
+
Whether to disable the extension.
|
376
|
+
"""
|
377
|
+
return pulumi.get(self, "disabled")
|
378
|
+
|
379
|
+
@property
|
380
|
+
@pulumi.getter(name="extensionId")
|
381
|
+
def extension_id(self) -> pulumi.Output[builtins.str]:
|
382
|
+
"""
|
383
|
+
The publisher ID of the extension.
|
384
|
+
"""
|
385
|
+
return pulumi.get(self, "extension_id")
|
386
|
+
|
387
|
+
@property
|
388
|
+
@pulumi.getter(name="extensionName")
|
389
|
+
def extension_name(self) -> pulumi.Output[builtins.str]:
|
390
|
+
"""
|
391
|
+
The name of the extension.
|
392
|
+
"""
|
393
|
+
return pulumi.get(self, "extension_name")
|
394
|
+
|
395
|
+
@property
|
396
|
+
@pulumi.getter(name="publisherId")
|
397
|
+
def publisher_id(self) -> pulumi.Output[builtins.str]:
|
398
|
+
"""
|
399
|
+
The extension ID of the extension.
|
400
|
+
"""
|
401
|
+
return pulumi.get(self, "publisher_id")
|
402
|
+
|
403
|
+
@property
|
404
|
+
@pulumi.getter(name="publisherName")
|
405
|
+
def publisher_name(self) -> pulumi.Output[builtins.str]:
|
406
|
+
"""
|
407
|
+
The name of the publisher.
|
408
|
+
"""
|
409
|
+
return pulumi.get(self, "publisher_name")
|
410
|
+
|
411
|
+
@property
|
412
|
+
@pulumi.getter
|
413
|
+
def scopes(self) -> pulumi.Output[Sequence[builtins.str]]:
|
414
|
+
"""
|
415
|
+
List of all oauth scopes required by this extension.
|
416
|
+
"""
|
417
|
+
return pulumi.get(self, "scopes")
|
418
|
+
|
419
|
+
@property
|
420
|
+
@pulumi.getter
|
421
|
+
def version(self) -> pulumi.Output[builtins.str]:
|
422
|
+
"""
|
423
|
+
The version of the extension.
|
424
|
+
"""
|
425
|
+
return pulumi.get(self, "version")
|
426
|
+
|
pulumi_azuredevops/feed.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
|
+
import builtins
|
5
6
|
import copy
|
6
7
|
import warnings
|
7
8
|
import sys
|
@@ -22,15 +23,15 @@ __all__ = ['FeedArgs', 'Feed']
|
|
22
23
|
class FeedArgs:
|
23
24
|
def __init__(__self__, *,
|
24
25
|
features: Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]] = None,
|
25
|
-
name: Optional[pulumi.Input[str]] = None,
|
26
|
-
project_id: Optional[pulumi.Input[str]] = None):
|
26
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
27
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None):
|
27
28
|
"""
|
28
29
|
The set of arguments for constructing a Feed resource.
|
29
30
|
:param pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]] features: A `features` blocks as documented below.
|
30
31
|
|
31
32
|
> **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
|
32
|
-
:param pulumi.Input[str] name: The name of the Feed.
|
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.
|
33
|
+
:param pulumi.Input[builtins.str] name: The name of the Feed.
|
34
|
+
:param pulumi.Input[builtins.str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
34
35
|
"""
|
35
36
|
if features is not None:
|
36
37
|
pulumi.set(__self__, "features", features)
|
@@ -55,26 +56,26 @@ class FeedArgs:
|
|
55
56
|
|
56
57
|
@property
|
57
58
|
@pulumi.getter
|
58
|
-
def name(self) -> Optional[pulumi.Input[str]]:
|
59
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
59
60
|
"""
|
60
61
|
The name of the Feed.
|
61
62
|
"""
|
62
63
|
return pulumi.get(self, "name")
|
63
64
|
|
64
65
|
@name.setter
|
65
|
-
def name(self, value: Optional[pulumi.Input[str]]):
|
66
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
66
67
|
pulumi.set(self, "name", value)
|
67
68
|
|
68
69
|
@property
|
69
70
|
@pulumi.getter(name="projectId")
|
70
|
-
def project_id(self) -> Optional[pulumi.Input[str]]:
|
71
|
+
def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
71
72
|
"""
|
72
73
|
The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
73
74
|
"""
|
74
75
|
return pulumi.get(self, "project_id")
|
75
76
|
|
76
77
|
@project_id.setter
|
77
|
-
def project_id(self, value: Optional[pulumi.Input[str]]):
|
78
|
+
def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
78
79
|
pulumi.set(self, "project_id", value)
|
79
80
|
|
80
81
|
|
@@ -82,15 +83,15 @@ class FeedArgs:
|
|
82
83
|
class _FeedState:
|
83
84
|
def __init__(__self__, *,
|
84
85
|
features: Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]] = None,
|
85
|
-
name: Optional[pulumi.Input[str]] = None,
|
86
|
-
project_id: Optional[pulumi.Input[str]] = None):
|
86
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
87
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None):
|
87
88
|
"""
|
88
89
|
Input properties used for looking up and filtering Feed resources.
|
89
90
|
:param pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]] features: A `features` blocks as documented below.
|
90
91
|
|
91
92
|
> **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
|
92
|
-
:param pulumi.Input[str] name: The name of the Feed.
|
93
|
-
: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.
|
93
|
+
:param pulumi.Input[builtins.str] name: The name of the Feed.
|
94
|
+
:param pulumi.Input[builtins.str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
94
95
|
"""
|
95
96
|
if features is not None:
|
96
97
|
pulumi.set(__self__, "features", features)
|
@@ -115,26 +116,26 @@ class _FeedState:
|
|
115
116
|
|
116
117
|
@property
|
117
118
|
@pulumi.getter
|
118
|
-
def name(self) -> Optional[pulumi.Input[str]]:
|
119
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
119
120
|
"""
|
120
121
|
The name of the Feed.
|
121
122
|
"""
|
122
123
|
return pulumi.get(self, "name")
|
123
124
|
|
124
125
|
@name.setter
|
125
|
-
def name(self, value: Optional[pulumi.Input[str]]):
|
126
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
126
127
|
pulumi.set(self, "name", value)
|
127
128
|
|
128
129
|
@property
|
129
130
|
@pulumi.getter(name="projectId")
|
130
|
-
def project_id(self) -> Optional[pulumi.Input[str]]:
|
131
|
+
def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
131
132
|
"""
|
132
133
|
The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
133
134
|
"""
|
134
135
|
return pulumi.get(self, "project_id")
|
135
136
|
|
136
137
|
@project_id.setter
|
137
|
-
def project_id(self, value: Optional[pulumi.Input[str]]):
|
138
|
+
def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
138
139
|
pulumi.set(self, "project_id", value)
|
139
140
|
|
140
141
|
|
@@ -144,8 +145,8 @@ class Feed(pulumi.CustomResource):
|
|
144
145
|
resource_name: str,
|
145
146
|
opts: Optional[pulumi.ResourceOptions] = None,
|
146
147
|
features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]]] = None,
|
147
|
-
name: Optional[pulumi.Input[str]] = None,
|
148
|
-
project_id: Optional[pulumi.Input[str]] = None,
|
148
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
149
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None,
|
149
150
|
__props__=None):
|
150
151
|
"""
|
151
152
|
Manages Feed within Azure DevOps organization.
|
@@ -211,8 +212,8 @@ class Feed(pulumi.CustomResource):
|
|
211
212
|
:param pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]] features: A `features` blocks as documented below.
|
212
213
|
|
213
214
|
> **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
|
214
|
-
:param pulumi.Input[str] name: The name of the Feed.
|
215
|
-
: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.
|
215
|
+
:param pulumi.Input[builtins.str] name: The name of the Feed.
|
216
|
+
:param pulumi.Input[builtins.str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
216
217
|
"""
|
217
218
|
...
|
218
219
|
@overload
|
@@ -295,8 +296,8 @@ class Feed(pulumi.CustomResource):
|
|
295
296
|
resource_name: str,
|
296
297
|
opts: Optional[pulumi.ResourceOptions] = None,
|
297
298
|
features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]]] = None,
|
298
|
-
name: Optional[pulumi.Input[str]] = None,
|
299
|
-
project_id: Optional[pulumi.Input[str]] = None,
|
299
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
300
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None,
|
300
301
|
__props__=None):
|
301
302
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
302
303
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -320,8 +321,8 @@ class Feed(pulumi.CustomResource):
|
|
320
321
|
id: pulumi.Input[str],
|
321
322
|
opts: Optional[pulumi.ResourceOptions] = None,
|
322
323
|
features: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]]] = None,
|
323
|
-
name: Optional[pulumi.Input[str]] = None,
|
324
|
-
project_id: Optional[pulumi.Input[str]] = None) -> 'Feed':
|
324
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
325
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None) -> 'Feed':
|
325
326
|
"""
|
326
327
|
Get an existing Feed resource's state with the given name, id, and optional extra
|
327
328
|
properties used to qualify the lookup.
|
@@ -332,8 +333,8 @@ class Feed(pulumi.CustomResource):
|
|
332
333
|
:param pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]] features: A `features` blocks as documented below.
|
333
334
|
|
334
335
|
> **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
|
335
|
-
:param pulumi.Input[str] name: The name of the Feed.
|
336
|
-
: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.
|
336
|
+
:param pulumi.Input[builtins.str] name: The name of the Feed.
|
337
|
+
:param pulumi.Input[builtins.str] project_id: The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
337
338
|
"""
|
338
339
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
339
340
|
|
@@ -356,7 +357,7 @@ class Feed(pulumi.CustomResource):
|
|
356
357
|
|
357
358
|
@property
|
358
359
|
@pulumi.getter
|
359
|
-
def name(self) -> pulumi.Output[str]:
|
360
|
+
def name(self) -> pulumi.Output[builtins.str]:
|
360
361
|
"""
|
361
362
|
The name of the Feed.
|
362
363
|
"""
|
@@ -364,7 +365,7 @@ class Feed(pulumi.CustomResource):
|
|
364
365
|
|
365
366
|
@property
|
366
367
|
@pulumi.getter(name="projectId")
|
367
|
-
def project_id(self) -> pulumi.Output[Optional[str]]:
|
368
|
+
def project_id(self) -> pulumi.Output[Optional[builtins.str]]:
|
368
369
|
"""
|
369
370
|
The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
|
370
371
|
"""
|