pulumi-azuredevops 3.6.0a1737523387__py3-none-any.whl → 3.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. pulumi_azuredevops/__init__.py +76 -0
  2. pulumi_azuredevops/_inputs.py +120 -117
  3. pulumi_azuredevops/_utilities.py +8 -4
  4. pulumi_azuredevops/area_permissions.py +49 -49
  5. pulumi_azuredevops/branch_policy_auto_reviewers.py +7 -7
  6. pulumi_azuredevops/branch_policy_build_validation.py +7 -7
  7. pulumi_azuredevops/branch_policy_comment_resolution.py +7 -7
  8. pulumi_azuredevops/branch_policy_merge_types.py +7 -7
  9. pulumi_azuredevops/branch_policy_status_check.py +7 -7
  10. pulumi_azuredevops/branch_policy_work_item_linking.py +7 -7
  11. pulumi_azuredevops/build_definition.py +7 -7
  12. pulumi_azuredevops/check_branch_control.py +7 -7
  13. pulumi_azuredevops/check_business_hours.py +7 -7
  14. pulumi_azuredevops/check_exclusive_lock.py +7 -7
  15. pulumi_azuredevops/check_rest_api.py +986 -0
  16. pulumi_azuredevops/dashboard.py +475 -0
  17. pulumi_azuredevops/feed.py +8 -8
  18. pulumi_azuredevops/feed_permission.py +9 -9
  19. pulumi_azuredevops/feed_retention_policy.py +400 -0
  20. pulumi_azuredevops/get_agent_queue.py +2 -2
  21. pulumi_azuredevops/get_area.py +1 -1
  22. pulumi_azuredevops/get_client_config.py +3 -0
  23. pulumi_azuredevops/get_descriptor.py +133 -0
  24. pulumi_azuredevops/get_feed.py +4 -4
  25. pulumi_azuredevops/get_git_repository.py +8 -8
  26. pulumi_azuredevops/get_group.py +4 -4
  27. pulumi_azuredevops/get_groups.py +3 -3
  28. pulumi_azuredevops/get_identity_group.py +23 -6
  29. pulumi_azuredevops/get_identity_groups.py +3 -3
  30. pulumi_azuredevops/get_identity_users.py +23 -9
  31. pulumi_azuredevops/get_pool.py +14 -2
  32. pulumi_azuredevops/get_pools.py +3 -3
  33. pulumi_azuredevops/get_project.py +32 -0
  34. pulumi_azuredevops/get_projects.py +4 -4
  35. pulumi_azuredevops/get_repositories.py +7 -3
  36. pulumi_azuredevops/get_securityrole_definitions.py +4 -4
  37. pulumi_azuredevops/get_service_endpoint_azure_rm.py +5 -5
  38. pulumi_azuredevops/get_service_endpoint_github.py +6 -6
  39. pulumi_azuredevops/get_service_principal.py +153 -0
  40. pulumi_azuredevops/get_serviceendpoint_azurecr.py +1 -1
  41. pulumi_azuredevops/get_serviceendpoint_bitbucket.py +6 -6
  42. pulumi_azuredevops/get_serviceendpoint_npm.py +3 -3
  43. pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +2 -2
  44. pulumi_azuredevops/get_storage_key.py +133 -0
  45. pulumi_azuredevops/get_team.py +4 -3
  46. pulumi_azuredevops/get_teams.py +2 -3
  47. pulumi_azuredevops/get_user.py +193 -0
  48. pulumi_azuredevops/get_users.py +5 -9
  49. pulumi_azuredevops/git.py +7 -7
  50. pulumi_azuredevops/git_permissions.py +14 -21
  51. pulumi_azuredevops/git_repository_file.py +7 -14
  52. pulumi_azuredevops/group.py +21 -7
  53. pulumi_azuredevops/group_entitlement.py +16 -20
  54. pulumi_azuredevops/group_membership.py +35 -50
  55. pulumi_azuredevops/iterative_permissions.py +34 -34
  56. pulumi_azuredevops/library_permissions.py +75 -75
  57. pulumi_azuredevops/outputs.py +141 -103
  58. pulumi_azuredevops/pipeline_authorization.py +7 -7
  59. pulumi_azuredevops/pool.py +4 -4
  60. pulumi_azuredevops/project.py +114 -63
  61. pulumi_azuredevops/project_features.py +87 -45
  62. pulumi_azuredevops/project_permissions.py +7 -7
  63. pulumi_azuredevops/project_pipeline_settings.py +28 -35
  64. pulumi_azuredevops/project_tags.py +263 -0
  65. pulumi_azuredevops/pulumi-plugin.json +1 -1
  66. pulumi_azuredevops/queue.py +7 -14
  67. pulumi_azuredevops/repository_policy_author_email_pattern.py +21 -14
  68. pulumi_azuredevops/repository_policy_max_file_size.py +7 -7
  69. pulumi_azuredevops/resource_authorization.py +35 -35
  70. pulumi_azuredevops/service_endpoint_artifactory.py +25 -33
  71. pulumi_azuredevops/service_endpoint_aws.py +3 -17
  72. pulumi_azuredevops/service_endpoint_azure_dev_ops.py +1 -15
  73. pulumi_azuredevops/service_endpoint_azure_ecr.py +14 -30
  74. pulumi_azuredevops/service_endpoint_azure_rm.py +26 -40
  75. pulumi_azuredevops/service_endpoint_bit_bucket.py +3 -17
  76. pulumi_azuredevops/service_endpoint_docker_registry.py +3 -17
  77. pulumi_azuredevops/service_endpoint_generic.py +3 -17
  78. pulumi_azuredevops/service_endpoint_generic_git.py +5 -23
  79. pulumi_azuredevops/service_endpoint_git_hub.py +16 -17
  80. pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +16 -17
  81. pulumi_azuredevops/service_endpoint_git_lab.py +1 -15
  82. pulumi_azuredevops/service_endpoint_kubernetes.py +24 -38
  83. pulumi_azuredevops/service_endpoint_npm.py +5 -19
  84. pulumi_azuredevops/service_endpoint_pipeline.py +5 -19
  85. pulumi_azuredevops/service_endpoint_service_fabric.py +49 -24
  86. pulumi_azuredevops/service_endpoint_sonar_cloud.py +12 -26
  87. pulumi_azuredevops/service_endpoint_sonar_qube.py +12 -26
  88. pulumi_azuredevops/service_endpoint_ssh.py +3 -21
  89. pulumi_azuredevops/service_principal_entitlement.py +386 -0
  90. pulumi_azuredevops/serviceendpoint_argocd.py +3 -17
  91. pulumi_azuredevops/serviceendpoint_azure_service_bus.py +3 -17
  92. pulumi_azuredevops/serviceendpoint_checkmarx_one.py +613 -0
  93. pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +561 -0
  94. pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +660 -0
  95. pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +3 -17
  96. pulumi_azuredevops/serviceendpoint_externaltfs.py +64 -26
  97. pulumi_azuredevops/serviceendpoint_gcp_terraform.py +3 -17
  98. pulumi_azuredevops/serviceendpoint_incomingwebhook.py +3 -17
  99. pulumi_azuredevops/serviceendpoint_jenkins.py +3 -17
  100. pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +19 -33
  101. pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +19 -33
  102. pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +19 -33
  103. pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +19 -33
  104. pulumi_azuredevops/serviceendpoint_maven.py +3 -17
  105. pulumi_azuredevops/serviceendpoint_nexus.py +3 -17
  106. pulumi_azuredevops/serviceendpoint_nuget.py +3 -17
  107. pulumi_azuredevops/serviceendpoint_octopusdeploy.py +3 -17
  108. pulumi_azuredevops/serviceendpoint_permissions.py +40 -40
  109. pulumi_azuredevops/serviceendpoint_snyk.py +3 -17
  110. pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +5 -21
  111. pulumi_azuredevops/servicehook_permissions.py +51 -51
  112. pulumi_azuredevops/servicehook_storage_queue_pipelines.py +4 -4
  113. pulumi_azuredevops/tagging_permissions.py +49 -49
  114. pulumi_azuredevops/team.py +76 -56
  115. pulumi_azuredevops/team_administrators.py +83 -56
  116. pulumi_azuredevops/team_members.py +56 -49
  117. pulumi_azuredevops/variable_group.py +4 -2
  118. pulumi_azuredevops/variable_group_permissions.py +75 -75
  119. pulumi_azuredevops/wiki.py +15 -2
  120. pulumi_azuredevops/wiki_page.py +2 -2
  121. pulumi_azuredevops/work_item_query_permissions.py +7 -7
  122. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.7.0.dist-info}/METADATA +1 -1
  123. pulumi_azuredevops-3.7.0.dist-info/RECORD +152 -0
  124. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.7.0.dist-info}/WHEEL +1 -1
  125. pulumi_azuredevops-3.6.0a1737523387.dist-info/RECORD +0 -140
  126. {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.7.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,153 @@
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__ = [
18
+ 'GetServicePrincipalResult',
19
+ 'AwaitableGetServicePrincipalResult',
20
+ 'get_service_principal',
21
+ 'get_service_principal_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetServicePrincipalResult:
26
+ """
27
+ A collection of values returned by getServicePrincipal.
28
+ """
29
+ def __init__(__self__, descriptor=None, display_name=None, id=None, origin=None, origin_id=None):
30
+ if descriptor and not isinstance(descriptor, str):
31
+ raise TypeError("Expected argument 'descriptor' to be a str")
32
+ pulumi.set(__self__, "descriptor", descriptor)
33
+ if display_name and not isinstance(display_name, str):
34
+ raise TypeError("Expected argument 'display_name' to be a str")
35
+ pulumi.set(__self__, "display_name", display_name)
36
+ if id and not isinstance(id, str):
37
+ raise TypeError("Expected argument 'id' to be a str")
38
+ pulumi.set(__self__, "id", id)
39
+ if origin and not isinstance(origin, str):
40
+ raise TypeError("Expected argument 'origin' to be a str")
41
+ pulumi.set(__self__, "origin", origin)
42
+ if origin_id and not isinstance(origin_id, str):
43
+ raise TypeError("Expected argument 'origin_id' to be a str")
44
+ pulumi.set(__self__, "origin_id", origin_id)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def descriptor(self) -> str:
49
+ """
50
+ The descriptor of the Service Principal.
51
+ """
52
+ return pulumi.get(self, "descriptor")
53
+
54
+ @property
55
+ @pulumi.getter(name="displayName")
56
+ def display_name(self) -> str:
57
+ return pulumi.get(self, "display_name")
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def id(self) -> str:
62
+ """
63
+ The provider-assigned unique ID for this managed resource.
64
+ """
65
+ return pulumi.get(self, "id")
66
+
67
+ @property
68
+ @pulumi.getter
69
+ def origin(self) -> str:
70
+ """
71
+ The origin of the Service Principal.
72
+ """
73
+ return pulumi.get(self, "origin")
74
+
75
+ @property
76
+ @pulumi.getter(name="originId")
77
+ def origin_id(self) -> str:
78
+ """
79
+ The origin ID of the Service Principal..
80
+ """
81
+ return pulumi.get(self, "origin_id")
82
+
83
+
84
+ class AwaitableGetServicePrincipalResult(GetServicePrincipalResult):
85
+ # pylint: disable=using-constant-test
86
+ def __await__(self):
87
+ if False:
88
+ yield self
89
+ return GetServicePrincipalResult(
90
+ descriptor=self.descriptor,
91
+ display_name=self.display_name,
92
+ id=self.id,
93
+ origin=self.origin,
94
+ origin_id=self.origin_id)
95
+
96
+
97
+ def get_service_principal(display_name: Optional[str] = None,
98
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServicePrincipalResult:
99
+ """
100
+ Use this data source to access information about an existing Service Principal.
101
+
102
+ ## Example Usage
103
+
104
+ ```python
105
+ import pulumi
106
+ import pulumi_azuredevops as azuredevops
107
+
108
+ example = azuredevops.get_service_principal(display_name="existing")
109
+ pulumi.export("id", example.id)
110
+ ```
111
+
112
+
113
+ :param str display_name: The Display Name of the Service Principal. Changing this forces a new Service Principal to be created.
114
+ """
115
+ __args__ = dict()
116
+ __args__['displayName'] = display_name
117
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
118
+ __ret__ = pulumi.runtime.invoke('azuredevops:index/getServicePrincipal:getServicePrincipal', __args__, opts=opts, typ=GetServicePrincipalResult).value
119
+
120
+ return AwaitableGetServicePrincipalResult(
121
+ descriptor=pulumi.get(__ret__, 'descriptor'),
122
+ display_name=pulumi.get(__ret__, 'display_name'),
123
+ id=pulumi.get(__ret__, 'id'),
124
+ origin=pulumi.get(__ret__, 'origin'),
125
+ origin_id=pulumi.get(__ret__, 'origin_id'))
126
+ def get_service_principal_output(display_name: Optional[pulumi.Input[str]] = None,
127
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServicePrincipalResult]:
128
+ """
129
+ Use this data source to access information about an existing Service Principal.
130
+
131
+ ## Example Usage
132
+
133
+ ```python
134
+ import pulumi
135
+ import pulumi_azuredevops as azuredevops
136
+
137
+ example = azuredevops.get_service_principal(display_name="existing")
138
+ pulumi.export("id", example.id)
139
+ ```
140
+
141
+
142
+ :param str display_name: The Display Name of the Service Principal. Changing this forces a new Service Principal to be created.
143
+ """
144
+ __args__ = dict()
145
+ __args__['displayName'] = display_name
146
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
147
+ __ret__ = pulumi.runtime.invoke_output('azuredevops:index/getServicePrincipal:getServicePrincipal', __args__, opts=opts, typ=GetServicePrincipalResult)
148
+ return __ret__.apply(lambda __response__: GetServicePrincipalResult(
149
+ descriptor=pulumi.get(__response__, 'descriptor'),
150
+ display_name=pulumi.get(__response__, 'display_name'),
151
+ id=pulumi.get(__response__, 'id'),
152
+ origin=pulumi.get(__response__, 'origin'),
153
+ origin_id=pulumi.get(__response__, 'origin_id')))
@@ -88,7 +88,7 @@ class GetServiceendpointAzurecrResult:
88
88
  @pulumi.getter
89
89
  def authorization(self) -> Mapping[str, str]:
90
90
  """
91
- Specifies the Authorization Scheme Map.
91
+ The Authorization scheme.
92
92
  """
93
93
  return pulumi.get(self, "authorization")
94
94
 
@@ -50,7 +50,7 @@ class GetServiceendpointBitbucketResult:
50
50
  @pulumi.getter
51
51
  def authorization(self) -> Mapping[str, str]:
52
52
  """
53
- Specifies the Authorization Scheme Map.
53
+ The Authorization scheme.
54
54
  """
55
55
  return pulumi.get(self, "authorization")
56
56
 
@@ -58,7 +58,7 @@ class GetServiceendpointBitbucketResult:
58
58
  @pulumi.getter
59
59
  def description(self) -> str:
60
60
  """
61
- Specifies the description of the Service Endpoint.
61
+ The description of the Service Endpoint.
62
62
  """
63
63
  return pulumi.get(self, "description")
64
64
 
@@ -142,8 +142,8 @@ def get_serviceendpoint_bitbucket(project_id: Optional[str] = None,
142
142
  :param str service_endpoint_id: the ID of the Service Endpoint.
143
143
  :param str service_endpoint_name: the Name of the Service Endpoint.
144
144
 
145
- > **NOTE:** One of either `service_endpoint_id` or `service_endpoint_name` must be specified.
146
- > **NOTE:** When supplying `service_endpoint_name`, take care to ensure that this is a unique name.
145
+ > **NOTE:** 1. One of either `service_endpoint_id` or `service_endpoint_name` must be specified.
146
+ <br>2. When supplying `service_endpoint_name`, take care to ensure that this is a unique name.
147
147
  """
148
148
  __args__ = dict()
149
149
  __args__['projectId'] = project_id
@@ -201,8 +201,8 @@ def get_serviceendpoint_bitbucket_output(project_id: Optional[pulumi.Input[str]]
201
201
  :param str service_endpoint_id: the ID of the Service Endpoint.
202
202
  :param str service_endpoint_name: the Name of the Service Endpoint.
203
203
 
204
- > **NOTE:** One of either `service_endpoint_id` or `service_endpoint_name` must be specified.
205
- > **NOTE:** When supplying `service_endpoint_name`, take care to ensure that this is a unique name.
204
+ > **NOTE:** 1. One of either `service_endpoint_id` or `service_endpoint_name` must be specified.
205
+ <br>2. When supplying `service_endpoint_name`, take care to ensure that this is a unique name.
206
206
  """
207
207
  __args__ = dict()
208
208
  __args__['projectId'] = project_id
@@ -53,7 +53,7 @@ class GetServiceendpointNpmResult:
53
53
  @pulumi.getter
54
54
  def authorization(self) -> Mapping[str, str]:
55
55
  """
56
- Specifies the Authorization Scheme Map.
56
+ The Authorization scheme.
57
57
  """
58
58
  return pulumi.get(self, "authorization")
59
59
 
@@ -61,7 +61,7 @@ class GetServiceendpointNpmResult:
61
61
  @pulumi.getter
62
62
  def description(self) -> str:
63
63
  """
64
- Specifies the description of the Service Endpoint.
64
+ The description of the Service Endpoint.
65
65
  """
66
66
  return pulumi.get(self, "description")
67
67
 
@@ -92,7 +92,7 @@ class GetServiceendpointNpmResult:
92
92
  @pulumi.getter
93
93
  def url(self) -> str:
94
94
  """
95
- Specifies the URL of the npm registry to connect with.
95
+ The URL of the NPM registry to connect with.
96
96
  """
97
97
  return pulumi.get(self, "url")
98
98
 
@@ -50,7 +50,7 @@ class GetServiceendpointSonarcloudResult:
50
50
  @pulumi.getter
51
51
  def authorization(self) -> Mapping[str, str]:
52
52
  """
53
- Specifies the Authorization Scheme Map.
53
+ The Authorization scheme.
54
54
  """
55
55
  return pulumi.get(self, "authorization")
56
56
 
@@ -58,7 +58,7 @@ class GetServiceendpointSonarcloudResult:
58
58
  @pulumi.getter
59
59
  def description(self) -> str:
60
60
  """
61
- Specifies the description of the Service Endpoint.
61
+ The description of the Service Endpoint.
62
62
  """
63
63
  return pulumi.get(self, "description")
64
64
 
@@ -0,0 +1,133 @@
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__ = [
18
+ 'GetStorageKeyResult',
19
+ 'AwaitableGetStorageKeyResult',
20
+ 'get_storage_key',
21
+ 'get_storage_key_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetStorageKeyResult:
26
+ """
27
+ A collection of values returned by getStorageKey.
28
+ """
29
+ def __init__(__self__, descriptor=None, id=None, storage_key=None):
30
+ if descriptor and not isinstance(descriptor, str):
31
+ raise TypeError("Expected argument 'descriptor' to be a str")
32
+ pulumi.set(__self__, "descriptor", descriptor)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if storage_key and not isinstance(storage_key, str):
37
+ raise TypeError("Expected argument 'storage_key' to be a str")
38
+ pulumi.set(__self__, "storage_key", storage_key)
39
+
40
+ @property
41
+ @pulumi.getter
42
+ def descriptor(self) -> str:
43
+ return pulumi.get(self, "descriptor")
44
+
45
+ @property
46
+ @pulumi.getter
47
+ def id(self) -> str:
48
+ """
49
+ The provider-assigned unique ID for this managed resource.
50
+ """
51
+ return pulumi.get(self, "id")
52
+
53
+ @property
54
+ @pulumi.getter(name="storageKey")
55
+ def storage_key(self) -> str:
56
+ """
57
+ The Storage Key of the descriptor.
58
+ """
59
+ return pulumi.get(self, "storage_key")
60
+
61
+
62
+ class AwaitableGetStorageKeyResult(GetStorageKeyResult):
63
+ # pylint: disable=using-constant-test
64
+ def __await__(self):
65
+ if False:
66
+ yield self
67
+ return GetStorageKeyResult(
68
+ descriptor=self.descriptor,
69
+ id=self.id,
70
+ storage_key=self.storage_key)
71
+
72
+
73
+ def get_storage_key(descriptor: Optional[str] = None,
74
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStorageKeyResult:
75
+ """
76
+ Use this data source to access information about an existing Storage Key.
77
+
78
+ ## Example Usage
79
+
80
+ ```python
81
+ import pulumi
82
+ import pulumi_azuredevops as azuredevops
83
+
84
+ example = azuredevops.get_storage_key(descriptor="aad.000000000000000000000000000000000000")
85
+ pulumi.export("id", example.id)
86
+ ```
87
+
88
+ ## Relevant Links
89
+
90
+ - [Azure DevOps Service REST API 7.1 - Storage Key - Get](https://learn.microsoft.com/en-us/rest/api/azure/devops/graph/storage-keys/get?view=azure-devops-rest-7.1)
91
+
92
+
93
+ :param str descriptor: The descriptor that will be resolved to a storage key.
94
+ """
95
+ __args__ = dict()
96
+ __args__['descriptor'] = descriptor
97
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
98
+ __ret__ = pulumi.runtime.invoke('azuredevops:index/getStorageKey:getStorageKey', __args__, opts=opts, typ=GetStorageKeyResult).value
99
+
100
+ return AwaitableGetStorageKeyResult(
101
+ descriptor=pulumi.get(__ret__, 'descriptor'),
102
+ id=pulumi.get(__ret__, 'id'),
103
+ storage_key=pulumi.get(__ret__, 'storage_key'))
104
+ def get_storage_key_output(descriptor: Optional[pulumi.Input[str]] = None,
105
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStorageKeyResult]:
106
+ """
107
+ Use this data source to access information about an existing Storage Key.
108
+
109
+ ## Example Usage
110
+
111
+ ```python
112
+ import pulumi
113
+ import pulumi_azuredevops as azuredevops
114
+
115
+ example = azuredevops.get_storage_key(descriptor="aad.000000000000000000000000000000000000")
116
+ pulumi.export("id", example.id)
117
+ ```
118
+
119
+ ## Relevant Links
120
+
121
+ - [Azure DevOps Service REST API 7.1 - Storage Key - Get](https://learn.microsoft.com/en-us/rest/api/azure/devops/graph/storage-keys/get?view=azure-devops-rest-7.1)
122
+
123
+
124
+ :param str descriptor: The descriptor that will be resolved to a storage key.
125
+ """
126
+ __args__ = dict()
127
+ __args__['descriptor'] = descriptor
128
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
129
+ __ret__ = pulumi.runtime.invoke_output('azuredevops:index/getStorageKey:getStorageKey', __args__, opts=opts, typ=GetStorageKeyResult)
130
+ return __ret__.apply(lambda __response__: GetStorageKeyResult(
131
+ descriptor=pulumi.get(__response__, 'descriptor'),
132
+ id=pulumi.get(__response__, 'id'),
133
+ storage_key=pulumi.get(__response__, 'storage_key')))
@@ -64,7 +64,7 @@ class GetTeamResult:
64
64
  @pulumi.getter
65
65
  def description(self) -> str:
66
66
  """
67
- Team description.
67
+ The description of the team.
68
68
  """
69
69
  return pulumi.get(self, "description")
70
70
 
@@ -104,6 +104,7 @@ class GetTeamResult:
104
104
 
105
105
  @property
106
106
  @pulumi.getter
107
+ @_utilities.deprecated("""This property is deprecated and will be removed in the feature""")
107
108
  def top(self) -> Optional[int]:
108
109
  return pulumi.get(self, "top")
109
110
 
@@ -158,7 +159,7 @@ def get_team(name: Optional[str] = None,
158
159
 
159
160
  :param str name: The name of the Team.
160
161
  :param str project_id: The Project ID.
161
- :param int top: The maximum number of teams to return. Defaults to `100`.
162
+ :param int top: The maximum number of teams to return. Defaults to `100`. This property is deprecated and will be removed in the feature
162
163
  """
163
164
  __args__ = dict()
164
165
  __args__['name'] = name
@@ -210,7 +211,7 @@ def get_team_output(name: Optional[pulumi.Input[str]] = None,
210
211
 
211
212
  :param str name: The name of the Team.
212
213
  :param str project_id: The Project ID.
213
- :param int top: The maximum number of teams to return. Defaults to `100`.
214
+ :param int top: The maximum number of teams to return. Defaults to `100`. This property is deprecated and will be removed in the feature
214
215
  """
215
216
  __args__ = dict()
216
217
  __args__['name'] = name
@@ -53,8 +53,7 @@ class GetTeamsResult:
53
53
  @pulumi.getter(name="projectId")
54
54
  def project_id(self) -> Optional[str]:
55
55
  """
56
- Project identifier.
57
- - `id - Team identifier
56
+ The ID of the Project.
58
57
  """
59
58
  return pulumi.get(self, "project_id")
60
59
 
@@ -62,7 +61,7 @@ class GetTeamsResult:
62
61
  @pulumi.getter
63
62
  def teams(self) -> Sequence['outputs.GetTeamsTeamResult']:
64
63
  """
65
- A list of existing projects in your Azure DevOps Organization with details about every project which includes:
64
+ A list of `teams` blocks as documented below. A list of existing projects in your Azure DevOps Organization with details about every project which includes:
66
65
  """
67
66
  return pulumi.get(self, "teams")
68
67
 
@@ -0,0 +1,193 @@
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__ = [
18
+ 'GetUserResult',
19
+ 'AwaitableGetUserResult',
20
+ 'get_user',
21
+ 'get_user_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetUserResult:
26
+ """
27
+ A collection of values returned by getUser.
28
+ """
29
+ def __init__(__self__, descriptor=None, display_name=None, domain=None, id=None, mail_address=None, origin=None, origin_id=None, principal_name=None, subject_kind=None):
30
+ if descriptor and not isinstance(descriptor, str):
31
+ raise TypeError("Expected argument 'descriptor' to be a str")
32
+ pulumi.set(__self__, "descriptor", descriptor)
33
+ if display_name and not isinstance(display_name, str):
34
+ raise TypeError("Expected argument 'display_name' to be a str")
35
+ pulumi.set(__self__, "display_name", display_name)
36
+ if domain and not isinstance(domain, str):
37
+ raise TypeError("Expected argument 'domain' to be a str")
38
+ pulumi.set(__self__, "domain", domain)
39
+ if id and not isinstance(id, str):
40
+ raise TypeError("Expected argument 'id' to be a str")
41
+ pulumi.set(__self__, "id", id)
42
+ if mail_address and not isinstance(mail_address, str):
43
+ raise TypeError("Expected argument 'mail_address' to be a str")
44
+ pulumi.set(__self__, "mail_address", mail_address)
45
+ if origin and not isinstance(origin, str):
46
+ raise TypeError("Expected argument 'origin' to be a str")
47
+ pulumi.set(__self__, "origin", origin)
48
+ if origin_id and not isinstance(origin_id, str):
49
+ raise TypeError("Expected argument 'origin_id' to be a str")
50
+ pulumi.set(__self__, "origin_id", origin_id)
51
+ if principal_name and not isinstance(principal_name, str):
52
+ raise TypeError("Expected argument 'principal_name' to be a str")
53
+ pulumi.set(__self__, "principal_name", principal_name)
54
+ if subject_kind and not isinstance(subject_kind, str):
55
+ raise TypeError("Expected argument 'subject_kind' to be a str")
56
+ pulumi.set(__self__, "subject_kind", subject_kind)
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def descriptor(self) -> str:
61
+ return pulumi.get(self, "descriptor")
62
+
63
+ @property
64
+ @pulumi.getter(name="displayName")
65
+ def display_name(self) -> str:
66
+ """
67
+ The display name of the User.
68
+ """
69
+ return pulumi.get(self, "display_name")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def domain(self) -> str:
74
+ """
75
+ The domain of the user.
76
+ """
77
+ return pulumi.get(self, "domain")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def id(self) -> str:
82
+ """
83
+ The provider-assigned unique ID for this managed resource.
84
+ """
85
+ return pulumi.get(self, "id")
86
+
87
+ @property
88
+ @pulumi.getter(name="mailAddress")
89
+ def mail_address(self) -> str:
90
+ """
91
+ The email address of the user.
92
+ """
93
+ return pulumi.get(self, "mail_address")
94
+
95
+ @property
96
+ @pulumi.getter
97
+ def origin(self) -> str:
98
+ """
99
+ The type of source provider for the origin identifier (ex:`AD`, `AAD`, `MSA`).
100
+ """
101
+ return pulumi.get(self, "origin")
102
+
103
+ @property
104
+ @pulumi.getter(name="originId")
105
+ def origin_id(self) -> str:
106
+ """
107
+ The origin ID of the user.
108
+ """
109
+ return pulumi.get(self, "origin_id")
110
+
111
+ @property
112
+ @pulumi.getter(name="principalName")
113
+ def principal_name(self) -> str:
114
+ """
115
+ The principal name of the user.
116
+ """
117
+ return pulumi.get(self, "principal_name")
118
+
119
+ @property
120
+ @pulumi.getter(name="subjectKind")
121
+ def subject_kind(self) -> str:
122
+ """
123
+ The subject kind of the user (ex: `Group`, `Scope`, `User`).
124
+ """
125
+ return pulumi.get(self, "subject_kind")
126
+
127
+
128
+ class AwaitableGetUserResult(GetUserResult):
129
+ # pylint: disable=using-constant-test
130
+ def __await__(self):
131
+ if False:
132
+ yield self
133
+ return GetUserResult(
134
+ descriptor=self.descriptor,
135
+ display_name=self.display_name,
136
+ domain=self.domain,
137
+ id=self.id,
138
+ mail_address=self.mail_address,
139
+ origin=self.origin,
140
+ origin_id=self.origin_id,
141
+ principal_name=self.principal_name,
142
+ subject_kind=self.subject_kind)
143
+
144
+
145
+ def get_user(descriptor: Optional[str] = None,
146
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUserResult:
147
+ """
148
+ Use this data source to access information about an existing user within Azure DevOps.
149
+
150
+ ~>**NOTE:** If you only have the Storage Key(UUID) of the user, you can use `get_descriptor` to resolve the Storage Key(UUID) to a `descriptor`.
151
+
152
+
153
+ :param str descriptor: The descriptor of the user.
154
+ """
155
+ __args__ = dict()
156
+ __args__['descriptor'] = descriptor
157
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
158
+ __ret__ = pulumi.runtime.invoke('azuredevops:index/getUser:getUser', __args__, opts=opts, typ=GetUserResult).value
159
+
160
+ return AwaitableGetUserResult(
161
+ descriptor=pulumi.get(__ret__, 'descriptor'),
162
+ display_name=pulumi.get(__ret__, 'display_name'),
163
+ domain=pulumi.get(__ret__, 'domain'),
164
+ id=pulumi.get(__ret__, 'id'),
165
+ mail_address=pulumi.get(__ret__, 'mail_address'),
166
+ origin=pulumi.get(__ret__, 'origin'),
167
+ origin_id=pulumi.get(__ret__, 'origin_id'),
168
+ principal_name=pulumi.get(__ret__, 'principal_name'),
169
+ subject_kind=pulumi.get(__ret__, 'subject_kind'))
170
+ def get_user_output(descriptor: Optional[pulumi.Input[str]] = None,
171
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUserResult]:
172
+ """
173
+ Use this data source to access information about an existing user within Azure DevOps.
174
+
175
+ ~>**NOTE:** If you only have the Storage Key(UUID) of the user, you can use `get_descriptor` to resolve the Storage Key(UUID) to a `descriptor`.
176
+
177
+
178
+ :param str descriptor: The descriptor of the user.
179
+ """
180
+ __args__ = dict()
181
+ __args__['descriptor'] = descriptor
182
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
183
+ __ret__ = pulumi.runtime.invoke_output('azuredevops:index/getUser:getUser', __args__, opts=opts, typ=GetUserResult)
184
+ return __ret__.apply(lambda __response__: GetUserResult(
185
+ descriptor=pulumi.get(__response__, 'descriptor'),
186
+ display_name=pulumi.get(__response__, 'display_name'),
187
+ domain=pulumi.get(__response__, 'domain'),
188
+ id=pulumi.get(__response__, 'id'),
189
+ mail_address=pulumi.get(__response__, 'mail_address'),
190
+ origin=pulumi.get(__response__, 'origin'),
191
+ origin_id=pulumi.get(__response__, 'origin_id'),
192
+ principal_name=pulumi.get(__response__, 'principal_name'),
193
+ subject_kind=pulumi.get(__response__, 'subject_kind')))
@@ -97,7 +97,7 @@ class GetUsersResult:
97
97
  @pulumi.getter
98
98
  def users(self) -> Sequence['outputs.GetUsersUserResult']:
99
99
  """
100
- A set of existing users in your Azure DevOps Organization with details about every single user which includes:
100
+ A `users` block as defined below. A set of existing users in your Azure DevOps Organization with details about every single user.
101
101
  """
102
102
  return pulumi.get(self, "users")
103
103
 
@@ -128,14 +128,12 @@ def get_users(features: Optional[Union['GetUsersFeaturesArgs', 'GetUsersFeatures
128
128
 
129
129
 
130
130
  :param Union['GetUsersFeaturesArgs', 'GetUsersFeaturesArgsDict'] features: A `features` block as defined below.
131
-
132
- DataSource without specifying any arguments will return all users inside an organization.
133
-
134
- List of possible subject types
135
131
  :param str origin: The type of source provider for the `origin_id` parameter (ex:AD, AAD, MSA) The supported origins are listed below.
132
+ <pre>List of possible origins
136
133
  :param str origin_id: The unique identifier from the system of origin.
137
134
  :param str principal_name: The PrincipalName of this graph member from the source provider.
138
135
  :param Sequence[str] subject_types: A list of user subject subtypes to reduce the retrieved results, e.g. `msa`, `aad`, `svc` (service identity), `imp` (imported identity), etc. The supported subject types are listed below.
136
+ <pre>List of possible subject types
139
137
  """
140
138
  __args__ = dict()
141
139
  __args__['features'] = features
@@ -165,14 +163,12 @@ def get_users_output(features: Optional[pulumi.Input[Optional[Union['GetUsersFea
165
163
 
166
164
 
167
165
  :param Union['GetUsersFeaturesArgs', 'GetUsersFeaturesArgsDict'] features: A `features` block as defined below.
168
-
169
- DataSource without specifying any arguments will return all users inside an organization.
170
-
171
- List of possible subject types
172
166
  :param str origin: The type of source provider for the `origin_id` parameter (ex:AD, AAD, MSA) The supported origins are listed below.
167
+ <pre>List of possible origins
173
168
  :param str origin_id: The unique identifier from the system of origin.
174
169
  :param str principal_name: The PrincipalName of this graph member from the source provider.
175
170
  :param Sequence[str] subject_types: A list of user subject subtypes to reduce the retrieved results, e.g. `msa`, `aad`, `svc` (service identity), `imp` (imported identity), etc. The supported subject types are listed below.
171
+ <pre>List of possible subject types
176
172
  """
177
173
  __args__ = dict()
178
174
  __args__['features'] = features