pulumi-github 6.11.0a1768542226__py3-none-any.whl → 6.12.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_github/__init__.py +37 -0
- pulumi_github/_inputs.py +527 -34
- pulumi_github/actions_environment_secret.py +141 -12
- pulumi_github/actions_environment_variable.py +73 -39
- pulumi_github/actions_organization_permissions.py +50 -3
- pulumi_github/actions_organization_secret.py +164 -55
- pulumi_github/actions_organization_secret_repositories.py +44 -28
- pulumi_github/actions_organization_secret_repository.py +44 -28
- pulumi_github/actions_organization_variable.py +44 -47
- pulumi_github/actions_organization_variable_repositories.py +262 -0
- pulumi_github/actions_organization_variable_repository.py +262 -0
- pulumi_github/actions_organization_workflow_permissions.py +320 -0
- pulumi_github/actions_repository_permissions.py +50 -3
- pulumi_github/actions_secret.py +176 -41
- pulumi_github/actions_variable.py +65 -33
- pulumi_github/app_installation_repositories.py +6 -6
- pulumi_github/app_installation_repository.py +6 -6
- pulumi_github/dependabot_organization_secret.py +128 -59
- pulumi_github/dependabot_organization_secret_repositories.py +44 -36
- pulumi_github/dependabot_organization_secret_repository.py +262 -0
- pulumi_github/dependabot_secret.py +154 -41
- pulumi_github/emu_group_mapping.py +62 -6
- pulumi_github/get_ip_ranges.py +3 -0
- pulumi_github/get_release_asset.py +370 -0
- pulumi_github/get_repository.py +17 -2
- pulumi_github/get_team.py +29 -13
- pulumi_github/organization_ruleset.py +11 -17
- pulumi_github/outputs.py +404 -25
- pulumi_github/pulumi-plugin.json +1 -1
- pulumi_github/repository.py +88 -23
- pulumi_github/repository_custom_property.py +2 -2
- pulumi_github/repository_environment.py +11 -11
- pulumi_github/repository_environment_deployment_policy.py +4 -4
- pulumi_github/repository_ruleset.py +7 -7
- pulumi_github/team.py +70 -21
- {pulumi_github-6.11.0a1768542226.dist-info → pulumi_github-6.12.0.dist-info}/METADATA +1 -1
- {pulumi_github-6.11.0a1768542226.dist-info → pulumi_github-6.12.0.dist-info}/RECORD +39 -34
- {pulumi_github-6.11.0a1768542226.dist-info → pulumi_github-6.12.0.dist-info}/WHEEL +1 -1
- {pulumi_github-6.11.0a1768542226.dist-info → pulumi_github-6.12.0.dist-info}/top_level.txt +0 -0
pulumi_github/outputs.py
CHANGED
|
@@ -41,11 +41,14 @@ __all__ = [
|
|
|
41
41
|
'OrganizationRulesetRulesCommitAuthorEmailPattern',
|
|
42
42
|
'OrganizationRulesetRulesCommitMessagePattern',
|
|
43
43
|
'OrganizationRulesetRulesCommitterEmailPattern',
|
|
44
|
+
'OrganizationRulesetRulesCopilotCodeReview',
|
|
44
45
|
'OrganizationRulesetRulesFileExtensionRestriction',
|
|
45
46
|
'OrganizationRulesetRulesFilePathRestriction',
|
|
46
47
|
'OrganizationRulesetRulesMaxFilePathLength',
|
|
47
48
|
'OrganizationRulesetRulesMaxFileSize',
|
|
48
49
|
'OrganizationRulesetRulesPullRequest',
|
|
50
|
+
'OrganizationRulesetRulesPullRequestRequiredReviewer',
|
|
51
|
+
'OrganizationRulesetRulesPullRequestRequiredReviewerReviewer',
|
|
49
52
|
'OrganizationRulesetRulesRequiredCodeScanning',
|
|
50
53
|
'OrganizationRulesetRulesRequiredCodeScanningRequiredCodeScanningTool',
|
|
51
54
|
'OrganizationRulesetRulesRequiredStatusChecks',
|
|
@@ -69,12 +72,15 @@ __all__ = [
|
|
|
69
72
|
'RepositoryRulesetRulesCommitAuthorEmailPattern',
|
|
70
73
|
'RepositoryRulesetRulesCommitMessagePattern',
|
|
71
74
|
'RepositoryRulesetRulesCommitterEmailPattern',
|
|
75
|
+
'RepositoryRulesetRulesCopilotCodeReview',
|
|
72
76
|
'RepositoryRulesetRulesFileExtensionRestriction',
|
|
73
77
|
'RepositoryRulesetRulesFilePathRestriction',
|
|
74
78
|
'RepositoryRulesetRulesMaxFilePathLength',
|
|
75
79
|
'RepositoryRulesetRulesMaxFileSize',
|
|
76
80
|
'RepositoryRulesetRulesMergeQueue',
|
|
77
81
|
'RepositoryRulesetRulesPullRequest',
|
|
82
|
+
'RepositoryRulesetRulesPullRequestRequiredReviewer',
|
|
83
|
+
'RepositoryRulesetRulesPullRequestRequiredReviewerReviewer',
|
|
78
84
|
'RepositoryRulesetRulesRequiredCodeScanning',
|
|
79
85
|
'RepositoryRulesetRulesRequiredCodeScanningRequiredCodeScanningTool',
|
|
80
86
|
'RepositoryRulesetRulesRequiredDeployments',
|
|
@@ -1193,9 +1199,9 @@ class OrganizationRulesetBypassActor(dict):
|
|
|
1193
1199
|
|
|
1194
1200
|
~>Note: at the time of writing this, the following actor types correspond to the following actor IDs:
|
|
1195
1201
|
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
:param _builtins.int actor_id: (Number) The ID of the actor that can bypass a ruleset.
|
|
1202
|
+
- `OrganizationAdmin` > `1`
|
|
1203
|
+
- `RepositoryRole` (This is the actor type, the following are the base repository roles and their associated IDs.)
|
|
1204
|
+
:param _builtins.int actor_id: (Number) The ID of the actor that can bypass a ruleset. Some actor types such as `DeployKey` do not have an ID.
|
|
1199
1205
|
"""
|
|
1200
1206
|
pulumi.set(__self__, "actor_type", actor_type)
|
|
1201
1207
|
pulumi.set(__self__, "bypass_mode", bypass_mode)
|
|
@@ -1218,8 +1224,8 @@ class OrganizationRulesetBypassActor(dict):
|
|
|
1218
1224
|
|
|
1219
1225
|
~>Note: at the time of writing this, the following actor types correspond to the following actor IDs:
|
|
1220
1226
|
|
|
1221
|
-
|
|
1222
|
-
|
|
1227
|
+
- `OrganizationAdmin` > `1`
|
|
1228
|
+
- `RepositoryRole` (This is the actor type, the following are the base repository roles and their associated IDs.)
|
|
1223
1229
|
"""
|
|
1224
1230
|
return pulumi.get(self, "bypass_mode")
|
|
1225
1231
|
|
|
@@ -1227,7 +1233,7 @@ class OrganizationRulesetBypassActor(dict):
|
|
|
1227
1233
|
@pulumi.getter(name="actorId")
|
|
1228
1234
|
def actor_id(self) -> Optional[_builtins.int]:
|
|
1229
1235
|
"""
|
|
1230
|
-
(Number) The ID of the actor that can bypass a ruleset.
|
|
1236
|
+
(Number) The ID of the actor that can bypass a ruleset. Some actor types such as `DeployKey` do not have an ID.
|
|
1231
1237
|
"""
|
|
1232
1238
|
return pulumi.get(self, "actor_id")
|
|
1233
1239
|
|
|
@@ -1256,17 +1262,20 @@ class OrganizationRulesetConditions(dict):
|
|
|
1256
1262
|
return super().get(key, default)
|
|
1257
1263
|
|
|
1258
1264
|
def __init__(__self__, *,
|
|
1259
|
-
ref_name: 'outputs.OrganizationRulesetConditionsRefName',
|
|
1265
|
+
ref_name: Optional['outputs.OrganizationRulesetConditionsRefName'] = None,
|
|
1260
1266
|
repository_ids: Optional[Sequence[_builtins.int]] = None,
|
|
1261
1267
|
repository_name: Optional['outputs.OrganizationRulesetConditionsRepositoryName'] = None):
|
|
1262
1268
|
"""
|
|
1263
|
-
:param 'OrganizationRulesetConditionsRefNameArgs' ref_name: (Block List,
|
|
1269
|
+
:param 'OrganizationRulesetConditionsRefNameArgs' ref_name: (Block List, Max: 1) Required for `branch` and `tag` targets. Must NOT be set for `push` targets. (see below for nested schema)
|
|
1264
1270
|
:param Sequence[_builtins.int] repository_ids: The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. Conflicts with `repository_name`.
|
|
1265
1271
|
:param 'OrganizationRulesetConditionsRepositoryNameArgs' repository_name: Conflicts with `repository_id`. (see below for nested schema)
|
|
1266
1272
|
|
|
1267
1273
|
One of `repository_id` and `repository_name` must be set for the rule to target any repositories.
|
|
1274
|
+
|
|
1275
|
+
> **Note:** For `push` targets, do not include `ref_name` in conditions. Push rulesets operate on file content, not on refs.
|
|
1268
1276
|
"""
|
|
1269
|
-
|
|
1277
|
+
if ref_name is not None:
|
|
1278
|
+
pulumi.set(__self__, "ref_name", ref_name)
|
|
1270
1279
|
if repository_ids is not None:
|
|
1271
1280
|
pulumi.set(__self__, "repository_ids", repository_ids)
|
|
1272
1281
|
if repository_name is not None:
|
|
@@ -1274,9 +1283,9 @@ class OrganizationRulesetConditions(dict):
|
|
|
1274
1283
|
|
|
1275
1284
|
@_builtins.property
|
|
1276
1285
|
@pulumi.getter(name="refName")
|
|
1277
|
-
def ref_name(self) -> 'outputs.OrganizationRulesetConditionsRefName':
|
|
1286
|
+
def ref_name(self) -> Optional['outputs.OrganizationRulesetConditionsRefName']:
|
|
1278
1287
|
"""
|
|
1279
|
-
(Block List,
|
|
1288
|
+
(Block List, Max: 1) Required for `branch` and `tag` targets. Must NOT be set for `push` targets. (see below for nested schema)
|
|
1280
1289
|
"""
|
|
1281
1290
|
return pulumi.get(self, "ref_name")
|
|
1282
1291
|
|
|
@@ -1295,6 +1304,8 @@ class OrganizationRulesetConditions(dict):
|
|
|
1295
1304
|
Conflicts with `repository_id`. (see below for nested schema)
|
|
1296
1305
|
|
|
1297
1306
|
One of `repository_id` and `repository_name` must be set for the rule to target any repositories.
|
|
1307
|
+
|
|
1308
|
+
> **Note:** For `push` targets, do not include `ref_name` in conditions. Push rulesets operate on file content, not on refs.
|
|
1298
1309
|
"""
|
|
1299
1310
|
return pulumi.get(self, "repository_name")
|
|
1300
1311
|
|
|
@@ -1382,6 +1393,8 @@ class OrganizationRulesetRules(dict):
|
|
|
1382
1393
|
suggest = "commit_message_pattern"
|
|
1383
1394
|
elif key == "committerEmailPattern":
|
|
1384
1395
|
suggest = "committer_email_pattern"
|
|
1396
|
+
elif key == "copilotCodeReview":
|
|
1397
|
+
suggest = "copilot_code_review"
|
|
1385
1398
|
elif key == "fileExtensionRestriction":
|
|
1386
1399
|
suggest = "file_extension_restriction"
|
|
1387
1400
|
elif key == "filePathRestriction":
|
|
@@ -1423,6 +1436,7 @@ class OrganizationRulesetRules(dict):
|
|
|
1423
1436
|
commit_author_email_pattern: Optional['outputs.OrganizationRulesetRulesCommitAuthorEmailPattern'] = None,
|
|
1424
1437
|
commit_message_pattern: Optional['outputs.OrganizationRulesetRulesCommitMessagePattern'] = None,
|
|
1425
1438
|
committer_email_pattern: Optional['outputs.OrganizationRulesetRulesCommitterEmailPattern'] = None,
|
|
1439
|
+
copilot_code_review: Optional['outputs.OrganizationRulesetRulesCopilotCodeReview'] = None,
|
|
1426
1440
|
creation: Optional[_builtins.bool] = None,
|
|
1427
1441
|
deletion: Optional[_builtins.bool] = None,
|
|
1428
1442
|
file_extension_restriction: Optional['outputs.OrganizationRulesetRulesFileExtensionRestriction'] = None,
|
|
@@ -1443,6 +1457,7 @@ class OrganizationRulesetRules(dict):
|
|
|
1443
1457
|
:param 'OrganizationRulesetRulesCommitAuthorEmailPatternArgs' commit_author_email_pattern: (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
|
|
1444
1458
|
:param 'OrganizationRulesetRulesCommitMessagePatternArgs' commit_message_pattern: (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
|
|
1445
1459
|
:param 'OrganizationRulesetRulesCommitterEmailPatternArgs' committer_email_pattern: (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
|
|
1460
|
+
:param 'OrganizationRulesetRulesCopilotCodeReviewArgs' copilot_code_review: (Block List, Max: 1) Automatically request Copilot code review for new pull requests if the author has access to Copilot code review and their premium requests quota has not reached the limit. (see below for nested schema)
|
|
1446
1461
|
:param _builtins.bool creation: (Boolean) Only allow users with bypass permission to create matching refs.
|
|
1447
1462
|
:param _builtins.bool deletion: (Boolean) Only allow users with bypass permissions to delete matching refs.
|
|
1448
1463
|
:param 'OrganizationRulesetRulesFileExtensionRestrictionArgs' file_extension_restriction: (Block List, Max: 1) Prevent commits that include files with specified file extensions from being pushed to the commit graph. This rule only applies to rulesets with target `push`. (see below for nested schema)
|
|
@@ -1467,6 +1482,8 @@ class OrganizationRulesetRules(dict):
|
|
|
1467
1482
|
pulumi.set(__self__, "commit_message_pattern", commit_message_pattern)
|
|
1468
1483
|
if committer_email_pattern is not None:
|
|
1469
1484
|
pulumi.set(__self__, "committer_email_pattern", committer_email_pattern)
|
|
1485
|
+
if copilot_code_review is not None:
|
|
1486
|
+
pulumi.set(__self__, "copilot_code_review", copilot_code_review)
|
|
1470
1487
|
if creation is not None:
|
|
1471
1488
|
pulumi.set(__self__, "creation", creation)
|
|
1472
1489
|
if deletion is not None:
|
|
@@ -1530,6 +1547,14 @@ class OrganizationRulesetRules(dict):
|
|
|
1530
1547
|
"""
|
|
1531
1548
|
return pulumi.get(self, "committer_email_pattern")
|
|
1532
1549
|
|
|
1550
|
+
@_builtins.property
|
|
1551
|
+
@pulumi.getter(name="copilotCodeReview")
|
|
1552
|
+
def copilot_code_review(self) -> Optional['outputs.OrganizationRulesetRulesCopilotCodeReview']:
|
|
1553
|
+
"""
|
|
1554
|
+
(Block List, Max: 1) Automatically request Copilot code review for new pull requests if the author has access to Copilot code review and their premium requests quota has not reached the limit. (see below for nested schema)
|
|
1555
|
+
"""
|
|
1556
|
+
return pulumi.get(self, "copilot_code_review")
|
|
1557
|
+
|
|
1533
1558
|
@_builtins.property
|
|
1534
1559
|
@pulumi.getter
|
|
1535
1560
|
def creation(self) -> Optional[_builtins.bool]:
|
|
@@ -1863,6 +1888,56 @@ class OrganizationRulesetRulesCommitterEmailPattern(dict):
|
|
|
1863
1888
|
return pulumi.get(self, "negate")
|
|
1864
1889
|
|
|
1865
1890
|
|
|
1891
|
+
@pulumi.output_type
|
|
1892
|
+
class OrganizationRulesetRulesCopilotCodeReview(dict):
|
|
1893
|
+
@staticmethod
|
|
1894
|
+
def __key_warning(key: str):
|
|
1895
|
+
suggest = None
|
|
1896
|
+
if key == "reviewDraftPullRequests":
|
|
1897
|
+
suggest = "review_draft_pull_requests"
|
|
1898
|
+
elif key == "reviewOnPush":
|
|
1899
|
+
suggest = "review_on_push"
|
|
1900
|
+
|
|
1901
|
+
if suggest:
|
|
1902
|
+
pulumi.log.warn(f"Key '{key}' not found in OrganizationRulesetRulesCopilotCodeReview. Access the value via the '{suggest}' property getter instead.")
|
|
1903
|
+
|
|
1904
|
+
def __getitem__(self, key: str) -> Any:
|
|
1905
|
+
OrganizationRulesetRulesCopilotCodeReview.__key_warning(key)
|
|
1906
|
+
return super().__getitem__(key)
|
|
1907
|
+
|
|
1908
|
+
def get(self, key: str, default = None) -> Any:
|
|
1909
|
+
OrganizationRulesetRulesCopilotCodeReview.__key_warning(key)
|
|
1910
|
+
return super().get(key, default)
|
|
1911
|
+
|
|
1912
|
+
def __init__(__self__, *,
|
|
1913
|
+
review_draft_pull_requests: Optional[_builtins.bool] = None,
|
|
1914
|
+
review_on_push: Optional[_builtins.bool] = None):
|
|
1915
|
+
"""
|
|
1916
|
+
:param _builtins.bool review_draft_pull_requests: Copilot automatically reviews draft pull requests before they are marked as ready for review. Defaults to `false`.
|
|
1917
|
+
:param _builtins.bool review_on_push: Copilot automatically reviews each new push to the pull request. Defaults to `false`.
|
|
1918
|
+
"""
|
|
1919
|
+
if review_draft_pull_requests is not None:
|
|
1920
|
+
pulumi.set(__self__, "review_draft_pull_requests", review_draft_pull_requests)
|
|
1921
|
+
if review_on_push is not None:
|
|
1922
|
+
pulumi.set(__self__, "review_on_push", review_on_push)
|
|
1923
|
+
|
|
1924
|
+
@_builtins.property
|
|
1925
|
+
@pulumi.getter(name="reviewDraftPullRequests")
|
|
1926
|
+
def review_draft_pull_requests(self) -> Optional[_builtins.bool]:
|
|
1927
|
+
"""
|
|
1928
|
+
Copilot automatically reviews draft pull requests before they are marked as ready for review. Defaults to `false`.
|
|
1929
|
+
"""
|
|
1930
|
+
return pulumi.get(self, "review_draft_pull_requests")
|
|
1931
|
+
|
|
1932
|
+
@_builtins.property
|
|
1933
|
+
@pulumi.getter(name="reviewOnPush")
|
|
1934
|
+
def review_on_push(self) -> Optional[_builtins.bool]:
|
|
1935
|
+
"""
|
|
1936
|
+
Copilot automatically reviews each new push to the pull request. Defaults to `false`.
|
|
1937
|
+
"""
|
|
1938
|
+
return pulumi.get(self, "review_on_push")
|
|
1939
|
+
|
|
1940
|
+
|
|
1866
1941
|
@pulumi.output_type
|
|
1867
1942
|
class OrganizationRulesetRulesFileExtensionRestriction(dict):
|
|
1868
1943
|
@staticmethod
|
|
@@ -2008,7 +2083,9 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2008
2083
|
@staticmethod
|
|
2009
2084
|
def __key_warning(key: str):
|
|
2010
2085
|
suggest = None
|
|
2011
|
-
if key == "
|
|
2086
|
+
if key == "allowedMergeMethods":
|
|
2087
|
+
suggest = "allowed_merge_methods"
|
|
2088
|
+
elif key == "dismissStaleReviewsOnPush":
|
|
2012
2089
|
suggest = "dismiss_stale_reviews_on_push"
|
|
2013
2090
|
elif key == "requireCodeOwnerReview":
|
|
2014
2091
|
suggest = "require_code_owner_review"
|
|
@@ -2018,6 +2095,8 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2018
2095
|
suggest = "required_approving_review_count"
|
|
2019
2096
|
elif key == "requiredReviewThreadResolution":
|
|
2020
2097
|
suggest = "required_review_thread_resolution"
|
|
2098
|
+
elif key == "requiredReviewers":
|
|
2099
|
+
suggest = "required_reviewers"
|
|
2021
2100
|
|
|
2022
2101
|
if suggest:
|
|
2023
2102
|
pulumi.log.warn(f"Key '{key}' not found in OrganizationRulesetRulesPullRequest. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -2031,18 +2110,24 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2031
2110
|
return super().get(key, default)
|
|
2032
2111
|
|
|
2033
2112
|
def __init__(__self__, *,
|
|
2113
|
+
allowed_merge_methods: Optional[Sequence[_builtins.str]] = None,
|
|
2034
2114
|
dismiss_stale_reviews_on_push: Optional[_builtins.bool] = None,
|
|
2035
2115
|
require_code_owner_review: Optional[_builtins.bool] = None,
|
|
2036
2116
|
require_last_push_approval: Optional[_builtins.bool] = None,
|
|
2037
2117
|
required_approving_review_count: Optional[_builtins.int] = None,
|
|
2038
|
-
required_review_thread_resolution: Optional[_builtins.bool] = None
|
|
2118
|
+
required_review_thread_resolution: Optional[_builtins.bool] = None,
|
|
2119
|
+
required_reviewers: Optional[Sequence['outputs.OrganizationRulesetRulesPullRequestRequiredReviewer']] = None):
|
|
2039
2120
|
"""
|
|
2121
|
+
:param Sequence[_builtins.str] allowed_merge_methods: Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled.
|
|
2040
2122
|
:param _builtins.bool dismiss_stale_reviews_on_push: New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to `false`.
|
|
2041
2123
|
:param _builtins.bool require_code_owner_review: Require an approving review in pull requests that modify files that have a designated code owner. Defaults to `false`.
|
|
2042
2124
|
:param _builtins.bool require_last_push_approval: Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to `false`.
|
|
2043
2125
|
:param _builtins.int required_approving_review_count: The number of approving reviews that are required before a pull request can be merged. Defaults to `0`.
|
|
2044
2126
|
:param _builtins.bool required_review_thread_resolution: All conversations on code must be resolved before a pull request can be merged. Defaults to `false`.
|
|
2127
|
+
:param Sequence['OrganizationRulesetRulesPullRequestRequiredReviewerArgs'] required_reviewers: Require specific reviewers to approve pull requests targeting matching branches. Note: This feature is in beta and subject to change.
|
|
2045
2128
|
"""
|
|
2129
|
+
if allowed_merge_methods is not None:
|
|
2130
|
+
pulumi.set(__self__, "allowed_merge_methods", allowed_merge_methods)
|
|
2046
2131
|
if dismiss_stale_reviews_on_push is not None:
|
|
2047
2132
|
pulumi.set(__self__, "dismiss_stale_reviews_on_push", dismiss_stale_reviews_on_push)
|
|
2048
2133
|
if require_code_owner_review is not None:
|
|
@@ -2053,6 +2138,16 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2053
2138
|
pulumi.set(__self__, "required_approving_review_count", required_approving_review_count)
|
|
2054
2139
|
if required_review_thread_resolution is not None:
|
|
2055
2140
|
pulumi.set(__self__, "required_review_thread_resolution", required_review_thread_resolution)
|
|
2141
|
+
if required_reviewers is not None:
|
|
2142
|
+
pulumi.set(__self__, "required_reviewers", required_reviewers)
|
|
2143
|
+
|
|
2144
|
+
@_builtins.property
|
|
2145
|
+
@pulumi.getter(name="allowedMergeMethods")
|
|
2146
|
+
def allowed_merge_methods(self) -> Optional[Sequence[_builtins.str]]:
|
|
2147
|
+
"""
|
|
2148
|
+
Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled.
|
|
2149
|
+
"""
|
|
2150
|
+
return pulumi.get(self, "allowed_merge_methods")
|
|
2056
2151
|
|
|
2057
2152
|
@_builtins.property
|
|
2058
2153
|
@pulumi.getter(name="dismissStaleReviewsOnPush")
|
|
@@ -2094,6 +2189,102 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2094
2189
|
"""
|
|
2095
2190
|
return pulumi.get(self, "required_review_thread_resolution")
|
|
2096
2191
|
|
|
2192
|
+
@_builtins.property
|
|
2193
|
+
@pulumi.getter(name="requiredReviewers")
|
|
2194
|
+
def required_reviewers(self) -> Optional[Sequence['outputs.OrganizationRulesetRulesPullRequestRequiredReviewer']]:
|
|
2195
|
+
"""
|
|
2196
|
+
Require specific reviewers to approve pull requests targeting matching branches. Note: This feature is in beta and subject to change.
|
|
2197
|
+
"""
|
|
2198
|
+
return pulumi.get(self, "required_reviewers")
|
|
2199
|
+
|
|
2200
|
+
|
|
2201
|
+
@pulumi.output_type
|
|
2202
|
+
class OrganizationRulesetRulesPullRequestRequiredReviewer(dict):
|
|
2203
|
+
@staticmethod
|
|
2204
|
+
def __key_warning(key: str):
|
|
2205
|
+
suggest = None
|
|
2206
|
+
if key == "filePatterns":
|
|
2207
|
+
suggest = "file_patterns"
|
|
2208
|
+
elif key == "minimumApprovals":
|
|
2209
|
+
suggest = "minimum_approvals"
|
|
2210
|
+
|
|
2211
|
+
if suggest:
|
|
2212
|
+
pulumi.log.warn(f"Key '{key}' not found in OrganizationRulesetRulesPullRequestRequiredReviewer. Access the value via the '{suggest}' property getter instead.")
|
|
2213
|
+
|
|
2214
|
+
def __getitem__(self, key: str) -> Any:
|
|
2215
|
+
OrganizationRulesetRulesPullRequestRequiredReviewer.__key_warning(key)
|
|
2216
|
+
return super().__getitem__(key)
|
|
2217
|
+
|
|
2218
|
+
def get(self, key: str, default = None) -> Any:
|
|
2219
|
+
OrganizationRulesetRulesPullRequestRequiredReviewer.__key_warning(key)
|
|
2220
|
+
return super().get(key, default)
|
|
2221
|
+
|
|
2222
|
+
def __init__(__self__, *,
|
|
2223
|
+
file_patterns: Sequence[_builtins.str],
|
|
2224
|
+
minimum_approvals: _builtins.int,
|
|
2225
|
+
reviewer: 'outputs.OrganizationRulesetRulesPullRequestRequiredReviewerReviewer'):
|
|
2226
|
+
"""
|
|
2227
|
+
:param Sequence[_builtins.str] file_patterns: File patterns (fnmatch syntax) that this reviewer must approve.
|
|
2228
|
+
:param _builtins.int minimum_approvals: Minimum number of approvals required from this reviewer. Set to 0 to make approval optional.
|
|
2229
|
+
:param 'OrganizationRulesetRulesPullRequestRequiredReviewerReviewerArgs' reviewer: The reviewer that must review matching files.
|
|
2230
|
+
"""
|
|
2231
|
+
pulumi.set(__self__, "file_patterns", file_patterns)
|
|
2232
|
+
pulumi.set(__self__, "minimum_approvals", minimum_approvals)
|
|
2233
|
+
pulumi.set(__self__, "reviewer", reviewer)
|
|
2234
|
+
|
|
2235
|
+
@_builtins.property
|
|
2236
|
+
@pulumi.getter(name="filePatterns")
|
|
2237
|
+
def file_patterns(self) -> Sequence[_builtins.str]:
|
|
2238
|
+
"""
|
|
2239
|
+
File patterns (fnmatch syntax) that this reviewer must approve.
|
|
2240
|
+
"""
|
|
2241
|
+
return pulumi.get(self, "file_patterns")
|
|
2242
|
+
|
|
2243
|
+
@_builtins.property
|
|
2244
|
+
@pulumi.getter(name="minimumApprovals")
|
|
2245
|
+
def minimum_approvals(self) -> _builtins.int:
|
|
2246
|
+
"""
|
|
2247
|
+
Minimum number of approvals required from this reviewer. Set to 0 to make approval optional.
|
|
2248
|
+
"""
|
|
2249
|
+
return pulumi.get(self, "minimum_approvals")
|
|
2250
|
+
|
|
2251
|
+
@_builtins.property
|
|
2252
|
+
@pulumi.getter
|
|
2253
|
+
def reviewer(self) -> 'outputs.OrganizationRulesetRulesPullRequestRequiredReviewerReviewer':
|
|
2254
|
+
"""
|
|
2255
|
+
The reviewer that must review matching files.
|
|
2256
|
+
"""
|
|
2257
|
+
return pulumi.get(self, "reviewer")
|
|
2258
|
+
|
|
2259
|
+
|
|
2260
|
+
@pulumi.output_type
|
|
2261
|
+
class OrganizationRulesetRulesPullRequestRequiredReviewerReviewer(dict):
|
|
2262
|
+
def __init__(__self__, *,
|
|
2263
|
+
id: _builtins.int,
|
|
2264
|
+
type: _builtins.str):
|
|
2265
|
+
"""
|
|
2266
|
+
:param _builtins.int id: The ID of the reviewer that must review.
|
|
2267
|
+
:param _builtins.str type: The type of reviewer. Currently only `Team` is supported.
|
|
2268
|
+
"""
|
|
2269
|
+
pulumi.set(__self__, "id", id)
|
|
2270
|
+
pulumi.set(__self__, "type", type)
|
|
2271
|
+
|
|
2272
|
+
@_builtins.property
|
|
2273
|
+
@pulumi.getter
|
|
2274
|
+
def id(self) -> _builtins.int:
|
|
2275
|
+
"""
|
|
2276
|
+
The ID of the reviewer that must review.
|
|
2277
|
+
"""
|
|
2278
|
+
return pulumi.get(self, "id")
|
|
2279
|
+
|
|
2280
|
+
@_builtins.property
|
|
2281
|
+
@pulumi.getter
|
|
2282
|
+
def type(self) -> _builtins.str:
|
|
2283
|
+
"""
|
|
2284
|
+
The type of reviewer. Currently only `Team` is supported.
|
|
2285
|
+
"""
|
|
2286
|
+
return pulumi.get(self, "type")
|
|
2287
|
+
|
|
2097
2288
|
|
|
2098
2289
|
@pulumi.output_type
|
|
2099
2290
|
class OrganizationRulesetRulesRequiredCodeScanning(dict):
|
|
@@ -2900,9 +3091,9 @@ class RepositoryRulesetBypassActor(dict):
|
|
|
2900
3091
|
|
|
2901
3092
|
> Note: at the time of writing this, the following actor types correspond to the following actor IDs:
|
|
2902
3093
|
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
:param _builtins.int actor_id: The ID of the actor that can bypass a ruleset. If `actor_type` is `Integration`, `actor_id` is a GitHub App ID. App ID can be obtained by following instructions from the [Get an App API docs](https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#get-an-app)
|
|
3094
|
+
- `OrganizationAdmin` > `1`
|
|
3095
|
+
- `RepositoryRole` (This is the actor type, the following are the base repository roles and their associated IDs.)
|
|
3096
|
+
:param _builtins.int actor_id: (Number) The ID of the actor that can bypass a ruleset. If `actor_type` is `Integration`, `actor_id` is a GitHub App ID. App ID can be obtained by following instructions from the [Get an App API docs](https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#get-an-app). Some actor types such as `DeployKey` do not have an ID.
|
|
2906
3097
|
"""
|
|
2907
3098
|
pulumi.set(__self__, "actor_type", actor_type)
|
|
2908
3099
|
pulumi.set(__self__, "bypass_mode", bypass_mode)
|
|
@@ -2925,8 +3116,8 @@ class RepositoryRulesetBypassActor(dict):
|
|
|
2925
3116
|
|
|
2926
3117
|
> Note: at the time of writing this, the following actor types correspond to the following actor IDs:
|
|
2927
3118
|
|
|
2928
|
-
|
|
2929
|
-
|
|
3119
|
+
- `OrganizationAdmin` > `1`
|
|
3120
|
+
- `RepositoryRole` (This is the actor type, the following are the base repository roles and their associated IDs.)
|
|
2930
3121
|
"""
|
|
2931
3122
|
return pulumi.get(self, "bypass_mode")
|
|
2932
3123
|
|
|
@@ -2934,7 +3125,7 @@ class RepositoryRulesetBypassActor(dict):
|
|
|
2934
3125
|
@pulumi.getter(name="actorId")
|
|
2935
3126
|
def actor_id(self) -> Optional[_builtins.int]:
|
|
2936
3127
|
"""
|
|
2937
|
-
The ID of the actor that can bypass a ruleset. If `actor_type` is `Integration`, `actor_id` is a GitHub App ID. App ID can be obtained by following instructions from the [Get an App API docs](https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#get-an-app)
|
|
3128
|
+
(Number) The ID of the actor that can bypass a ruleset. If `actor_type` is `Integration`, `actor_id` is a GitHub App ID. App ID can be obtained by following instructions from the [Get an App API docs](https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#get-an-app). Some actor types such as `DeployKey` do not have an ID.
|
|
2938
3129
|
"""
|
|
2939
3130
|
return pulumi.get(self, "actor_id")
|
|
2940
3131
|
|
|
@@ -2961,7 +3152,9 @@ class RepositoryRulesetConditions(dict):
|
|
|
2961
3152
|
def __init__(__self__, *,
|
|
2962
3153
|
ref_name: 'outputs.RepositoryRulesetConditionsRefName'):
|
|
2963
3154
|
"""
|
|
2964
|
-
:param 'RepositoryRulesetConditionsRefNameArgs' ref_name: (Block List,
|
|
3155
|
+
:param 'RepositoryRulesetConditionsRefNameArgs' ref_name: (Block List, Max: 1) Required for `branch` and `tag` targets. Must NOT be set for `push` targets. (see below for nested schema)
|
|
3156
|
+
|
|
3157
|
+
> **Note:** For `push` targets, do not include `ref_name` in conditions. Push rulesets operate on file content, not on refs. The `conditions` block is optional for push targets.
|
|
2965
3158
|
"""
|
|
2966
3159
|
pulumi.set(__self__, "ref_name", ref_name)
|
|
2967
3160
|
|
|
@@ -2969,7 +3162,9 @@ class RepositoryRulesetConditions(dict):
|
|
|
2969
3162
|
@pulumi.getter(name="refName")
|
|
2970
3163
|
def ref_name(self) -> 'outputs.RepositoryRulesetConditionsRefName':
|
|
2971
3164
|
"""
|
|
2972
|
-
(Block List,
|
|
3165
|
+
(Block List, Max: 1) Required for `branch` and `tag` targets. Must NOT be set for `push` targets. (see below for nested schema)
|
|
3166
|
+
|
|
3167
|
+
> **Note:** For `push` targets, do not include `ref_name` in conditions. Push rulesets operate on file content, not on refs. The `conditions` block is optional for push targets.
|
|
2973
3168
|
"""
|
|
2974
3169
|
return pulumi.get(self, "ref_name")
|
|
2975
3170
|
|
|
@@ -3016,6 +3211,8 @@ class RepositoryRulesetRules(dict):
|
|
|
3016
3211
|
suggest = "commit_message_pattern"
|
|
3017
3212
|
elif key == "committerEmailPattern":
|
|
3018
3213
|
suggest = "committer_email_pattern"
|
|
3214
|
+
elif key == "copilotCodeReview":
|
|
3215
|
+
suggest = "copilot_code_review"
|
|
3019
3216
|
elif key == "fileExtensionRestriction":
|
|
3020
3217
|
suggest = "file_extension_restriction"
|
|
3021
3218
|
elif key == "filePathRestriction":
|
|
@@ -3061,6 +3258,7 @@ class RepositoryRulesetRules(dict):
|
|
|
3061
3258
|
commit_author_email_pattern: Optional['outputs.RepositoryRulesetRulesCommitAuthorEmailPattern'] = None,
|
|
3062
3259
|
commit_message_pattern: Optional['outputs.RepositoryRulesetRulesCommitMessagePattern'] = None,
|
|
3063
3260
|
committer_email_pattern: Optional['outputs.RepositoryRulesetRulesCommitterEmailPattern'] = None,
|
|
3261
|
+
copilot_code_review: Optional['outputs.RepositoryRulesetRulesCopilotCodeReview'] = None,
|
|
3064
3262
|
creation: Optional[_builtins.bool] = None,
|
|
3065
3263
|
deletion: Optional[_builtins.bool] = None,
|
|
3066
3264
|
file_extension_restriction: Optional['outputs.RepositoryRulesetRulesFileExtensionRestriction'] = None,
|
|
@@ -3083,6 +3281,7 @@ class RepositoryRulesetRules(dict):
|
|
|
3083
3281
|
:param 'RepositoryRulesetRulesCommitAuthorEmailPatternArgs' commit_author_email_pattern: (Block List, Max: 1) Parameters to be used for the commit_author_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
|
|
3084
3282
|
:param 'RepositoryRulesetRulesCommitMessagePatternArgs' commit_message_pattern: (Block List, Max: 1) Parameters to be used for the commit_message_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
|
|
3085
3283
|
:param 'RepositoryRulesetRulesCommitterEmailPatternArgs' committer_email_pattern: (Block List, Max: 1) Parameters to be used for the committer_email_pattern rule. This rule only applies to repositories within an enterprise, it cannot be applied to repositories owned by individuals or regular organizations. (see below for nested schema)
|
|
3284
|
+
:param 'RepositoryRulesetRulesCopilotCodeReviewArgs' copilot_code_review: (Block List, Max: 1) Automatically request Copilot code review for new pull requests if the author has access to Copilot code review and their premium requests quota has not reached the limit. (see below for nested schema)
|
|
3086
3285
|
:param _builtins.bool creation: (Boolean) Only allow users with bypass permission to create matching refs.
|
|
3087
3286
|
:param _builtins.bool deletion: (Boolean) Only allow users with bypass permissions to delete matching refs.
|
|
3088
3287
|
:param 'RepositoryRulesetRulesFileExtensionRestrictionArgs' file_extension_restriction: (Block List, Max: 1) Prevent commits that include files with specified file extensions from being pushed to the commit graph. This rule only applies to rulesets with target `push`. (see below for nested schema)
|
|
@@ -3109,6 +3308,8 @@ class RepositoryRulesetRules(dict):
|
|
|
3109
3308
|
pulumi.set(__self__, "commit_message_pattern", commit_message_pattern)
|
|
3110
3309
|
if committer_email_pattern is not None:
|
|
3111
3310
|
pulumi.set(__self__, "committer_email_pattern", committer_email_pattern)
|
|
3311
|
+
if copilot_code_review is not None:
|
|
3312
|
+
pulumi.set(__self__, "copilot_code_review", copilot_code_review)
|
|
3112
3313
|
if creation is not None:
|
|
3113
3314
|
pulumi.set(__self__, "creation", creation)
|
|
3114
3315
|
if deletion is not None:
|
|
@@ -3176,6 +3377,14 @@ class RepositoryRulesetRules(dict):
|
|
|
3176
3377
|
"""
|
|
3177
3378
|
return pulumi.get(self, "committer_email_pattern")
|
|
3178
3379
|
|
|
3380
|
+
@_builtins.property
|
|
3381
|
+
@pulumi.getter(name="copilotCodeReview")
|
|
3382
|
+
def copilot_code_review(self) -> Optional['outputs.RepositoryRulesetRulesCopilotCodeReview']:
|
|
3383
|
+
"""
|
|
3384
|
+
(Block List, Max: 1) Automatically request Copilot code review for new pull requests if the author has access to Copilot code review and their premium requests quota has not reached the limit. (see below for nested schema)
|
|
3385
|
+
"""
|
|
3386
|
+
return pulumi.get(self, "copilot_code_review")
|
|
3387
|
+
|
|
3179
3388
|
@_builtins.property
|
|
3180
3389
|
@pulumi.getter
|
|
3181
3390
|
def creation(self) -> Optional[_builtins.bool]:
|
|
@@ -3525,6 +3734,56 @@ class RepositoryRulesetRulesCommitterEmailPattern(dict):
|
|
|
3525
3734
|
return pulumi.get(self, "negate")
|
|
3526
3735
|
|
|
3527
3736
|
|
|
3737
|
+
@pulumi.output_type
|
|
3738
|
+
class RepositoryRulesetRulesCopilotCodeReview(dict):
|
|
3739
|
+
@staticmethod
|
|
3740
|
+
def __key_warning(key: str):
|
|
3741
|
+
suggest = None
|
|
3742
|
+
if key == "reviewDraftPullRequests":
|
|
3743
|
+
suggest = "review_draft_pull_requests"
|
|
3744
|
+
elif key == "reviewOnPush":
|
|
3745
|
+
suggest = "review_on_push"
|
|
3746
|
+
|
|
3747
|
+
if suggest:
|
|
3748
|
+
pulumi.log.warn(f"Key '{key}' not found in RepositoryRulesetRulesCopilotCodeReview. Access the value via the '{suggest}' property getter instead.")
|
|
3749
|
+
|
|
3750
|
+
def __getitem__(self, key: str) -> Any:
|
|
3751
|
+
RepositoryRulesetRulesCopilotCodeReview.__key_warning(key)
|
|
3752
|
+
return super().__getitem__(key)
|
|
3753
|
+
|
|
3754
|
+
def get(self, key: str, default = None) -> Any:
|
|
3755
|
+
RepositoryRulesetRulesCopilotCodeReview.__key_warning(key)
|
|
3756
|
+
return super().get(key, default)
|
|
3757
|
+
|
|
3758
|
+
def __init__(__self__, *,
|
|
3759
|
+
review_draft_pull_requests: Optional[_builtins.bool] = None,
|
|
3760
|
+
review_on_push: Optional[_builtins.bool] = None):
|
|
3761
|
+
"""
|
|
3762
|
+
:param _builtins.bool review_draft_pull_requests: Copilot automatically reviews draft pull requests before they are marked as ready for review. Defaults to `false`.
|
|
3763
|
+
:param _builtins.bool review_on_push: Copilot automatically reviews each new push to the pull request. Defaults to `false`.
|
|
3764
|
+
"""
|
|
3765
|
+
if review_draft_pull_requests is not None:
|
|
3766
|
+
pulumi.set(__self__, "review_draft_pull_requests", review_draft_pull_requests)
|
|
3767
|
+
if review_on_push is not None:
|
|
3768
|
+
pulumi.set(__self__, "review_on_push", review_on_push)
|
|
3769
|
+
|
|
3770
|
+
@_builtins.property
|
|
3771
|
+
@pulumi.getter(name="reviewDraftPullRequests")
|
|
3772
|
+
def review_draft_pull_requests(self) -> Optional[_builtins.bool]:
|
|
3773
|
+
"""
|
|
3774
|
+
Copilot automatically reviews draft pull requests before they are marked as ready for review. Defaults to `false`.
|
|
3775
|
+
"""
|
|
3776
|
+
return pulumi.get(self, "review_draft_pull_requests")
|
|
3777
|
+
|
|
3778
|
+
@_builtins.property
|
|
3779
|
+
@pulumi.getter(name="reviewOnPush")
|
|
3780
|
+
def review_on_push(self) -> Optional[_builtins.bool]:
|
|
3781
|
+
"""
|
|
3782
|
+
Copilot automatically reviews each new push to the pull request. Defaults to `false`.
|
|
3783
|
+
"""
|
|
3784
|
+
return pulumi.get(self, "review_on_push")
|
|
3785
|
+
|
|
3786
|
+
|
|
3528
3787
|
@pulumi.output_type
|
|
3529
3788
|
class RepositoryRulesetRulesFileExtensionRestriction(dict):
|
|
3530
3789
|
@staticmethod
|
|
@@ -3790,7 +4049,9 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3790
4049
|
@staticmethod
|
|
3791
4050
|
def __key_warning(key: str):
|
|
3792
4051
|
suggest = None
|
|
3793
|
-
if key == "
|
|
4052
|
+
if key == "allowedMergeMethods":
|
|
4053
|
+
suggest = "allowed_merge_methods"
|
|
4054
|
+
elif key == "dismissStaleReviewsOnPush":
|
|
3794
4055
|
suggest = "dismiss_stale_reviews_on_push"
|
|
3795
4056
|
elif key == "requireCodeOwnerReview":
|
|
3796
4057
|
suggest = "require_code_owner_review"
|
|
@@ -3800,6 +4061,8 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3800
4061
|
suggest = "required_approving_review_count"
|
|
3801
4062
|
elif key == "requiredReviewThreadResolution":
|
|
3802
4063
|
suggest = "required_review_thread_resolution"
|
|
4064
|
+
elif key == "requiredReviewers":
|
|
4065
|
+
suggest = "required_reviewers"
|
|
3803
4066
|
|
|
3804
4067
|
if suggest:
|
|
3805
4068
|
pulumi.log.warn(f"Key '{key}' not found in RepositoryRulesetRulesPullRequest. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3813,18 +4076,24 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3813
4076
|
return super().get(key, default)
|
|
3814
4077
|
|
|
3815
4078
|
def __init__(__self__, *,
|
|
4079
|
+
allowed_merge_methods: Optional[Sequence[_builtins.str]] = None,
|
|
3816
4080
|
dismiss_stale_reviews_on_push: Optional[_builtins.bool] = None,
|
|
3817
4081
|
require_code_owner_review: Optional[_builtins.bool] = None,
|
|
3818
4082
|
require_last_push_approval: Optional[_builtins.bool] = None,
|
|
3819
4083
|
required_approving_review_count: Optional[_builtins.int] = None,
|
|
3820
|
-
required_review_thread_resolution: Optional[_builtins.bool] = None
|
|
4084
|
+
required_review_thread_resolution: Optional[_builtins.bool] = None,
|
|
4085
|
+
required_reviewers: Optional[Sequence['outputs.RepositoryRulesetRulesPullRequestRequiredReviewer']] = None):
|
|
3821
4086
|
"""
|
|
4087
|
+
:param Sequence[_builtins.str] allowed_merge_methods: Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled.
|
|
3822
4088
|
:param _builtins.bool dismiss_stale_reviews_on_push: New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to `false`.
|
|
3823
4089
|
:param _builtins.bool require_code_owner_review: Require an approving review in pull requests that modify files that have a designated code owner. Defaults to `false`.
|
|
3824
4090
|
:param _builtins.bool require_last_push_approval: Whether the most recent reviewable push must be approved by someone other than the person who pushed it. Defaults to `false`.
|
|
3825
4091
|
:param _builtins.int required_approving_review_count: The number of approving reviews that are required before a pull request can be merged. Defaults to `0`.
|
|
3826
4092
|
:param _builtins.bool required_review_thread_resolution: All conversations on code must be resolved before a pull request can be merged. Defaults to `false`.
|
|
4093
|
+
:param Sequence['RepositoryRulesetRulesPullRequestRequiredReviewerArgs'] required_reviewers: Require specific reviewers to approve pull requests targeting matching branches. Note: This feature is in beta and subject to change.
|
|
3827
4094
|
"""
|
|
4095
|
+
if allowed_merge_methods is not None:
|
|
4096
|
+
pulumi.set(__self__, "allowed_merge_methods", allowed_merge_methods)
|
|
3828
4097
|
if dismiss_stale_reviews_on_push is not None:
|
|
3829
4098
|
pulumi.set(__self__, "dismiss_stale_reviews_on_push", dismiss_stale_reviews_on_push)
|
|
3830
4099
|
if require_code_owner_review is not None:
|
|
@@ -3835,6 +4104,16 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3835
4104
|
pulumi.set(__self__, "required_approving_review_count", required_approving_review_count)
|
|
3836
4105
|
if required_review_thread_resolution is not None:
|
|
3837
4106
|
pulumi.set(__self__, "required_review_thread_resolution", required_review_thread_resolution)
|
|
4107
|
+
if required_reviewers is not None:
|
|
4108
|
+
pulumi.set(__self__, "required_reviewers", required_reviewers)
|
|
4109
|
+
|
|
4110
|
+
@_builtins.property
|
|
4111
|
+
@pulumi.getter(name="allowedMergeMethods")
|
|
4112
|
+
def allowed_merge_methods(self) -> Optional[Sequence[_builtins.str]]:
|
|
4113
|
+
"""
|
|
4114
|
+
Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled.
|
|
4115
|
+
"""
|
|
4116
|
+
return pulumi.get(self, "allowed_merge_methods")
|
|
3838
4117
|
|
|
3839
4118
|
@_builtins.property
|
|
3840
4119
|
@pulumi.getter(name="dismissStaleReviewsOnPush")
|
|
@@ -3876,6 +4155,102 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3876
4155
|
"""
|
|
3877
4156
|
return pulumi.get(self, "required_review_thread_resolution")
|
|
3878
4157
|
|
|
4158
|
+
@_builtins.property
|
|
4159
|
+
@pulumi.getter(name="requiredReviewers")
|
|
4160
|
+
def required_reviewers(self) -> Optional[Sequence['outputs.RepositoryRulesetRulesPullRequestRequiredReviewer']]:
|
|
4161
|
+
"""
|
|
4162
|
+
Require specific reviewers to approve pull requests targeting matching branches. Note: This feature is in beta and subject to change.
|
|
4163
|
+
"""
|
|
4164
|
+
return pulumi.get(self, "required_reviewers")
|
|
4165
|
+
|
|
4166
|
+
|
|
4167
|
+
@pulumi.output_type
|
|
4168
|
+
class RepositoryRulesetRulesPullRequestRequiredReviewer(dict):
|
|
4169
|
+
@staticmethod
|
|
4170
|
+
def __key_warning(key: str):
|
|
4171
|
+
suggest = None
|
|
4172
|
+
if key == "filePatterns":
|
|
4173
|
+
suggest = "file_patterns"
|
|
4174
|
+
elif key == "minimumApprovals":
|
|
4175
|
+
suggest = "minimum_approvals"
|
|
4176
|
+
|
|
4177
|
+
if suggest:
|
|
4178
|
+
pulumi.log.warn(f"Key '{key}' not found in RepositoryRulesetRulesPullRequestRequiredReviewer. Access the value via the '{suggest}' property getter instead.")
|
|
4179
|
+
|
|
4180
|
+
def __getitem__(self, key: str) -> Any:
|
|
4181
|
+
RepositoryRulesetRulesPullRequestRequiredReviewer.__key_warning(key)
|
|
4182
|
+
return super().__getitem__(key)
|
|
4183
|
+
|
|
4184
|
+
def get(self, key: str, default = None) -> Any:
|
|
4185
|
+
RepositoryRulesetRulesPullRequestRequiredReviewer.__key_warning(key)
|
|
4186
|
+
return super().get(key, default)
|
|
4187
|
+
|
|
4188
|
+
def __init__(__self__, *,
|
|
4189
|
+
file_patterns: Sequence[_builtins.str],
|
|
4190
|
+
minimum_approvals: _builtins.int,
|
|
4191
|
+
reviewer: 'outputs.RepositoryRulesetRulesPullRequestRequiredReviewerReviewer'):
|
|
4192
|
+
"""
|
|
4193
|
+
:param Sequence[_builtins.str] file_patterns: File patterns (fnmatch syntax) that this reviewer must approve.
|
|
4194
|
+
:param _builtins.int minimum_approvals: Minimum number of approvals required from this reviewer. Set to 0 to make approval optional.
|
|
4195
|
+
:param 'RepositoryRulesetRulesPullRequestRequiredReviewerReviewerArgs' reviewer: The reviewer that must review matching files.
|
|
4196
|
+
"""
|
|
4197
|
+
pulumi.set(__self__, "file_patterns", file_patterns)
|
|
4198
|
+
pulumi.set(__self__, "minimum_approvals", minimum_approvals)
|
|
4199
|
+
pulumi.set(__self__, "reviewer", reviewer)
|
|
4200
|
+
|
|
4201
|
+
@_builtins.property
|
|
4202
|
+
@pulumi.getter(name="filePatterns")
|
|
4203
|
+
def file_patterns(self) -> Sequence[_builtins.str]:
|
|
4204
|
+
"""
|
|
4205
|
+
File patterns (fnmatch syntax) that this reviewer must approve.
|
|
4206
|
+
"""
|
|
4207
|
+
return pulumi.get(self, "file_patterns")
|
|
4208
|
+
|
|
4209
|
+
@_builtins.property
|
|
4210
|
+
@pulumi.getter(name="minimumApprovals")
|
|
4211
|
+
def minimum_approvals(self) -> _builtins.int:
|
|
4212
|
+
"""
|
|
4213
|
+
Minimum number of approvals required from this reviewer. Set to 0 to make approval optional.
|
|
4214
|
+
"""
|
|
4215
|
+
return pulumi.get(self, "minimum_approvals")
|
|
4216
|
+
|
|
4217
|
+
@_builtins.property
|
|
4218
|
+
@pulumi.getter
|
|
4219
|
+
def reviewer(self) -> 'outputs.RepositoryRulesetRulesPullRequestRequiredReviewerReviewer':
|
|
4220
|
+
"""
|
|
4221
|
+
The reviewer that must review matching files.
|
|
4222
|
+
"""
|
|
4223
|
+
return pulumi.get(self, "reviewer")
|
|
4224
|
+
|
|
4225
|
+
|
|
4226
|
+
@pulumi.output_type
|
|
4227
|
+
class RepositoryRulesetRulesPullRequestRequiredReviewerReviewer(dict):
|
|
4228
|
+
def __init__(__self__, *,
|
|
4229
|
+
id: _builtins.int,
|
|
4230
|
+
type: _builtins.str):
|
|
4231
|
+
"""
|
|
4232
|
+
:param _builtins.int id: The ID of the reviewer that must review.
|
|
4233
|
+
:param _builtins.str type: The type of reviewer. Currently only `Team` is supported.
|
|
4234
|
+
"""
|
|
4235
|
+
pulumi.set(__self__, "id", id)
|
|
4236
|
+
pulumi.set(__self__, "type", type)
|
|
4237
|
+
|
|
4238
|
+
@_builtins.property
|
|
4239
|
+
@pulumi.getter
|
|
4240
|
+
def id(self) -> _builtins.int:
|
|
4241
|
+
"""
|
|
4242
|
+
The ID of the reviewer that must review.
|
|
4243
|
+
"""
|
|
4244
|
+
return pulumi.get(self, "id")
|
|
4245
|
+
|
|
4246
|
+
@_builtins.property
|
|
4247
|
+
@pulumi.getter
|
|
4248
|
+
def type(self) -> _builtins.str:
|
|
4249
|
+
"""
|
|
4250
|
+
The type of reviewer. Currently only `Team` is supported.
|
|
4251
|
+
"""
|
|
4252
|
+
return pulumi.get(self, "type")
|
|
4253
|
+
|
|
3879
4254
|
|
|
3880
4255
|
@pulumi.output_type
|
|
3881
4256
|
class RepositoryRulesetRulesRequiredCodeScanning(dict):
|
|
@@ -4334,7 +4709,7 @@ class RepositorySecurityAndAnalysisSecretScanningAiDetection(dict):
|
|
|
4334
4709
|
def __init__(__self__, *,
|
|
4335
4710
|
status: _builtins.str):
|
|
4336
4711
|
"""
|
|
4337
|
-
:param _builtins.str status:
|
|
4712
|
+
:param _builtins.str status: Set to `enabled` to enable secret scanning AI detection on the repository. Can be `enabled` or `disabled`. If set to `enabled`, the repository's visibility must be `public`, `security_and_analysis[0].advanced_security[0].status` must also be set to `enabled`, or your Organization must have split licensing for Advanced security.
|
|
4338
4713
|
"""
|
|
4339
4714
|
pulumi.set(__self__, "status", status)
|
|
4340
4715
|
|
|
@@ -4342,7 +4717,7 @@ class RepositorySecurityAndAnalysisSecretScanningAiDetection(dict):
|
|
|
4342
4717
|
@pulumi.getter
|
|
4343
4718
|
def status(self) -> _builtins.str:
|
|
4344
4719
|
"""
|
|
4345
|
-
|
|
4720
|
+
Set to `enabled` to enable secret scanning AI detection on the repository. Can be `enabled` or `disabled`. If set to `enabled`, the repository's visibility must be `public`, `security_and_analysis[0].advanced_security[0].status` must also be set to `enabled`, or your Organization must have split licensing for Advanced security.
|
|
4346
4721
|
"""
|
|
4347
4722
|
return pulumi.get(self, "status")
|
|
4348
4723
|
|
|
@@ -4410,6 +4785,8 @@ class RepositoryTemplate(dict):
|
|
|
4410
4785
|
:param _builtins.str owner: The GitHub organization or user the template repository is owned by.
|
|
4411
4786
|
:param _builtins.str repository: The name of the template repository.
|
|
4412
4787
|
:param _builtins.bool include_all_branches: Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
|
|
4788
|
+
|
|
4789
|
+
> **Note on `internal` visibility with templates**: When creating a repository from a template with `visibility = "internal"`, the provider uses a two-step process due to GitHub API limitations. The template creation API only supports a `private` boolean parameter. Therefore, repositories with `visibility = "internal"` are initially created as private and then immediately updated to internal visibility. This ensures internal repositories are never exposed publicly during creation.
|
|
4413
4790
|
"""
|
|
4414
4791
|
pulumi.set(__self__, "owner", owner)
|
|
4415
4792
|
pulumi.set(__self__, "repository", repository)
|
|
@@ -4437,6 +4814,8 @@ class RepositoryTemplate(dict):
|
|
|
4437
4814
|
def include_all_branches(self) -> Optional[_builtins.bool]:
|
|
4438
4815
|
"""
|
|
4439
4816
|
Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template).
|
|
4817
|
+
|
|
4818
|
+
> **Note on `internal` visibility with templates**: When creating a repository from a template with `visibility = "internal"`, the provider uses a two-step process due to GitHub API limitations. The template creation API only supports a `private` boolean parameter. Therefore, repositories with `visibility = "internal"` are initially created as private and then immediately updated to internal visibility. This ensures internal repositories are never exposed publicly during creation.
|
|
4440
4819
|
"""
|
|
4441
4820
|
return pulumi.get(self, "include_all_branches")
|
|
4442
4821
|
|