pulumi-github 6.11.0a1768966924__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 +28 -0
- pulumi_github/_inputs.py +324 -19
- pulumi_github/actions_environment_secret.py +141 -12
- pulumi_github/actions_environment_variable.py +71 -37
- 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_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 +64 -4
- pulumi_github/get_release_asset.py +370 -0
- pulumi_github/organization_ruleset.py +11 -17
- pulumi_github/outputs.py +234 -13
- pulumi_github/pulumi-plugin.json +1 -1
- pulumi_github/repository.py +32 -27
- pulumi_github/repository_ruleset.py +7 -7
- {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/METADATA +1 -1
- {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/RECORD +31 -27
- {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/WHEEL +1 -1
- {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/top_level.txt +0 -0
pulumi_github/outputs.py
CHANGED
|
@@ -47,6 +47,8 @@ __all__ = [
|
|
|
47
47
|
'OrganizationRulesetRulesMaxFilePathLength',
|
|
48
48
|
'OrganizationRulesetRulesMaxFileSize',
|
|
49
49
|
'OrganizationRulesetRulesPullRequest',
|
|
50
|
+
'OrganizationRulesetRulesPullRequestRequiredReviewer',
|
|
51
|
+
'OrganizationRulesetRulesPullRequestRequiredReviewerReviewer',
|
|
50
52
|
'OrganizationRulesetRulesRequiredCodeScanning',
|
|
51
53
|
'OrganizationRulesetRulesRequiredCodeScanningRequiredCodeScanningTool',
|
|
52
54
|
'OrganizationRulesetRulesRequiredStatusChecks',
|
|
@@ -77,6 +79,8 @@ __all__ = [
|
|
|
77
79
|
'RepositoryRulesetRulesMaxFileSize',
|
|
78
80
|
'RepositoryRulesetRulesMergeQueue',
|
|
79
81
|
'RepositoryRulesetRulesPullRequest',
|
|
82
|
+
'RepositoryRulesetRulesPullRequestRequiredReviewer',
|
|
83
|
+
'RepositoryRulesetRulesPullRequestRequiredReviewerReviewer',
|
|
80
84
|
'RepositoryRulesetRulesRequiredCodeScanning',
|
|
81
85
|
'RepositoryRulesetRulesRequiredCodeScanningRequiredCodeScanningTool',
|
|
82
86
|
'RepositoryRulesetRulesRequiredDeployments',
|
|
@@ -1197,7 +1201,7 @@ class OrganizationRulesetBypassActor(dict):
|
|
|
1197
1201
|
|
|
1198
1202
|
- `OrganizationAdmin` > `1`
|
|
1199
1203
|
- `RepositoryRole` (This is the actor type, the following are the base repository roles and their associated IDs.)
|
|
1200
|
-
:param _builtins.int actor_id: (Number) The ID of the actor that can bypass a ruleset.
|
|
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.
|
|
1201
1205
|
"""
|
|
1202
1206
|
pulumi.set(__self__, "actor_type", actor_type)
|
|
1203
1207
|
pulumi.set(__self__, "bypass_mode", bypass_mode)
|
|
@@ -1229,7 +1233,7 @@ class OrganizationRulesetBypassActor(dict):
|
|
|
1229
1233
|
@pulumi.getter(name="actorId")
|
|
1230
1234
|
def actor_id(self) -> Optional[_builtins.int]:
|
|
1231
1235
|
"""
|
|
1232
|
-
(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.
|
|
1233
1237
|
"""
|
|
1234
1238
|
return pulumi.get(self, "actor_id")
|
|
1235
1239
|
|
|
@@ -1258,17 +1262,20 @@ class OrganizationRulesetConditions(dict):
|
|
|
1258
1262
|
return super().get(key, default)
|
|
1259
1263
|
|
|
1260
1264
|
def __init__(__self__, *,
|
|
1261
|
-
ref_name: 'outputs.OrganizationRulesetConditionsRefName',
|
|
1265
|
+
ref_name: Optional['outputs.OrganizationRulesetConditionsRefName'] = None,
|
|
1262
1266
|
repository_ids: Optional[Sequence[_builtins.int]] = None,
|
|
1263
1267
|
repository_name: Optional['outputs.OrganizationRulesetConditionsRepositoryName'] = None):
|
|
1264
1268
|
"""
|
|
1265
|
-
: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)
|
|
1266
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`.
|
|
1267
1271
|
:param 'OrganizationRulesetConditionsRepositoryNameArgs' repository_name: Conflicts with `repository_id`. (see below for nested schema)
|
|
1268
1272
|
|
|
1269
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.
|
|
1270
1276
|
"""
|
|
1271
|
-
|
|
1277
|
+
if ref_name is not None:
|
|
1278
|
+
pulumi.set(__self__, "ref_name", ref_name)
|
|
1272
1279
|
if repository_ids is not None:
|
|
1273
1280
|
pulumi.set(__self__, "repository_ids", repository_ids)
|
|
1274
1281
|
if repository_name is not None:
|
|
@@ -1276,9 +1283,9 @@ class OrganizationRulesetConditions(dict):
|
|
|
1276
1283
|
|
|
1277
1284
|
@_builtins.property
|
|
1278
1285
|
@pulumi.getter(name="refName")
|
|
1279
|
-
def ref_name(self) -> 'outputs.OrganizationRulesetConditionsRefName':
|
|
1286
|
+
def ref_name(self) -> Optional['outputs.OrganizationRulesetConditionsRefName']:
|
|
1280
1287
|
"""
|
|
1281
|
-
(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)
|
|
1282
1289
|
"""
|
|
1283
1290
|
return pulumi.get(self, "ref_name")
|
|
1284
1291
|
|
|
@@ -1297,6 +1304,8 @@ class OrganizationRulesetConditions(dict):
|
|
|
1297
1304
|
Conflicts with `repository_id`. (see below for nested schema)
|
|
1298
1305
|
|
|
1299
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.
|
|
1300
1309
|
"""
|
|
1301
1310
|
return pulumi.get(self, "repository_name")
|
|
1302
1311
|
|
|
@@ -2086,6 +2095,8 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2086
2095
|
suggest = "required_approving_review_count"
|
|
2087
2096
|
elif key == "requiredReviewThreadResolution":
|
|
2088
2097
|
suggest = "required_review_thread_resolution"
|
|
2098
|
+
elif key == "requiredReviewers":
|
|
2099
|
+
suggest = "required_reviewers"
|
|
2089
2100
|
|
|
2090
2101
|
if suggest:
|
|
2091
2102
|
pulumi.log.warn(f"Key '{key}' not found in OrganizationRulesetRulesPullRequest. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -2104,7 +2115,8 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2104
2115
|
require_code_owner_review: Optional[_builtins.bool] = None,
|
|
2105
2116
|
require_last_push_approval: Optional[_builtins.bool] = None,
|
|
2106
2117
|
required_approving_review_count: Optional[_builtins.int] = None,
|
|
2107
|
-
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):
|
|
2108
2120
|
"""
|
|
2109
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.
|
|
2110
2122
|
:param _builtins.bool dismiss_stale_reviews_on_push: New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to `false`.
|
|
@@ -2112,6 +2124,7 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2112
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`.
|
|
2113
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`.
|
|
2114
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.
|
|
2115
2128
|
"""
|
|
2116
2129
|
if allowed_merge_methods is not None:
|
|
2117
2130
|
pulumi.set(__self__, "allowed_merge_methods", allowed_merge_methods)
|
|
@@ -2125,6 +2138,8 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2125
2138
|
pulumi.set(__self__, "required_approving_review_count", required_approving_review_count)
|
|
2126
2139
|
if required_review_thread_resolution is not None:
|
|
2127
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)
|
|
2128
2143
|
|
|
2129
2144
|
@_builtins.property
|
|
2130
2145
|
@pulumi.getter(name="allowedMergeMethods")
|
|
@@ -2174,6 +2189,102 @@ class OrganizationRulesetRulesPullRequest(dict):
|
|
|
2174
2189
|
"""
|
|
2175
2190
|
return pulumi.get(self, "required_review_thread_resolution")
|
|
2176
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
|
+
|
|
2177
2288
|
|
|
2178
2289
|
@pulumi.output_type
|
|
2179
2290
|
class OrganizationRulesetRulesRequiredCodeScanning(dict):
|
|
@@ -2982,7 +3093,7 @@ class RepositoryRulesetBypassActor(dict):
|
|
|
2982
3093
|
|
|
2983
3094
|
- `OrganizationAdmin` > `1`
|
|
2984
3095
|
- `RepositoryRole` (This is the actor type, the following are the base repository roles and their associated IDs.)
|
|
2985
|
-
: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)
|
|
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.
|
|
2986
3097
|
"""
|
|
2987
3098
|
pulumi.set(__self__, "actor_type", actor_type)
|
|
2988
3099
|
pulumi.set(__self__, "bypass_mode", bypass_mode)
|
|
@@ -3014,7 +3125,7 @@ class RepositoryRulesetBypassActor(dict):
|
|
|
3014
3125
|
@pulumi.getter(name="actorId")
|
|
3015
3126
|
def actor_id(self) -> Optional[_builtins.int]:
|
|
3016
3127
|
"""
|
|
3017
|
-
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.
|
|
3018
3129
|
"""
|
|
3019
3130
|
return pulumi.get(self, "actor_id")
|
|
3020
3131
|
|
|
@@ -3041,7 +3152,9 @@ class RepositoryRulesetConditions(dict):
|
|
|
3041
3152
|
def __init__(__self__, *,
|
|
3042
3153
|
ref_name: 'outputs.RepositoryRulesetConditionsRefName'):
|
|
3043
3154
|
"""
|
|
3044
|
-
: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.
|
|
3045
3158
|
"""
|
|
3046
3159
|
pulumi.set(__self__, "ref_name", ref_name)
|
|
3047
3160
|
|
|
@@ -3049,7 +3162,9 @@ class RepositoryRulesetConditions(dict):
|
|
|
3049
3162
|
@pulumi.getter(name="refName")
|
|
3050
3163
|
def ref_name(self) -> 'outputs.RepositoryRulesetConditionsRefName':
|
|
3051
3164
|
"""
|
|
3052
|
-
(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.
|
|
3053
3168
|
"""
|
|
3054
3169
|
return pulumi.get(self, "ref_name")
|
|
3055
3170
|
|
|
@@ -3946,6 +4061,8 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3946
4061
|
suggest = "required_approving_review_count"
|
|
3947
4062
|
elif key == "requiredReviewThreadResolution":
|
|
3948
4063
|
suggest = "required_review_thread_resolution"
|
|
4064
|
+
elif key == "requiredReviewers":
|
|
4065
|
+
suggest = "required_reviewers"
|
|
3949
4066
|
|
|
3950
4067
|
if suggest:
|
|
3951
4068
|
pulumi.log.warn(f"Key '{key}' not found in RepositoryRulesetRulesPullRequest. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3964,7 +4081,8 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3964
4081
|
require_code_owner_review: Optional[_builtins.bool] = None,
|
|
3965
4082
|
require_last_push_approval: Optional[_builtins.bool] = None,
|
|
3966
4083
|
required_approving_review_count: Optional[_builtins.int] = None,
|
|
3967
|
-
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):
|
|
3968
4086
|
"""
|
|
3969
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.
|
|
3970
4088
|
:param _builtins.bool dismiss_stale_reviews_on_push: New, reviewable commits pushed will dismiss previous pull request review approvals. Defaults to `false`.
|
|
@@ -3972,6 +4090,7 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3972
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`.
|
|
3973
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`.
|
|
3974
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.
|
|
3975
4094
|
"""
|
|
3976
4095
|
if allowed_merge_methods is not None:
|
|
3977
4096
|
pulumi.set(__self__, "allowed_merge_methods", allowed_merge_methods)
|
|
@@ -3985,6 +4104,8 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
3985
4104
|
pulumi.set(__self__, "required_approving_review_count", required_approving_review_count)
|
|
3986
4105
|
if required_review_thread_resolution is not None:
|
|
3987
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)
|
|
3988
4109
|
|
|
3989
4110
|
@_builtins.property
|
|
3990
4111
|
@pulumi.getter(name="allowedMergeMethods")
|
|
@@ -4034,6 +4155,102 @@ class RepositoryRulesetRulesPullRequest(dict):
|
|
|
4034
4155
|
"""
|
|
4035
4156
|
return pulumi.get(self, "required_review_thread_resolution")
|
|
4036
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
|
+
|
|
4037
4254
|
|
|
4038
4255
|
@pulumi.output_type
|
|
4039
4256
|
class RepositoryRulesetRulesRequiredCodeScanning(dict):
|
|
@@ -4568,6 +4785,8 @@ class RepositoryTemplate(dict):
|
|
|
4568
4785
|
:param _builtins.str owner: The GitHub organization or user the template repository is owned by.
|
|
4569
4786
|
:param _builtins.str repository: The name of the template repository.
|
|
4570
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.
|
|
4571
4790
|
"""
|
|
4572
4791
|
pulumi.set(__self__, "owner", owner)
|
|
4573
4792
|
pulumi.set(__self__, "repository", repository)
|
|
@@ -4595,6 +4814,8 @@ class RepositoryTemplate(dict):
|
|
|
4595
4814
|
def include_all_branches(self) -> Optional[_builtins.bool]:
|
|
4596
4815
|
"""
|
|
4597
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.
|
|
4598
4819
|
"""
|
|
4599
4820
|
return pulumi.get(self, "include_all_branches")
|
|
4600
4821
|
|
pulumi_github/pulumi-plugin.json
CHANGED