pulumi-azuredevops 2.16.0a1710156155__py3-none-any.whl → 3.6.0a1736832240__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.
Files changed (188) hide show
  1. pulumi_azuredevops/__init__.py +123 -174
  2. pulumi_azuredevops/_inputs.py +1742 -110
  3. pulumi_azuredevops/_utilities.py +41 -5
  4. pulumi_azuredevops/area_permissions.py +9 -6
  5. pulumi_azuredevops/branch_policy_auto_reviewers.py +52 -49
  6. pulumi_azuredevops/branch_policy_build_validation.py +86 -79
  7. pulumi_azuredevops/branch_policy_comment_resolution.py +60 -57
  8. pulumi_azuredevops/branch_policy_merge_types.py +68 -65
  9. pulumi_azuredevops/branch_policy_min_reviewers.py +72 -71
  10. pulumi_azuredevops/branch_policy_status_check.py +66 -61
  11. pulumi_azuredevops/branch_policy_work_item_linking.py +60 -57
  12. pulumi_azuredevops/build_definition.py +380 -200
  13. pulumi_azuredevops/build_definition_permissions.py +186 -165
  14. pulumi_azuredevops/build_folder.py +13 -10
  15. pulumi_azuredevops/build_folder_permissions.py +33 -32
  16. pulumi_azuredevops/check_approval.py +49 -16
  17. pulumi_azuredevops/check_branch_control.py +139 -110
  18. pulumi_azuredevops/check_business_hours.py +137 -108
  19. pulumi_azuredevops/check_exclusive_lock.py +107 -30
  20. pulumi_azuredevops/check_required_template.py +96 -67
  21. pulumi_azuredevops/config/__init__.pyi +87 -0
  22. pulumi_azuredevops/config/vars.py +125 -0
  23. pulumi_azuredevops/elastic_pool.py +78 -26
  24. pulumi_azuredevops/environment.py +17 -10
  25. pulumi_azuredevops/environment_resource_kubernetes.py +534 -0
  26. pulumi_azuredevops/feed.py +372 -0
  27. pulumi_azuredevops/feed_permission.py +415 -0
  28. pulumi_azuredevops/get_agent_queue.py +28 -19
  29. pulumi_azuredevops/get_area.py +28 -15
  30. pulumi_azuredevops/get_build_definition.py +32 -15
  31. pulumi_azuredevops/get_client_config.py +12 -9
  32. pulumi_azuredevops/get_environment.py +72 -5
  33. pulumi_azuredevops/get_feed.py +186 -0
  34. pulumi_azuredevops/get_git_repository.py +39 -10
  35. pulumi_azuredevops/get_group.py +55 -22
  36. pulumi_azuredevops/get_groups.py +18 -9
  37. pulumi_azuredevops/get_identity_group.py +152 -0
  38. pulumi_azuredevops/get_identity_groups.py +140 -0
  39. pulumi_azuredevops/get_identity_users.py +122 -0
  40. pulumi_azuredevops/get_iteration.py +24 -11
  41. pulumi_azuredevops/get_pool.py +16 -9
  42. pulumi_azuredevops/get_pools.py +12 -9
  43. pulumi_azuredevops/get_project.py +22 -10
  44. pulumi_azuredevops/get_projects.py +16 -9
  45. pulumi_azuredevops/get_repositories.py +22 -9
  46. pulumi_azuredevops/get_securityrole_definitions.py +141 -0
  47. pulumi_azuredevops/get_service_endpoint_azure_rm.py +70 -26
  48. pulumi_azuredevops/get_service_endpoint_github.py +19 -13
  49. pulumi_azuredevops/get_serviceendpoint_azurecr.py +31 -11
  50. pulumi_azuredevops/get_serviceendpoint_bitbucket.py +219 -0
  51. pulumi_azuredevops/get_serviceendpoint_npm.py +22 -11
  52. pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +21 -11
  53. pulumi_azuredevops/get_team.py +29 -15
  54. pulumi_azuredevops/get_teams.py +16 -9
  55. pulumi_azuredevops/get_users.py +26 -87
  56. pulumi_azuredevops/get_variable_group.py +27 -17
  57. pulumi_azuredevops/git.py +57 -99
  58. pulumi_azuredevops/git_permissions.py +78 -75
  59. pulumi_azuredevops/git_repository_branch.py +29 -20
  60. pulumi_azuredevops/git_repository_file.py +23 -18
  61. pulumi_azuredevops/group.py +43 -16
  62. pulumi_azuredevops/group_entitlement.py +5 -8
  63. pulumi_azuredevops/group_membership.py +57 -30
  64. pulumi_azuredevops/iterative_permissions.py +9 -6
  65. pulumi_azuredevops/library_permissions.py +451 -0
  66. pulumi_azuredevops/outputs.py +460 -56
  67. pulumi_azuredevops/pipeline_authorization.py +136 -47
  68. pulumi_azuredevops/pool.py +7 -6
  69. pulumi_azuredevops/project.py +19 -18
  70. pulumi_azuredevops/project_features.py +9 -8
  71. pulumi_azuredevops/project_permissions.py +9 -6
  72. pulumi_azuredevops/project_pipeline_settings.py +15 -12
  73. pulumi_azuredevops/provider.py +491 -2
  74. pulumi_azuredevops/pulumi-plugin.json +2 -1
  75. pulumi_azuredevops/queue.py +23 -24
  76. pulumi_azuredevops/repository_policy_author_email_pattern.py +37 -34
  77. pulumi_azuredevops/repository_policy_case_enforcement.py +37 -34
  78. pulumi_azuredevops/repository_policy_check_credentials.py +37 -34
  79. pulumi_azuredevops/repository_policy_file_path_pattern.py +31 -28
  80. pulumi_azuredevops/repository_policy_max_file_size.py +44 -41
  81. pulumi_azuredevops/repository_policy_max_path_length.py +37 -34
  82. pulumi_azuredevops/repository_policy_reserved_names.py +37 -34
  83. pulumi_azuredevops/resource_authorization.py +23 -20
  84. pulumi_azuredevops/securityrole_assignment.py +295 -0
  85. pulumi_azuredevops/service_endpoint_artifactory.py +49 -48
  86. pulumi_azuredevops/service_endpoint_aws.py +99 -51
  87. pulumi_azuredevops/service_endpoint_azure_dev_ops.py +17 -14
  88. pulumi_azuredevops/service_endpoint_azure_ecr.py +275 -33
  89. pulumi_azuredevops/service_endpoint_azure_rm.py +236 -114
  90. pulumi_azuredevops/service_endpoint_bit_bucket.py +19 -18
  91. pulumi_azuredevops/service_endpoint_docker_registry.py +17 -16
  92. pulumi_azuredevops/service_endpoint_generic.py +19 -20
  93. pulumi_azuredevops/service_endpoint_generic_git.py +17 -14
  94. pulumi_azuredevops/service_endpoint_git_hub.py +57 -60
  95. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +26 -23
  96. pulumi_azuredevops/{serviceendpoint/bit_bucket.py → service_endpoint_git_lab.py} +147 -100
  97. pulumi_azuredevops/service_endpoint_kubernetes.py +160 -17
  98. pulumi_azuredevops/service_endpoint_npm.py +17 -14
  99. pulumi_azuredevops/service_endpoint_pipeline.py +28 -25
  100. pulumi_azuredevops/service_endpoint_service_fabric.py +42 -95
  101. pulumi_azuredevops/service_endpoint_sonar_cloud.py +17 -14
  102. pulumi_azuredevops/service_endpoint_sonar_qube.py +17 -14
  103. pulumi_azuredevops/service_endpoint_ssh.py +17 -14
  104. pulumi_azuredevops/serviceendpoint_argocd.py +51 -50
  105. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +429 -0
  106. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +579 -0
  107. pulumi_azuredevops/serviceendpoint_externaltfs.py +10 -5
  108. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +17 -14
  109. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +17 -14
  110. pulumi_azuredevops/serviceendpoint_jenkins.py +15 -12
  111. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +53 -52
  112. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +53 -52
  113. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +53 -52
  114. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +53 -52
  115. pulumi_azuredevops/serviceendpoint_maven.py +49 -48
  116. pulumi_azuredevops/serviceendpoint_nexus.py +15 -12
  117. pulumi_azuredevops/serviceendpoint_nuget.py +17 -14
  118. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +17 -14
  119. pulumi_azuredevops/serviceendpoint_permissions.py +21 -18
  120. pulumi_azuredevops/serviceendpoint_snyk.py +429 -0
  121. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +543 -0
  122. pulumi_azuredevops/servicehook_permissions.py +9 -6
  123. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +55 -48
  124. pulumi_azuredevops/tagging_permissions.py +9 -6
  125. pulumi_azuredevops/team.py +21 -16
  126. pulumi_azuredevops/team_administrators.py +19 -12
  127. pulumi_azuredevops/team_members.py +19 -12
  128. pulumi_azuredevops/user.py +27 -8
  129. pulumi_azuredevops/variable_group.py +91 -88
  130. pulumi_azuredevops/variable_group_permissions.py +517 -0
  131. pulumi_azuredevops/wiki.py +509 -0
  132. pulumi_azuredevops/wiki_page.py +377 -0
  133. pulumi_azuredevops/work_item_query_permissions.py +17 -18
  134. pulumi_azuredevops/workitem.py +25 -24
  135. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/METADATA +9 -8
  136. pulumi_azuredevops-3.6.0a1736832240.dist-info/RECORD +140 -0
  137. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/WHEEL +1 -1
  138. pulumi_azuredevops/agent/__init__.py +0 -12
  139. pulumi_azuredevops/agent/get_pool.py +0 -155
  140. pulumi_azuredevops/agent/get_pools.py +0 -120
  141. pulumi_azuredevops/agent/outputs.py +0 -73
  142. pulumi_azuredevops/agent/pool.py +0 -342
  143. pulumi_azuredevops/agent/queue.py +0 -376
  144. pulumi_azuredevops/build/__init__.py +0 -10
  145. pulumi_azuredevops/build/_inputs.py +0 -1164
  146. pulumi_azuredevops/build/build_definition.py +0 -987
  147. pulumi_azuredevops/build/outputs.py +0 -1170
  148. pulumi_azuredevops/core/__init__.py +0 -13
  149. pulumi_azuredevops/core/get_client_config.py +0 -102
  150. pulumi_azuredevops/core/get_project.py +0 -194
  151. pulumi_azuredevops/core/get_projects.py +0 -166
  152. pulumi_azuredevops/core/outputs.py +0 -70
  153. pulumi_azuredevops/core/project.py +0 -538
  154. pulumi_azuredevops/core/project_features.py +0 -303
  155. pulumi_azuredevops/entitlement/__init__.py +0 -8
  156. pulumi_azuredevops/entitlement/user.py +0 -429
  157. pulumi_azuredevops/identities/__init__.py +0 -13
  158. pulumi_azuredevops/identities/_inputs.py +0 -42
  159. pulumi_azuredevops/identities/get_group.py +0 -185
  160. pulumi_azuredevops/identities/get_users.py +0 -257
  161. pulumi_azuredevops/identities/group.py +0 -632
  162. pulumi_azuredevops/identities/group_membership.py +0 -333
  163. pulumi_azuredevops/identities/outputs.py +0 -124
  164. pulumi_azuredevops/pipeline/__init__.py +0 -10
  165. pulumi_azuredevops/pipeline/_inputs.py +0 -175
  166. pulumi_azuredevops/pipeline/outputs.py +0 -175
  167. pulumi_azuredevops/pipeline/variable_group.py +0 -594
  168. pulumi_azuredevops/policy/__init__.py +0 -11
  169. pulumi_azuredevops/policy/_inputs.py +0 -382
  170. pulumi_azuredevops/policy/branch_policy_build_validation.py +0 -424
  171. pulumi_azuredevops/policy/branch_policy_min_reviewers.py +0 -406
  172. pulumi_azuredevops/policy/outputs.py +0 -397
  173. pulumi_azuredevops/repository/__init__.py +0 -11
  174. pulumi_azuredevops/repository/_inputs.py +0 -85
  175. pulumi_azuredevops/repository/get_repositories.py +0 -177
  176. pulumi_azuredevops/repository/git.py +0 -627
  177. pulumi_azuredevops/repository/outputs.py +0 -199
  178. pulumi_azuredevops/security/__init__.py +0 -8
  179. pulumi_azuredevops/security/resource_authorization.py +0 -404
  180. pulumi_azuredevops/serviceendpoint/__init__.py +0 -14
  181. pulumi_azuredevops/serviceendpoint/_inputs.py +0 -341
  182. pulumi_azuredevops/serviceendpoint/azure_rm.py +0 -1140
  183. pulumi_azuredevops/serviceendpoint/docker_registry.py +0 -595
  184. pulumi_azuredevops/serviceendpoint/git_hub.py +0 -489
  185. pulumi_azuredevops/serviceendpoint/kubernetes.py +0 -523
  186. pulumi_azuredevops/serviceendpoint/outputs.py +0 -370
  187. pulumi_azuredevops-2.16.0a1710156155.dist-info/RECORD +0 -171
  188. {pulumi_azuredevops-2.16.0a1710156155.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,372 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['FeedArgs', 'Feed']
20
+
21
+ @pulumi.input_type
22
+ class FeedArgs:
23
+ def __init__(__self__, *,
24
+ features: Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]] = None,
25
+ name: Optional[pulumi.Input[str]] = None,
26
+ project_id: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a Feed resource.
29
+ :param pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]] features: A `features` blocks as documented below.
30
+
31
+ > **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.
34
+ """
35
+ if features is not None:
36
+ pulumi.set(__self__, "features", features)
37
+ if name is not None:
38
+ pulumi.set(__self__, "name", name)
39
+ if project_id is not None:
40
+ pulumi.set(__self__, "project_id", project_id)
41
+
42
+ @property
43
+ @pulumi.getter
44
+ def features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]]:
45
+ """
46
+ A `features` blocks as documented below.
47
+
48
+ > **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
49
+ """
50
+ return pulumi.get(self, "features")
51
+
52
+ @features.setter
53
+ def features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]]):
54
+ pulumi.set(self, "features", value)
55
+
56
+ @property
57
+ @pulumi.getter
58
+ def name(self) -> Optional[pulumi.Input[str]]:
59
+ """
60
+ The name of the Feed.
61
+ """
62
+ return pulumi.get(self, "name")
63
+
64
+ @name.setter
65
+ def name(self, value: Optional[pulumi.Input[str]]):
66
+ pulumi.set(self, "name", value)
67
+
68
+ @property
69
+ @pulumi.getter(name="projectId")
70
+ def project_id(self) -> Optional[pulumi.Input[str]]:
71
+ """
72
+ The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
73
+ """
74
+ return pulumi.get(self, "project_id")
75
+
76
+ @project_id.setter
77
+ def project_id(self, value: Optional[pulumi.Input[str]]):
78
+ pulumi.set(self, "project_id", value)
79
+
80
+
81
+ @pulumi.input_type
82
+ class _FeedState:
83
+ def __init__(__self__, *,
84
+ features: Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]] = None,
85
+ name: Optional[pulumi.Input[str]] = None,
86
+ project_id: Optional[pulumi.Input[str]] = None):
87
+ """
88
+ Input properties used for looking up and filtering Feed resources.
89
+ :param pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]] features: A `features` blocks as documented below.
90
+
91
+ > **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.
94
+ """
95
+ if features is not None:
96
+ pulumi.set(__self__, "features", features)
97
+ if name is not None:
98
+ pulumi.set(__self__, "name", name)
99
+ if project_id is not None:
100
+ pulumi.set(__self__, "project_id", project_id)
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]]:
105
+ """
106
+ A `features` blocks as documented below.
107
+
108
+ > **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
109
+ """
110
+ return pulumi.get(self, "features")
111
+
112
+ @features.setter
113
+ def features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FeedFeatureArgs']]]]):
114
+ pulumi.set(self, "features", value)
115
+
116
+ @property
117
+ @pulumi.getter
118
+ def name(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ The name of the Feed.
121
+ """
122
+ return pulumi.get(self, "name")
123
+
124
+ @name.setter
125
+ def name(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "name", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="projectId")
130
+ def project_id(self) -> Optional[pulumi.Input[str]]:
131
+ """
132
+ The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
133
+ """
134
+ return pulumi.get(self, "project_id")
135
+
136
+ @project_id.setter
137
+ def project_id(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "project_id", value)
139
+
140
+
141
+ class Feed(pulumi.CustomResource):
142
+ @overload
143
+ def __init__(__self__,
144
+ resource_name: str,
145
+ opts: Optional[pulumi.ResourceOptions] = None,
146
+ 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,
149
+ __props__=None):
150
+ """
151
+ Manages creation of the Feed within Azure DevOps organization.
152
+
153
+ ## Example Usage
154
+
155
+ ### Create Feed in the scope of whole Organization
156
+ ```python
157
+ import pulumi
158
+ import pulumi_azuredevops as azuredevops
159
+
160
+ example = azuredevops.Feed("example", name="releases")
161
+ ```
162
+
163
+ ### Create Feed in the scope of a Project
164
+ ```python
165
+ import pulumi
166
+ import pulumi_azuredevops as azuredevops
167
+
168
+ example = azuredevops.Project("example",
169
+ name="Example Project",
170
+ visibility="private",
171
+ version_control="Git",
172
+ work_item_template="Agile",
173
+ description="Managed by Pulumi")
174
+ example_feed = azuredevops.Feed("example",
175
+ name="releases",
176
+ project_id=example.id)
177
+ ```
178
+
179
+ ### Create Feed with Soft Delete
180
+ ```python
181
+ import pulumi
182
+ import pulumi_azuredevops as azuredevops
183
+
184
+ example = azuredevops.Feed("example",
185
+ name="releases",
186
+ features=[{
187
+ "permanent_delete": False,
188
+ }])
189
+ ```
190
+
191
+ ## Relevant Links
192
+
193
+ - [Azure DevOps Service REST API 7.0 - Feed Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/artifacts/feed-management?view=azure-devops-rest-7.0)
194
+
195
+ ## Import
196
+
197
+ Azure DevOps Feed can be imported using the Project ID and Feed ID or Feed ID e.g.:
198
+
199
+ ```sh
200
+ $ pulumi import azuredevops:index/feed:Feed example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
201
+ ```
202
+
203
+ or
204
+
205
+ ```sh
206
+ $ pulumi import azuredevops:index/feed:Feed example 00000000-0000-0000-0000-000000000000
207
+ ```
208
+
209
+ :param str resource_name: The name of the resource.
210
+ :param pulumi.ResourceOptions opts: Options for the resource.
211
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]] features: A `features` blocks as documented below.
212
+
213
+ > **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.
216
+ """
217
+ ...
218
+ @overload
219
+ def __init__(__self__,
220
+ resource_name: str,
221
+ args: Optional[FeedArgs] = None,
222
+ opts: Optional[pulumi.ResourceOptions] = None):
223
+ """
224
+ Manages creation of the Feed within Azure DevOps organization.
225
+
226
+ ## Example Usage
227
+
228
+ ### Create Feed in the scope of whole Organization
229
+ ```python
230
+ import pulumi
231
+ import pulumi_azuredevops as azuredevops
232
+
233
+ example = azuredevops.Feed("example", name="releases")
234
+ ```
235
+
236
+ ### Create Feed in the scope of a Project
237
+ ```python
238
+ import pulumi
239
+ import pulumi_azuredevops as azuredevops
240
+
241
+ example = azuredevops.Project("example",
242
+ name="Example Project",
243
+ visibility="private",
244
+ version_control="Git",
245
+ work_item_template="Agile",
246
+ description="Managed by Pulumi")
247
+ example_feed = azuredevops.Feed("example",
248
+ name="releases",
249
+ project_id=example.id)
250
+ ```
251
+
252
+ ### Create Feed with Soft Delete
253
+ ```python
254
+ import pulumi
255
+ import pulumi_azuredevops as azuredevops
256
+
257
+ example = azuredevops.Feed("example",
258
+ name="releases",
259
+ features=[{
260
+ "permanent_delete": False,
261
+ }])
262
+ ```
263
+
264
+ ## Relevant Links
265
+
266
+ - [Azure DevOps Service REST API 7.0 - Feed Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/artifacts/feed-management?view=azure-devops-rest-7.0)
267
+
268
+ ## Import
269
+
270
+ Azure DevOps Feed can be imported using the Project ID and Feed ID or Feed ID e.g.:
271
+
272
+ ```sh
273
+ $ pulumi import azuredevops:index/feed:Feed example 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000
274
+ ```
275
+
276
+ or
277
+
278
+ ```sh
279
+ $ pulumi import azuredevops:index/feed:Feed example 00000000-0000-0000-0000-000000000000
280
+ ```
281
+
282
+ :param str resource_name: The name of the resource.
283
+ :param FeedArgs args: The arguments to use to populate this resource's properties.
284
+ :param pulumi.ResourceOptions opts: Options for the resource.
285
+ """
286
+ ...
287
+ def __init__(__self__, resource_name: str, *args, **kwargs):
288
+ resource_args, opts = _utilities.get_resource_args_opts(FeedArgs, pulumi.ResourceOptions, *args, **kwargs)
289
+ if resource_args is not None:
290
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
291
+ else:
292
+ __self__._internal_init(resource_name, *args, **kwargs)
293
+
294
+ def _internal_init(__self__,
295
+ resource_name: str,
296
+ opts: Optional[pulumi.ResourceOptions] = None,
297
+ 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,
300
+ __props__=None):
301
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
302
+ if not isinstance(opts, pulumi.ResourceOptions):
303
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
304
+ if opts.id is None:
305
+ if __props__ is not None:
306
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
307
+ __props__ = FeedArgs.__new__(FeedArgs)
308
+
309
+ __props__.__dict__["features"] = features
310
+ __props__.__dict__["name"] = name
311
+ __props__.__dict__["project_id"] = project_id
312
+ super(Feed, __self__).__init__(
313
+ 'azuredevops:index/feed:Feed',
314
+ resource_name,
315
+ __props__,
316
+ opts)
317
+
318
+ @staticmethod
319
+ def get(resource_name: str,
320
+ id: pulumi.Input[str],
321
+ opts: Optional[pulumi.ResourceOptions] = None,
322
+ 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':
325
+ """
326
+ Get an existing Feed resource's state with the given name, id, and optional extra
327
+ properties used to qualify the lookup.
328
+
329
+ :param str resource_name: The unique name of the resulting resource.
330
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
331
+ :param pulumi.ResourceOptions opts: Options for the resource.
332
+ :param pulumi.Input[Sequence[pulumi.Input[Union['FeedFeatureArgs', 'FeedFeatureArgsDict']]]] features: A `features` blocks as documented below.
333
+
334
+ > **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.
337
+ """
338
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
339
+
340
+ __props__ = _FeedState.__new__(_FeedState)
341
+
342
+ __props__.__dict__["features"] = features
343
+ __props__.__dict__["name"] = name
344
+ __props__.__dict__["project_id"] = project_id
345
+ return Feed(resource_name, opts=opts, __props__=__props__)
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def features(self) -> pulumi.Output[Optional[Sequence['outputs.FeedFeature']]]:
350
+ """
351
+ A `features` blocks as documented below.
352
+
353
+ > **Note** *Because of ADO limitations feed name can be **reserved** for up to 15 minutes after permanent delete of the feed*
354
+ """
355
+ return pulumi.get(self, "features")
356
+
357
+ @property
358
+ @pulumi.getter
359
+ def name(self) -> pulumi.Output[str]:
360
+ """
361
+ The name of the Feed.
362
+ """
363
+ return pulumi.get(self, "name")
364
+
365
+ @property
366
+ @pulumi.getter(name="projectId")
367
+ def project_id(self) -> pulumi.Output[Optional[str]]:
368
+ """
369
+ The ID of the Project Feed is created in. If not specified, feed will be created at the organization level.
370
+ """
371
+ return pulumi.get(self, "project_id")
372
+