pulumi-azuredevops 3.6.0a1737523387__py3-none-any.whl → 3.6.0a1737710622__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 +64 -0
- pulumi_azuredevops/_inputs.py +120 -117
- pulumi_azuredevops/area_permissions.py +49 -49
- pulumi_azuredevops/branch_policy_auto_reviewers.py +7 -7
- pulumi_azuredevops/branch_policy_build_validation.py +7 -7
- pulumi_azuredevops/branch_policy_comment_resolution.py +7 -7
- pulumi_azuredevops/branch_policy_merge_types.py +7 -7
- pulumi_azuredevops/branch_policy_status_check.py +7 -7
- pulumi_azuredevops/branch_policy_work_item_linking.py +7 -7
- pulumi_azuredevops/build_definition.py +7 -7
- pulumi_azuredevops/check_branch_control.py +7 -7
- pulumi_azuredevops/check_business_hours.py +7 -7
- pulumi_azuredevops/check_exclusive_lock.py +7 -7
- pulumi_azuredevops/check_rest_api.py +986 -0
- pulumi_azuredevops/feed.py +8 -8
- pulumi_azuredevops/feed_permission.py +9 -9
- pulumi_azuredevops/feed_retention_policy.py +422 -0
- pulumi_azuredevops/get_agent_queue.py +2 -2
- pulumi_azuredevops/get_area.py +1 -1
- pulumi_azuredevops/get_client_config.py +3 -0
- pulumi_azuredevops/get_feed.py +4 -4
- pulumi_azuredevops/get_git_repository.py +8 -8
- pulumi_azuredevops/get_group.py +4 -4
- pulumi_azuredevops/get_groups.py +3 -3
- pulumi_azuredevops/get_identity_group.py +3 -0
- pulumi_azuredevops/get_identity_groups.py +1 -1
- pulumi_azuredevops/get_identity_users.py +5 -5
- pulumi_azuredevops/get_pool.py +14 -2
- pulumi_azuredevops/get_pools.py +3 -3
- pulumi_azuredevops/get_project.py +32 -0
- pulumi_azuredevops/get_projects.py +4 -4
- pulumi_azuredevops/get_repositories.py +7 -3
- pulumi_azuredevops/get_securityrole_definitions.py +4 -4
- pulumi_azuredevops/get_service_endpoint_azure_rm.py +5 -5
- pulumi_azuredevops/get_service_endpoint_github.py +6 -6
- pulumi_azuredevops/get_service_principal.py +153 -0
- pulumi_azuredevops/get_serviceendpoint_azurecr.py +1 -1
- pulumi_azuredevops/get_serviceendpoint_bitbucket.py +6 -6
- pulumi_azuredevops/get_serviceendpoint_npm.py +3 -3
- pulumi_azuredevops/get_serviceendpoint_sonarcloud.py +2 -2
- pulumi_azuredevops/get_team.py +4 -3
- pulumi_azuredevops/get_teams.py +2 -3
- pulumi_azuredevops/get_users.py +5 -9
- pulumi_azuredevops/git.py +7 -7
- pulumi_azuredevops/git_permissions.py +14 -21
- pulumi_azuredevops/git_repository_file.py +7 -14
- pulumi_azuredevops/group.py +21 -7
- pulumi_azuredevops/group_entitlement.py +16 -20
- pulumi_azuredevops/group_membership.py +35 -50
- pulumi_azuredevops/iterative_permissions.py +34 -34
- pulumi_azuredevops/library_permissions.py +75 -75
- pulumi_azuredevops/outputs.py +129 -102
- pulumi_azuredevops/pipeline_authorization.py +7 -7
- pulumi_azuredevops/pool.py +4 -4
- pulumi_azuredevops/project.py +114 -63
- pulumi_azuredevops/project_features.py +87 -45
- pulumi_azuredevops/project_permissions.py +7 -7
- pulumi_azuredevops/project_pipeline_settings.py +28 -35
- pulumi_azuredevops/project_tags.py +263 -0
- pulumi_azuredevops/pulumi-plugin.json +1 -1
- pulumi_azuredevops/queue.py +7 -14
- pulumi_azuredevops/repository_policy_author_email_pattern.py +21 -14
- pulumi_azuredevops/repository_policy_max_file_size.py +7 -7
- pulumi_azuredevops/resource_authorization.py +35 -35
- pulumi_azuredevops/service_endpoint_artifactory.py +24 -18
- pulumi_azuredevops/service_endpoint_aws.py +2 -2
- pulumi_azuredevops/service_endpoint_azure_ecr.py +13 -15
- pulumi_azuredevops/service_endpoint_azure_rm.py +25 -25
- pulumi_azuredevops/service_endpoint_bit_bucket.py +2 -2
- pulumi_azuredevops/service_endpoint_docker_registry.py +2 -2
- pulumi_azuredevops/service_endpoint_generic.py +2 -2
- pulumi_azuredevops/service_endpoint_generic_git.py +4 -8
- pulumi_azuredevops/service_endpoint_git_hub.py +15 -2
- pulumi_azuredevops/service_endpoint_git_hub_enterprise.py +15 -2
- pulumi_azuredevops/service_endpoint_kubernetes.py +23 -23
- pulumi_azuredevops/service_endpoint_npm.py +4 -4
- pulumi_azuredevops/service_endpoint_pipeline.py +4 -4
- pulumi_azuredevops/service_endpoint_service_fabric.py +48 -9
- pulumi_azuredevops/service_endpoint_sonar_cloud.py +11 -11
- pulumi_azuredevops/service_endpoint_sonar_qube.py +11 -11
- pulumi_azuredevops/service_endpoint_ssh.py +2 -6
- pulumi_azuredevops/service_principal_entitlement.py +386 -0
- pulumi_azuredevops/serviceendpoint_argocd.py +2 -2
- pulumi_azuredevops/serviceendpoint_azure_service_bus.py +2 -2
- pulumi_azuredevops/serviceendpoint_checkmarx_one.py +627 -0
- pulumi_azuredevops/serviceendpoint_checkmarx_sast.py +575 -0
- pulumi_azuredevops/serviceendpoint_checkmarx_sca.py +674 -0
- pulumi_azuredevops/serviceendpoint_dynamics_lifecycle_services.py +2 -2
- pulumi_azuredevops/serviceendpoint_externaltfs.py +63 -11
- pulumi_azuredevops/serviceendpoint_gcp_terraform.py +2 -2
- pulumi_azuredevops/serviceendpoint_incomingwebhook.py +2 -2
- pulumi_azuredevops/serviceendpoint_jenkins.py +2 -2
- pulumi_azuredevops/serviceendpoint_jfrog_artifactory_v2.py +18 -18
- pulumi_azuredevops/serviceendpoint_jfrog_distribution_v2.py +18 -18
- pulumi_azuredevops/serviceendpoint_jfrog_platform_v2.py +18 -18
- pulumi_azuredevops/serviceendpoint_jfrog_xray_v2.py +18 -18
- pulumi_azuredevops/serviceendpoint_maven.py +2 -2
- pulumi_azuredevops/serviceendpoint_nexus.py +2 -2
- pulumi_azuredevops/serviceendpoint_nuget.py +2 -2
- pulumi_azuredevops/serviceendpoint_octopusdeploy.py +2 -2
- pulumi_azuredevops/serviceendpoint_permissions.py +40 -40
- pulumi_azuredevops/serviceendpoint_snyk.py +2 -2
- pulumi_azuredevops/serviceendpoint_visualstudiomarketplace.py +4 -6
- pulumi_azuredevops/servicehook_permissions.py +51 -51
- pulumi_azuredevops/servicehook_storage_queue_pipelines.py +4 -4
- pulumi_azuredevops/tagging_permissions.py +49 -49
- pulumi_azuredevops/team.py +76 -56
- pulumi_azuredevops/team_administrators.py +83 -56
- pulumi_azuredevops/team_members.py +56 -49
- pulumi_azuredevops/variable_group.py +4 -2
- pulumi_azuredevops/variable_group_permissions.py +75 -75
- pulumi_azuredevops/wiki.py +15 -2
- pulumi_azuredevops/wiki_page.py +2 -2
- pulumi_azuredevops/work_item_query_permissions.py +7 -7
- {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/METADATA +1 -1
- pulumi_azuredevops-3.6.0a1737710622.dist-info/RECORD +148 -0
- pulumi_azuredevops-3.6.0a1737523387.dist-info/RECORD +0 -140
- {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/WHEEL +0 -0
- {pulumi_azuredevops-3.6.0a1737523387.dist-info → pulumi_azuredevops-3.6.0a1737710622.dist-info}/top_level.txt +0 -0
@@ -54,7 +54,7 @@ class ProjectPermissionsArgs:
|
|
54
54
|
| CHANGE_PROCESS | Change process of team project. |
|
55
55
|
| AGILETOOLS_BACKLOG | Agile backlog management. |
|
56
56
|
| AGILETOOLS_PLANS | Agile plans. |
|
57
|
-
:param pulumi.Input[str] principal: The
|
57
|
+
:param pulumi.Input[str] principal: The `group` principal to assign the permissions.
|
58
58
|
:param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
|
59
59
|
:param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
|
60
60
|
"""
|
@@ -108,7 +108,7 @@ class ProjectPermissionsArgs:
|
|
108
108
|
@pulumi.getter
|
109
109
|
def principal(self) -> pulumi.Input[str]:
|
110
110
|
"""
|
111
|
-
The
|
111
|
+
The `group` principal to assign the permissions.
|
112
112
|
"""
|
113
113
|
return pulumi.get(self, "principal")
|
114
114
|
|
@@ -179,7 +179,7 @@ class _ProjectPermissionsState:
|
|
179
179
|
| CHANGE_PROCESS | Change process of team project. |
|
180
180
|
| AGILETOOLS_BACKLOG | Agile backlog management. |
|
181
181
|
| AGILETOOLS_PLANS | Agile plans. |
|
182
|
-
:param pulumi.Input[str] principal: The
|
182
|
+
:param pulumi.Input[str] principal: The `group` principal to assign the permissions.
|
183
183
|
:param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
|
184
184
|
:param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
|
185
185
|
"""
|
@@ -236,7 +236,7 @@ class _ProjectPermissionsState:
|
|
236
236
|
@pulumi.getter
|
237
237
|
def principal(self) -> Optional[pulumi.Input[str]]:
|
238
238
|
"""
|
239
|
-
The
|
239
|
+
The `group` principal to assign the permissions.
|
240
240
|
"""
|
241
241
|
return pulumi.get(self, "principal")
|
242
242
|
|
@@ -352,7 +352,7 @@ class ProjectPermissions(pulumi.CustomResource):
|
|
352
352
|
| CHANGE_PROCESS | Change process of team project. |
|
353
353
|
| AGILETOOLS_BACKLOG | Agile backlog management. |
|
354
354
|
| AGILETOOLS_PLANS | Agile plans. |
|
355
|
-
:param pulumi.Input[str] principal: The
|
355
|
+
:param pulumi.Input[str] principal: The `group` principal to assign the permissions.
|
356
356
|
:param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
|
357
357
|
:param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
|
358
358
|
"""
|
@@ -492,7 +492,7 @@ class ProjectPermissions(pulumi.CustomResource):
|
|
492
492
|
| CHANGE_PROCESS | Change process of team project. |
|
493
493
|
| AGILETOOLS_BACKLOG | Agile backlog management. |
|
494
494
|
| AGILETOOLS_PLANS | Agile plans. |
|
495
|
-
:param pulumi.Input[str] principal: The
|
495
|
+
:param pulumi.Input[str] principal: The `group` principal to assign the permissions.
|
496
496
|
:param pulumi.Input[str] project_id: The ID of the project to assign the permissions.
|
497
497
|
:param pulumi.Input[bool] replace: Replace (`true`) or merge (`false`) the permissions. Default: `true`
|
498
498
|
"""
|
@@ -546,7 +546,7 @@ class ProjectPermissions(pulumi.CustomResource):
|
|
546
546
|
@pulumi.getter
|
547
547
|
def principal(self) -> pulumi.Output[str]:
|
548
548
|
"""
|
549
|
-
The
|
549
|
+
The `group` principal to assign the permissions.
|
550
550
|
"""
|
551
551
|
return pulumi.get(self, "principal")
|
552
552
|
|
@@ -28,14 +28,13 @@ class ProjectPipelineSettingsArgs:
|
|
28
28
|
status_badges_are_private: Optional[pulumi.Input[bool]] = None):
|
29
29
|
"""
|
30
30
|
The set of arguments for constructing a ProjectPipelineSettings resource.
|
31
|
-
:param pulumi.Input[str] project_id: The
|
31
|
+
:param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
|
32
32
|
:param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
|
33
33
|
:param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
|
34
34
|
|
35
|
-
> **NOTE:**
|
36
|
-
|
37
|
-
|
38
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
35
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
36
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
37
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
39
38
|
:param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
|
40
39
|
:param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
|
41
40
|
:param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
|
@@ -59,7 +58,7 @@ class ProjectPipelineSettingsArgs:
|
|
59
58
|
@pulumi.getter(name="projectId")
|
60
59
|
def project_id(self) -> pulumi.Input[str]:
|
61
60
|
"""
|
62
|
-
The
|
61
|
+
The ID of the project for which the project pipeline settings will be managed.
|
63
62
|
"""
|
64
63
|
return pulumi.get(self, "project_id")
|
65
64
|
|
@@ -85,10 +84,9 @@ class ProjectPipelineSettingsArgs:
|
|
85
84
|
"""
|
86
85
|
Limit job authorization scope to current project for release pipelines.
|
87
86
|
|
88
|
-
> **NOTE:**
|
89
|
-
|
90
|
-
|
91
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
87
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
88
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
89
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
92
90
|
"""
|
93
91
|
return pulumi.get(self, "enforce_job_scope_for_release")
|
94
92
|
|
@@ -160,13 +158,12 @@ class _ProjectPipelineSettingsState:
|
|
160
158
|
:param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
|
161
159
|
:param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
|
162
160
|
|
163
|
-
> **NOTE:**
|
164
|
-
|
165
|
-
|
166
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
161
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
162
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
163
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
167
164
|
:param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
|
168
165
|
:param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
|
169
|
-
:param pulumi.Input[str] project_id: The
|
166
|
+
:param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
|
170
167
|
:param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
|
171
168
|
:param pulumi.Input[bool] status_badges_are_private: Disable anonymous access to badges.
|
172
169
|
"""
|
@@ -203,10 +200,9 @@ class _ProjectPipelineSettingsState:
|
|
203
200
|
"""
|
204
201
|
Limit job authorization scope to current project for release pipelines.
|
205
202
|
|
206
|
-
> **NOTE:**
|
207
|
-
|
208
|
-
|
209
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
203
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
204
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
205
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
210
206
|
"""
|
211
207
|
return pulumi.get(self, "enforce_job_scope_for_release")
|
212
208
|
|
@@ -242,7 +238,7 @@ class _ProjectPipelineSettingsState:
|
|
242
238
|
@pulumi.getter(name="projectId")
|
243
239
|
def project_id(self) -> Optional[pulumi.Input[str]]:
|
244
240
|
"""
|
245
|
-
The
|
241
|
+
The ID of the project for which the project pipeline settings will be managed.
|
246
242
|
"""
|
247
243
|
return pulumi.get(self, "project_id")
|
248
244
|
|
@@ -333,13 +329,12 @@ class ProjectPipelineSettings(pulumi.CustomResource):
|
|
333
329
|
:param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
|
334
330
|
:param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
|
335
331
|
|
336
|
-
> **NOTE:**
|
337
|
-
|
338
|
-
|
339
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
332
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
333
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
334
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
340
335
|
:param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
|
341
336
|
:param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
|
342
|
-
:param pulumi.Input[str] project_id: The
|
337
|
+
:param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
|
343
338
|
:param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
|
344
339
|
:param pulumi.Input[bool] status_badges_are_private: Disable anonymous access to badges.
|
345
340
|
"""
|
@@ -456,13 +451,12 @@ class ProjectPipelineSettings(pulumi.CustomResource):
|
|
456
451
|
:param pulumi.Input[bool] enforce_job_scope: Limit job authorization scope to current project for non-release pipelines.
|
457
452
|
:param pulumi.Input[bool] enforce_job_scope_for_release: Limit job authorization scope to current project for release pipelines.
|
458
453
|
|
459
|
-
> **NOTE:**
|
460
|
-
|
461
|
-
|
462
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
454
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
455
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
456
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
463
457
|
:param pulumi.Input[bool] enforce_referenced_repo_scoped_token: Protect access to repositories in YAML pipelines.
|
464
458
|
:param pulumi.Input[bool] enforce_settable_var: Limit variables that can be set at queue time.
|
465
|
-
:param pulumi.Input[str] project_id: The
|
459
|
+
:param pulumi.Input[str] project_id: The ID of the project for which the project pipeline settings will be managed.
|
466
460
|
:param pulumi.Input[bool] publish_pipeline_metadata: Publish metadata from pipelines.
|
467
461
|
:param pulumi.Input[bool] status_badges_are_private: Disable anonymous access to badges.
|
468
462
|
"""
|
@@ -493,10 +487,9 @@ class ProjectPipelineSettings(pulumi.CustomResource):
|
|
493
487
|
"""
|
494
488
|
Limit job authorization scope to current project for release pipelines.
|
495
489
|
|
496
|
-
> **NOTE:**
|
497
|
-
|
498
|
-
|
499
|
-
> In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
490
|
+
> **NOTE:** The settings at the organization will override settings specified on the project.
|
491
|
+
For example, if `enforce_job_scope` is true at the organization, the `ProjectPipelineSettings` resource cannot set it to false.
|
492
|
+
In this scenario, the plan will always show that the resource is trying to change `enforce_job_scope` from `true` to `false`.
|
500
493
|
"""
|
501
494
|
return pulumi.get(self, "enforce_job_scope_for_release")
|
502
495
|
|
@@ -520,7 +513,7 @@ class ProjectPipelineSettings(pulumi.CustomResource):
|
|
520
513
|
@pulumi.getter(name="projectId")
|
521
514
|
def project_id(self) -> pulumi.Output[str]:
|
522
515
|
"""
|
523
|
-
The
|
516
|
+
The ID of the project for which the project pipeline settings will be managed.
|
524
517
|
"""
|
525
518
|
return pulumi.get(self, "project_id")
|
526
519
|
|
@@ -0,0 +1,263 @@
|
|
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__ = ['ProjectTagsArgs', 'ProjectTags']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class ProjectTagsArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
project_id: pulumi.Input[str],
|
23
|
+
tags: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
24
|
+
"""
|
25
|
+
The set of arguments for constructing a ProjectTags resource.
|
26
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
27
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
|
28
|
+
"""
|
29
|
+
pulumi.set(__self__, "project_id", project_id)
|
30
|
+
pulumi.set(__self__, "tags", tags)
|
31
|
+
|
32
|
+
@property
|
33
|
+
@pulumi.getter(name="projectId")
|
34
|
+
def project_id(self) -> pulumi.Input[str]:
|
35
|
+
"""
|
36
|
+
The ID of the Project. Changing this forces a new resource to be created.
|
37
|
+
"""
|
38
|
+
return pulumi.get(self, "project_id")
|
39
|
+
|
40
|
+
@project_id.setter
|
41
|
+
def project_id(self, value: pulumi.Input[str]):
|
42
|
+
pulumi.set(self, "project_id", value)
|
43
|
+
|
44
|
+
@property
|
45
|
+
@pulumi.getter
|
46
|
+
def tags(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
47
|
+
"""
|
48
|
+
A mapping of tags assigned to the Project.
|
49
|
+
"""
|
50
|
+
return pulumi.get(self, "tags")
|
51
|
+
|
52
|
+
@tags.setter
|
53
|
+
def tags(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
54
|
+
pulumi.set(self, "tags", value)
|
55
|
+
|
56
|
+
|
57
|
+
@pulumi.input_type
|
58
|
+
class _ProjectTagsState:
|
59
|
+
def __init__(__self__, *,
|
60
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
61
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
62
|
+
"""
|
63
|
+
Input properties used for looking up and filtering ProjectTags resources.
|
64
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
65
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
|
66
|
+
"""
|
67
|
+
if project_id is not None:
|
68
|
+
pulumi.set(__self__, "project_id", project_id)
|
69
|
+
if tags is not None:
|
70
|
+
pulumi.set(__self__, "tags", tags)
|
71
|
+
|
72
|
+
@property
|
73
|
+
@pulumi.getter(name="projectId")
|
74
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
75
|
+
"""
|
76
|
+
The ID of the Project. Changing this forces a new resource to be created.
|
77
|
+
"""
|
78
|
+
return pulumi.get(self, "project_id")
|
79
|
+
|
80
|
+
@project_id.setter
|
81
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
82
|
+
pulumi.set(self, "project_id", value)
|
83
|
+
|
84
|
+
@property
|
85
|
+
@pulumi.getter
|
86
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
87
|
+
"""
|
88
|
+
A mapping of tags assigned to the Project.
|
89
|
+
"""
|
90
|
+
return pulumi.get(self, "tags")
|
91
|
+
|
92
|
+
@tags.setter
|
93
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
94
|
+
pulumi.set(self, "tags", value)
|
95
|
+
|
96
|
+
|
97
|
+
class ProjectTags(pulumi.CustomResource):
|
98
|
+
@overload
|
99
|
+
def __init__(__self__,
|
100
|
+
resource_name: str,
|
101
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
102
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
103
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
104
|
+
__props__=None):
|
105
|
+
"""
|
106
|
+
Manages Project Tags within Azure DevOps organization.
|
107
|
+
|
108
|
+
## Example Usage
|
109
|
+
|
110
|
+
```python
|
111
|
+
import pulumi
|
112
|
+
import pulumi_azuredevops as azuredevops
|
113
|
+
|
114
|
+
example = azuredevops.Project("example",
|
115
|
+
name="Example Project",
|
116
|
+
visibility="private",
|
117
|
+
version_control="Git",
|
118
|
+
work_item_template="Agile",
|
119
|
+
description="Managed by Pulumi")
|
120
|
+
example_project_tags = azuredevops.ProjectTags("example",
|
121
|
+
project_id=example.id,
|
122
|
+
tags=[
|
123
|
+
"tag1",
|
124
|
+
"tag2",
|
125
|
+
])
|
126
|
+
```
|
127
|
+
|
128
|
+
## Relevant Links
|
129
|
+
|
130
|
+
- [Azure DevOps Service REST API 7.0 - Project Properties](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/projects/get-project-properties?view=azure-devops-rest-7.1&tabs=HTTP)
|
131
|
+
|
132
|
+
## Import
|
133
|
+
|
134
|
+
Azure DevOps Project Tags can be imported using the Project ID e.g.:
|
135
|
+
|
136
|
+
```sh
|
137
|
+
$ pulumi import azuredevops:index/projectTags:ProjectTags example 00000000-0000-0000-0000-000000000000
|
138
|
+
```
|
139
|
+
|
140
|
+
:param str resource_name: The name of the resource.
|
141
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
142
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
143
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
|
144
|
+
"""
|
145
|
+
...
|
146
|
+
@overload
|
147
|
+
def __init__(__self__,
|
148
|
+
resource_name: str,
|
149
|
+
args: ProjectTagsArgs,
|
150
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
151
|
+
"""
|
152
|
+
Manages Project Tags within Azure DevOps organization.
|
153
|
+
|
154
|
+
## Example Usage
|
155
|
+
|
156
|
+
```python
|
157
|
+
import pulumi
|
158
|
+
import pulumi_azuredevops as azuredevops
|
159
|
+
|
160
|
+
example = azuredevops.Project("example",
|
161
|
+
name="Example Project",
|
162
|
+
visibility="private",
|
163
|
+
version_control="Git",
|
164
|
+
work_item_template="Agile",
|
165
|
+
description="Managed by Pulumi")
|
166
|
+
example_project_tags = azuredevops.ProjectTags("example",
|
167
|
+
project_id=example.id,
|
168
|
+
tags=[
|
169
|
+
"tag1",
|
170
|
+
"tag2",
|
171
|
+
])
|
172
|
+
```
|
173
|
+
|
174
|
+
## Relevant Links
|
175
|
+
|
176
|
+
- [Azure DevOps Service REST API 7.0 - Project Properties](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/projects/get-project-properties?view=azure-devops-rest-7.1&tabs=HTTP)
|
177
|
+
|
178
|
+
## Import
|
179
|
+
|
180
|
+
Azure DevOps Project Tags can be imported using the Project ID e.g.:
|
181
|
+
|
182
|
+
```sh
|
183
|
+
$ pulumi import azuredevops:index/projectTags:ProjectTags example 00000000-0000-0000-0000-000000000000
|
184
|
+
```
|
185
|
+
|
186
|
+
:param str resource_name: The name of the resource.
|
187
|
+
:param ProjectTagsArgs args: The arguments to use to populate this resource's properties.
|
188
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
189
|
+
"""
|
190
|
+
...
|
191
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
192
|
+
resource_args, opts = _utilities.get_resource_args_opts(ProjectTagsArgs, pulumi.ResourceOptions, *args, **kwargs)
|
193
|
+
if resource_args is not None:
|
194
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
195
|
+
else:
|
196
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
197
|
+
|
198
|
+
def _internal_init(__self__,
|
199
|
+
resource_name: str,
|
200
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
201
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
202
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
203
|
+
__props__=None):
|
204
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
205
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
206
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
207
|
+
if opts.id is None:
|
208
|
+
if __props__ is not None:
|
209
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
210
|
+
__props__ = ProjectTagsArgs.__new__(ProjectTagsArgs)
|
211
|
+
|
212
|
+
if project_id is None and not opts.urn:
|
213
|
+
raise TypeError("Missing required property 'project_id'")
|
214
|
+
__props__.__dict__["project_id"] = project_id
|
215
|
+
if tags is None and not opts.urn:
|
216
|
+
raise TypeError("Missing required property 'tags'")
|
217
|
+
__props__.__dict__["tags"] = tags
|
218
|
+
super(ProjectTags, __self__).__init__(
|
219
|
+
'azuredevops:index/projectTags:ProjectTags',
|
220
|
+
resource_name,
|
221
|
+
__props__,
|
222
|
+
opts)
|
223
|
+
|
224
|
+
@staticmethod
|
225
|
+
def get(resource_name: str,
|
226
|
+
id: pulumi.Input[str],
|
227
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
228
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
229
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ProjectTags':
|
230
|
+
"""
|
231
|
+
Get an existing ProjectTags resource's state with the given name, id, and optional extra
|
232
|
+
properties used to qualify the lookup.
|
233
|
+
|
234
|
+
:param str resource_name: The unique name of the resulting resource.
|
235
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
236
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
237
|
+
:param pulumi.Input[str] project_id: The ID of the Project. Changing this forces a new resource to be created.
|
238
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A mapping of tags assigned to the Project.
|
239
|
+
"""
|
240
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
241
|
+
|
242
|
+
__props__ = _ProjectTagsState.__new__(_ProjectTagsState)
|
243
|
+
|
244
|
+
__props__.__dict__["project_id"] = project_id
|
245
|
+
__props__.__dict__["tags"] = tags
|
246
|
+
return ProjectTags(resource_name, opts=opts, __props__=__props__)
|
247
|
+
|
248
|
+
@property
|
249
|
+
@pulumi.getter(name="projectId")
|
250
|
+
def project_id(self) -> pulumi.Output[str]:
|
251
|
+
"""
|
252
|
+
The ID of the Project. Changing this forces a new resource to be created.
|
253
|
+
"""
|
254
|
+
return pulumi.get(self, "project_id")
|
255
|
+
|
256
|
+
@property
|
257
|
+
@pulumi.getter
|
258
|
+
def tags(self) -> pulumi.Output[Sequence[str]]:
|
259
|
+
"""
|
260
|
+
A mapping of tags assigned to the Project.
|
261
|
+
"""
|
262
|
+
return pulumi.get(self, "tags")
|
263
|
+
|
pulumi_azuredevops/queue.py
CHANGED
@@ -27,8 +27,7 @@ class QueueArgs:
|
|
27
27
|
:param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
|
28
28
|
:param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
|
29
29
|
|
30
|
-
> **NOTE:**
|
31
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
30
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
32
31
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
33
32
|
:param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
|
34
33
|
"""
|
@@ -56,8 +55,7 @@ class QueueArgs:
|
|
56
55
|
"""
|
57
56
|
The ID of the organization agent pool. Conflicts with `name`.
|
58
57
|
|
59
|
-
> **NOTE:**
|
60
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
58
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
61
59
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
62
60
|
"""
|
63
61
|
return pulumi.get(self, "agent_pool_id")
|
@@ -89,8 +87,7 @@ class _QueueState:
|
|
89
87
|
Input properties used for looking up and filtering Queue resources.
|
90
88
|
:param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
|
91
89
|
|
92
|
-
> **NOTE:**
|
93
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
90
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
94
91
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
95
92
|
:param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
|
96
93
|
:param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
|
@@ -108,8 +105,7 @@ class _QueueState:
|
|
108
105
|
"""
|
109
106
|
The ID of the organization agent pool. Conflicts with `name`.
|
110
107
|
|
111
|
-
> **NOTE:**
|
112
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
108
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
113
109
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
114
110
|
"""
|
115
111
|
return pulumi.get(self, "agent_pool_id")
|
@@ -208,8 +204,7 @@ class Queue(pulumi.CustomResource):
|
|
208
204
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
209
205
|
:param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
|
210
206
|
|
211
|
-
> **NOTE:**
|
212
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
207
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
213
208
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
214
209
|
:param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
|
215
210
|
:param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
|
@@ -326,8 +321,7 @@ class Queue(pulumi.CustomResource):
|
|
326
321
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
327
322
|
:param pulumi.Input[int] agent_pool_id: The ID of the organization agent pool. Conflicts with `name`.
|
328
323
|
|
329
|
-
> **NOTE:**
|
330
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
324
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
331
325
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
332
326
|
:param pulumi.Input[str] name: The name of the agent queue. Defaults to the ID of the agent pool. Conflicts with `agent_pool_id`.
|
333
327
|
:param pulumi.Input[str] project_id: The ID of the project in which to create the resource.
|
@@ -347,8 +341,7 @@ class Queue(pulumi.CustomResource):
|
|
347
341
|
"""
|
348
342
|
The ID of the organization agent pool. Conflicts with `name`.
|
349
343
|
|
350
|
-
> **NOTE:**
|
351
|
-
One of `name` or `agent_pool_id` must be specified, but not both.
|
344
|
+
> **NOTE:** One of `name` or `agent_pool_id` must be specified, but not both.
|
352
345
|
When `agent_pool_id` is specified, the agent queue name will be derived from the agent pool name.
|
353
346
|
"""
|
354
347
|
return pulumi.get(self, "agent_pool_id")
|
@@ -26,8 +26,9 @@ class RepositoryPolicyAuthorEmailPatternArgs:
|
|
26
26
|
repository_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
27
27
|
"""
|
28
28
|
The set of arguments for constructing a RepositoryPolicyAuthorEmailPattern resource.
|
29
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
30
|
-
|
29
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
30
|
+
|
31
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
31
32
|
:param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
|
32
33
|
:param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
|
33
34
|
:param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
|
@@ -46,8 +47,9 @@ class RepositoryPolicyAuthorEmailPatternArgs:
|
|
46
47
|
@pulumi.getter(name="authorEmailPatterns")
|
47
48
|
def author_email_patterns(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
48
49
|
"""
|
49
|
-
Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
50
|
-
|
50
|
+
Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
51
|
+
|
52
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
51
53
|
"""
|
52
54
|
return pulumi.get(self, "author_email_patterns")
|
53
55
|
|
@@ -114,8 +116,9 @@ class _RepositoryPolicyAuthorEmailPatternState:
|
|
114
116
|
repository_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
115
117
|
"""
|
116
118
|
Input properties used for looking up and filtering RepositoryPolicyAuthorEmailPattern resources.
|
117
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
118
|
-
|
119
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
120
|
+
|
121
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
119
122
|
:param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
|
120
123
|
:param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
|
121
124
|
:param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
|
@@ -136,8 +139,9 @@ class _RepositoryPolicyAuthorEmailPatternState:
|
|
136
139
|
@pulumi.getter(name="authorEmailPatterns")
|
137
140
|
def author_email_patterns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
138
141
|
"""
|
139
|
-
Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
140
|
-
|
142
|
+
Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
143
|
+
|
144
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
141
145
|
"""
|
142
146
|
return pulumi.get(self, "author_email_patterns")
|
143
147
|
|
@@ -273,8 +277,9 @@ class RepositoryPolicyAuthorEmailPattern(pulumi.CustomResource):
|
|
273
277
|
|
274
278
|
:param str resource_name: The name of the resource.
|
275
279
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
276
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
277
|
-
|
280
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
281
|
+
|
282
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
278
283
|
:param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
|
279
284
|
:param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
|
280
285
|
:param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
|
@@ -412,8 +417,9 @@ class RepositoryPolicyAuthorEmailPattern(pulumi.CustomResource):
|
|
412
417
|
:param str resource_name: The unique name of the resulting resource.
|
413
418
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
414
419
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
415
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
416
|
-
|
420
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] author_email_patterns: Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
421
|
+
|
422
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
417
423
|
:param pulumi.Input[bool] blocking: A flag indicating if the policy should be blocking. Defaults to `true`.
|
418
424
|
:param pulumi.Input[bool] enabled: A flag indicating if the policy should be enabled. Defaults to `true`.
|
419
425
|
:param pulumi.Input[str] project_id: The ID of the project in which the policy will be created.
|
@@ -434,8 +440,9 @@ class RepositoryPolicyAuthorEmailPattern(pulumi.CustomResource):
|
|
434
440
|
@pulumi.getter(name="authorEmailPatterns")
|
435
441
|
def author_email_patterns(self) -> pulumi.Output[Sequence[str]]:
|
436
442
|
"""
|
437
|
-
Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
438
|
-
|
443
|
+
Block pushes with a commit author email that does not match the patterns. You can specify exact emails or use wildcards.
|
444
|
+
|
445
|
+
~>**NOTE:** Email patterns prefixed with `!` are excluded. Order is important.
|
439
446
|
"""
|
440
447
|
return pulumi.get(self, "author_email_patterns")
|
441
448
|
|