pulumi-azuredevops 3.1.0a1710568843__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 (139) hide show
  1. pulumi_azuredevops/__init__.py +96 -0
  2. pulumi_azuredevops/_inputs.py +1740 -108
  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 -69
  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 -198
  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 +19 -14
  17. pulumi_azuredevops/check_branch_control.py +109 -108
  18. pulumi_azuredevops/check_business_hours.py +109 -108
  19. pulumi_azuredevops/check_exclusive_lock.py +77 -28
  20. pulumi_azuredevops/check_required_template.py +66 -65
  21. pulumi_azuredevops/config/__init__.pyi +5 -0
  22. pulumi_azuredevops/config/vars.py +5 -0
  23. pulumi_azuredevops/elastic_pool.py +31 -26
  24. pulumi_azuredevops/environment.py +17 -10
  25. pulumi_azuredevops/environment_resource_kubernetes.py +198 -2
  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 +45 -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 -97
  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 -14
  62. pulumi_azuredevops/group_entitlement.py +5 -8
  63. pulumi_azuredevops/group_membership.py +57 -28
  64. pulumi_azuredevops/iterative_permissions.py +9 -6
  65. pulumi_azuredevops/library_permissions.py +7 -4
  66. pulumi_azuredevops/outputs.py +447 -54
  67. pulumi_azuredevops/pipeline_authorization.py +101 -47
  68. pulumi_azuredevops/pool.py +7 -4
  69. pulumi_azuredevops/project.py +19 -16
  70. pulumi_azuredevops/project_features.py +9 -6
  71. pulumi_azuredevops/project_permissions.py +9 -6
  72. pulumi_azuredevops/project_pipeline_settings.py +15 -12
  73. pulumi_azuredevops/provider.py +5 -40
  74. pulumi_azuredevops/pulumi-plugin.json +2 -1
  75. pulumi_azuredevops/queue.py +23 -22
  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 -112
  90. pulumi_azuredevops/service_endpoint_bit_bucket.py +19 -16
  91. pulumi_azuredevops/service_endpoint_docker_registry.py +17 -14
  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 -58
  95. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +26 -23
  96. pulumi_azuredevops/service_endpoint_git_lab.py +479 -0
  97. pulumi_azuredevops/service_endpoint_kubernetes.py +160 -15
  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 -6
  129. pulumi_azuredevops/variable_group.py +91 -86
  130. pulumi_azuredevops/variable_group_permissions.py +17 -12
  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-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/METADATA +7 -6
  136. pulumi_azuredevops-3.6.0a1736832240.dist-info/RECORD +140 -0
  137. {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/WHEEL +1 -1
  138. pulumi_azuredevops-3.1.0a1710568843.dist-info/RECORD +0 -124
  139. {pulumi_azuredevops-3.1.0a1710568843.dist-info → pulumi_azuredevops-3.6.0a1736832240.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['RepositoryPolicyReservedNamesArgs', 'RepositoryPolicyReservedNames']
@@ -171,46 +176,45 @@ class RepositoryPolicyReservedNames(pulumi.CustomResource):
171
176
 
172
177
  ## Example Usage
173
178
 
174
- <!--Start PulumiCodeChooser -->
175
179
  ```python
176
180
  import pulumi
177
181
  import pulumi_azuredevops as azuredevops
178
182
 
179
- example_project = azuredevops.Project("exampleProject",
183
+ example = azuredevops.Project("example",
184
+ name="Example Project",
180
185
  visibility="private",
181
186
  version_control="Git",
182
187
  work_item_template="Agile",
183
- description="Managed by Terraform")
184
- example_git = azuredevops.Git("exampleGit",
185
- project_id=example_project.id,
186
- initialization=azuredevops.GitInitializationArgs(
187
- init_type="Clean",
188
- ))
189
- example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("exampleRepositoryPolicyReservedNames",
190
- project_id=example_project.id,
188
+ description="Managed by Pulumi")
189
+ example_git = azuredevops.Git("example",
190
+ project_id=example.id,
191
+ name="Example Repository",
192
+ initialization={
193
+ "init_type": "Clean",
194
+ })
195
+ example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("example",
196
+ project_id=example.id,
191
197
  enabled=True,
192
198
  blocking=True,
193
199
  repository_ids=[example_git.id])
194
200
  ```
195
- <!--End PulumiCodeChooser -->
196
201
 
197
202
  # Set project level repository policy
198
- <!--Start PulumiCodeChooser -->
199
203
  ```python
200
204
  import pulumi
201
205
  import pulumi_azuredevops as azuredevops
202
206
 
203
- example_project = azuredevops.Project("exampleProject",
207
+ example = azuredevops.Project("example",
208
+ name="Example Project",
204
209
  visibility="private",
205
210
  version_control="Git",
206
211
  work_item_template="Agile",
207
- description="Managed by Terraform")
208
- example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("exampleRepositoryPolicyReservedNames",
209
- project_id=example_project.id,
212
+ description="Managed by Pulumi")
213
+ example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("example",
214
+ project_id=example.id,
210
215
  enabled=True,
211
216
  blocking=True)
212
217
  ```
213
- <!--End PulumiCodeChooser -->
214
218
 
215
219
  ## Relevant Links
216
220
 
@@ -244,46 +248,45 @@ class RepositoryPolicyReservedNames(pulumi.CustomResource):
244
248
 
245
249
  ## Example Usage
246
250
 
247
- <!--Start PulumiCodeChooser -->
248
251
  ```python
249
252
  import pulumi
250
253
  import pulumi_azuredevops as azuredevops
251
254
 
252
- example_project = azuredevops.Project("exampleProject",
255
+ example = azuredevops.Project("example",
256
+ name="Example Project",
253
257
  visibility="private",
254
258
  version_control="Git",
255
259
  work_item_template="Agile",
256
- description="Managed by Terraform")
257
- example_git = azuredevops.Git("exampleGit",
258
- project_id=example_project.id,
259
- initialization=azuredevops.GitInitializationArgs(
260
- init_type="Clean",
261
- ))
262
- example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("exampleRepositoryPolicyReservedNames",
263
- project_id=example_project.id,
260
+ description="Managed by Pulumi")
261
+ example_git = azuredevops.Git("example",
262
+ project_id=example.id,
263
+ name="Example Repository",
264
+ initialization={
265
+ "init_type": "Clean",
266
+ })
267
+ example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("example",
268
+ project_id=example.id,
264
269
  enabled=True,
265
270
  blocking=True,
266
271
  repository_ids=[example_git.id])
267
272
  ```
268
- <!--End PulumiCodeChooser -->
269
273
 
270
274
  # Set project level repository policy
271
- <!--Start PulumiCodeChooser -->
272
275
  ```python
273
276
  import pulumi
274
277
  import pulumi_azuredevops as azuredevops
275
278
 
276
- example_project = azuredevops.Project("exampleProject",
279
+ example = azuredevops.Project("example",
280
+ name="Example Project",
277
281
  visibility="private",
278
282
  version_control="Git",
279
283
  work_item_template="Agile",
280
- description="Managed by Terraform")
281
- example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("exampleRepositoryPolicyReservedNames",
282
- project_id=example_project.id,
284
+ description="Managed by Pulumi")
285
+ example_repository_policy_reserved_names = azuredevops.RepositoryPolicyReservedNames("example",
286
+ project_id=example.id,
283
287
  enabled=True,
284
288
  blocking=True)
285
289
  ```
286
- <!--End PulumiCodeChooser -->
287
290
 
288
291
  ## Relevant Links
289
292
 
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['ResourceAuthorizationArgs', 'ResourceAuthorization']
@@ -202,32 +207,31 @@ class ResourceAuthorization(pulumi.CustomResource):
202
207
 
203
208
  ## Example Usage
204
209
 
205
- <!--Start PulumiCodeChooser -->
206
210
  ```python
207
211
  import pulumi
208
212
  import pulumi_azuredevops as azuredevops
209
213
 
210
- example_project = azuredevops.Project("exampleProject",
214
+ example = azuredevops.Project("example",
215
+ name="Example Project",
211
216
  visibility="private",
212
217
  version_control="Git",
213
218
  work_item_template="Agile",
214
- description="Managed by Terraform")
215
- example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("exampleServiceEndpointBitBucket",
216
- project_id=example_project.id,
219
+ description="Managed by Pulumi")
220
+ example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("example",
221
+ project_id=example.id,
217
222
  username="username",
218
223
  password="password",
219
224
  service_endpoint_name="example-bitbucket",
220
- description="Managed by Terraform")
221
- example_resource_authorization = azuredevops.ResourceAuthorization("exampleResourceAuthorization",
222
- project_id=example_project.id,
225
+ description="Managed by Pulumi")
226
+ example_resource_authorization = azuredevops.ResourceAuthorization("example",
227
+ project_id=example.id,
223
228
  resource_id=example_service_endpoint_bit_bucket.id,
224
229
  authorized=True)
225
230
  ```
226
- <!--End PulumiCodeChooser -->
227
231
 
228
232
  ## Relevant Links
229
233
 
230
- - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](<https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%!d(MISSING)efinition%!r(MISSING)esources?view=azure-devops-rest-7.0>)
234
+ - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%20definition%20resources?view=azure-devops-rest-7.0)
231
235
 
232
236
  :param str resource_name: The name of the resource.
233
237
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -250,32 +254,31 @@ class ResourceAuthorization(pulumi.CustomResource):
250
254
 
251
255
  ## Example Usage
252
256
 
253
- <!--Start PulumiCodeChooser -->
254
257
  ```python
255
258
  import pulumi
256
259
  import pulumi_azuredevops as azuredevops
257
260
 
258
- example_project = azuredevops.Project("exampleProject",
261
+ example = azuredevops.Project("example",
262
+ name="Example Project",
259
263
  visibility="private",
260
264
  version_control="Git",
261
265
  work_item_template="Agile",
262
- description="Managed by Terraform")
263
- example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("exampleServiceEndpointBitBucket",
264
- project_id=example_project.id,
266
+ description="Managed by Pulumi")
267
+ example_service_endpoint_bit_bucket = azuredevops.ServiceEndpointBitBucket("example",
268
+ project_id=example.id,
265
269
  username="username",
266
270
  password="password",
267
271
  service_endpoint_name="example-bitbucket",
268
- description="Managed by Terraform")
269
- example_resource_authorization = azuredevops.ResourceAuthorization("exampleResourceAuthorization",
270
- project_id=example_project.id,
272
+ description="Managed by Pulumi")
273
+ example_resource_authorization = azuredevops.ResourceAuthorization("example",
274
+ project_id=example.id,
271
275
  resource_id=example_service_endpoint_bit_bucket.id,
272
276
  authorized=True)
273
277
  ```
274
- <!--End PulumiCodeChooser -->
275
278
 
276
279
  ## Relevant Links
277
280
 
278
- - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](<https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%!d(MISSING)efinition%!r(MISSING)esources?view=azure-devops-rest-7.0>)
281
+ - [Azure DevOps Service REST API 7.0 - Authorize Definition Resource](https://docs.microsoft.com/en-us/rest/api/azure/devops/build/resources/authorize%20definition%20resources?view=azure-devops-rest-7.0)
279
282
 
280
283
  :param str resource_name: The name of the resource.
281
284
  :param ResourceAuthorizationArgs args: The arguments to use to populate this resource's properties.
@@ -0,0 +1,295 @@
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__ = ['SecurityroleAssignmentArgs', 'SecurityroleAssignment']
18
+
19
+ @pulumi.input_type
20
+ class SecurityroleAssignmentArgs:
21
+ def __init__(__self__, *,
22
+ identity_id: pulumi.Input[str],
23
+ resource_id: pulumi.Input[str],
24
+ role_name: pulumi.Input[str],
25
+ scope: pulumi.Input[str]):
26
+ """
27
+ The set of arguments for constructing a SecurityroleAssignment resource.
28
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
29
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
30
+ :param pulumi.Input[str] role_name: Name of the role to assign.
31
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
32
+ """
33
+ pulumi.set(__self__, "identity_id", identity_id)
34
+ pulumi.set(__self__, "resource_id", resource_id)
35
+ pulumi.set(__self__, "role_name", role_name)
36
+ pulumi.set(__self__, "scope", scope)
37
+
38
+ @property
39
+ @pulumi.getter(name="identityId")
40
+ def identity_id(self) -> pulumi.Input[str]:
41
+ """
42
+ The ID of the identity to authorize.
43
+ """
44
+ return pulumi.get(self, "identity_id")
45
+
46
+ @identity_id.setter
47
+ def identity_id(self, value: pulumi.Input[str]):
48
+ pulumi.set(self, "identity_id", value)
49
+
50
+ @property
51
+ @pulumi.getter(name="resourceId")
52
+ def resource_id(self) -> pulumi.Input[str]:
53
+ """
54
+ The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
55
+ """
56
+ return pulumi.get(self, "resource_id")
57
+
58
+ @resource_id.setter
59
+ def resource_id(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "resource_id", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="roleName")
64
+ def role_name(self) -> pulumi.Input[str]:
65
+ """
66
+ Name of the role to assign.
67
+ """
68
+ return pulumi.get(self, "role_name")
69
+
70
+ @role_name.setter
71
+ def role_name(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "role_name", value)
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def scope(self) -> pulumi.Input[str]:
77
+ """
78
+ The scope in which this assignment should exist.
79
+ """
80
+ return pulumi.get(self, "scope")
81
+
82
+ @scope.setter
83
+ def scope(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "scope", value)
85
+
86
+
87
+ @pulumi.input_type
88
+ class _SecurityroleAssignmentState:
89
+ def __init__(__self__, *,
90
+ identity_id: Optional[pulumi.Input[str]] = None,
91
+ resource_id: Optional[pulumi.Input[str]] = None,
92
+ role_name: Optional[pulumi.Input[str]] = None,
93
+ scope: Optional[pulumi.Input[str]] = None):
94
+ """
95
+ Input properties used for looking up and filtering SecurityroleAssignment resources.
96
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
97
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
98
+ :param pulumi.Input[str] role_name: Name of the role to assign.
99
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
100
+ """
101
+ if identity_id is not None:
102
+ pulumi.set(__self__, "identity_id", identity_id)
103
+ if resource_id is not None:
104
+ pulumi.set(__self__, "resource_id", resource_id)
105
+ if role_name is not None:
106
+ pulumi.set(__self__, "role_name", role_name)
107
+ if scope is not None:
108
+ pulumi.set(__self__, "scope", scope)
109
+
110
+ @property
111
+ @pulumi.getter(name="identityId")
112
+ def identity_id(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ The ID of the identity to authorize.
115
+ """
116
+ return pulumi.get(self, "identity_id")
117
+
118
+ @identity_id.setter
119
+ def identity_id(self, value: Optional[pulumi.Input[str]]):
120
+ pulumi.set(self, "identity_id", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="resourceId")
124
+ def resource_id(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
127
+ """
128
+ return pulumi.get(self, "resource_id")
129
+
130
+ @resource_id.setter
131
+ def resource_id(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "resource_id", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="roleName")
136
+ def role_name(self) -> Optional[pulumi.Input[str]]:
137
+ """
138
+ Name of the role to assign.
139
+ """
140
+ return pulumi.get(self, "role_name")
141
+
142
+ @role_name.setter
143
+ def role_name(self, value: Optional[pulumi.Input[str]]):
144
+ pulumi.set(self, "role_name", value)
145
+
146
+ @property
147
+ @pulumi.getter
148
+ def scope(self) -> Optional[pulumi.Input[str]]:
149
+ """
150
+ The scope in which this assignment should exist.
151
+ """
152
+ return pulumi.get(self, "scope")
153
+
154
+ @scope.setter
155
+ def scope(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "scope", value)
157
+
158
+
159
+ class SecurityroleAssignment(pulumi.CustomResource):
160
+ @overload
161
+ def __init__(__self__,
162
+ resource_name: str,
163
+ opts: Optional[pulumi.ResourceOptions] = None,
164
+ identity_id: Optional[pulumi.Input[str]] = None,
165
+ resource_id: Optional[pulumi.Input[str]] = None,
166
+ role_name: Optional[pulumi.Input[str]] = None,
167
+ scope: Optional[pulumi.Input[str]] = None,
168
+ __props__=None):
169
+ """
170
+ Manages assignment of security roles to various resources within Azure DevOps organization.
171
+
172
+ :param str resource_name: The name of the resource.
173
+ :param pulumi.ResourceOptions opts: Options for the resource.
174
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
175
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
176
+ :param pulumi.Input[str] role_name: Name of the role to assign.
177
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
178
+ """
179
+ ...
180
+ @overload
181
+ def __init__(__self__,
182
+ resource_name: str,
183
+ args: SecurityroleAssignmentArgs,
184
+ opts: Optional[pulumi.ResourceOptions] = None):
185
+ """
186
+ Manages assignment of security roles to various resources within Azure DevOps organization.
187
+
188
+ :param str resource_name: The name of the resource.
189
+ :param SecurityroleAssignmentArgs args: The arguments to use to populate this resource's properties.
190
+ :param pulumi.ResourceOptions opts: Options for the resource.
191
+ """
192
+ ...
193
+ def __init__(__self__, resource_name: str, *args, **kwargs):
194
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityroleAssignmentArgs, pulumi.ResourceOptions, *args, **kwargs)
195
+ if resource_args is not None:
196
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
197
+ else:
198
+ __self__._internal_init(resource_name, *args, **kwargs)
199
+
200
+ def _internal_init(__self__,
201
+ resource_name: str,
202
+ opts: Optional[pulumi.ResourceOptions] = None,
203
+ identity_id: Optional[pulumi.Input[str]] = None,
204
+ resource_id: Optional[pulumi.Input[str]] = None,
205
+ role_name: Optional[pulumi.Input[str]] = None,
206
+ scope: Optional[pulumi.Input[str]] = None,
207
+ __props__=None):
208
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
209
+ if not isinstance(opts, pulumi.ResourceOptions):
210
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
211
+ if opts.id is None:
212
+ if __props__ is not None:
213
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
214
+ __props__ = SecurityroleAssignmentArgs.__new__(SecurityroleAssignmentArgs)
215
+
216
+ if identity_id is None and not opts.urn:
217
+ raise TypeError("Missing required property 'identity_id'")
218
+ __props__.__dict__["identity_id"] = identity_id
219
+ if resource_id is None and not opts.urn:
220
+ raise TypeError("Missing required property 'resource_id'")
221
+ __props__.__dict__["resource_id"] = resource_id
222
+ if role_name is None and not opts.urn:
223
+ raise TypeError("Missing required property 'role_name'")
224
+ __props__.__dict__["role_name"] = role_name
225
+ if scope is None and not opts.urn:
226
+ raise TypeError("Missing required property 'scope'")
227
+ __props__.__dict__["scope"] = scope
228
+ super(SecurityroleAssignment, __self__).__init__(
229
+ 'azuredevops:index/securityroleAssignment:SecurityroleAssignment',
230
+ resource_name,
231
+ __props__,
232
+ opts)
233
+
234
+ @staticmethod
235
+ def get(resource_name: str,
236
+ id: pulumi.Input[str],
237
+ opts: Optional[pulumi.ResourceOptions] = None,
238
+ identity_id: Optional[pulumi.Input[str]] = None,
239
+ resource_id: Optional[pulumi.Input[str]] = None,
240
+ role_name: Optional[pulumi.Input[str]] = None,
241
+ scope: Optional[pulumi.Input[str]] = None) -> 'SecurityroleAssignment':
242
+ """
243
+ Get an existing SecurityroleAssignment resource's state with the given name, id, and optional extra
244
+ properties used to qualify the lookup.
245
+
246
+ :param str resource_name: The unique name of the resulting resource.
247
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
248
+ :param pulumi.ResourceOptions opts: Options for the resource.
249
+ :param pulumi.Input[str] identity_id: The ID of the identity to authorize.
250
+ :param pulumi.Input[str] resource_id: The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
251
+ :param pulumi.Input[str] role_name: Name of the role to assign.
252
+ :param pulumi.Input[str] scope: The scope in which this assignment should exist.
253
+ """
254
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
255
+
256
+ __props__ = _SecurityroleAssignmentState.__new__(_SecurityroleAssignmentState)
257
+
258
+ __props__.__dict__["identity_id"] = identity_id
259
+ __props__.__dict__["resource_id"] = resource_id
260
+ __props__.__dict__["role_name"] = role_name
261
+ __props__.__dict__["scope"] = scope
262
+ return SecurityroleAssignment(resource_name, opts=opts, __props__=__props__)
263
+
264
+ @property
265
+ @pulumi.getter(name="identityId")
266
+ def identity_id(self) -> pulumi.Output[str]:
267
+ """
268
+ The ID of the identity to authorize.
269
+ """
270
+ return pulumi.get(self, "identity_id")
271
+
272
+ @property
273
+ @pulumi.getter(name="resourceId")
274
+ def resource_id(self) -> pulumi.Output[str]:
275
+ """
276
+ The ID of the resource on which the role is to be assigned. Changing this forces a new resource to be created.
277
+ """
278
+ return pulumi.get(self, "resource_id")
279
+
280
+ @property
281
+ @pulumi.getter(name="roleName")
282
+ def role_name(self) -> pulumi.Output[str]:
283
+ """
284
+ Name of the role to assign.
285
+ """
286
+ return pulumi.get(self, "role_name")
287
+
288
+ @property
289
+ @pulumi.getter
290
+ def scope(self) -> pulumi.Output[str]:
291
+ """
292
+ The scope in which this assignment should exist.
293
+ """
294
+ return pulumi.get(self, "scope")
295
+