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.
Files changed (31) hide show
  1. pulumi_github/__init__.py +28 -0
  2. pulumi_github/_inputs.py +324 -19
  3. pulumi_github/actions_environment_secret.py +141 -12
  4. pulumi_github/actions_environment_variable.py +71 -37
  5. pulumi_github/actions_organization_permissions.py +50 -3
  6. pulumi_github/actions_organization_secret.py +164 -55
  7. pulumi_github/actions_organization_secret_repositories.py +44 -28
  8. pulumi_github/actions_organization_secret_repository.py +44 -28
  9. pulumi_github/actions_organization_variable.py +44 -47
  10. pulumi_github/actions_organization_variable_repositories.py +262 -0
  11. pulumi_github/actions_organization_variable_repository.py +262 -0
  12. pulumi_github/actions_repository_permissions.py +50 -3
  13. pulumi_github/actions_secret.py +176 -41
  14. pulumi_github/actions_variable.py +65 -33
  15. pulumi_github/app_installation_repositories.py +6 -6
  16. pulumi_github/app_installation_repository.py +6 -6
  17. pulumi_github/dependabot_organization_secret.py +128 -59
  18. pulumi_github/dependabot_organization_secret_repositories.py +44 -36
  19. pulumi_github/dependabot_organization_secret_repository.py +262 -0
  20. pulumi_github/dependabot_secret.py +154 -41
  21. pulumi_github/emu_group_mapping.py +64 -4
  22. pulumi_github/get_release_asset.py +370 -0
  23. pulumi_github/organization_ruleset.py +11 -17
  24. pulumi_github/outputs.py +234 -13
  25. pulumi_github/pulumi-plugin.json +1 -1
  26. pulumi_github/repository.py +32 -27
  27. pulumi_github/repository_ruleset.py +7 -7
  28. {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/METADATA +1 -1
  29. {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/RECORD +31 -27
  30. {pulumi_github-6.11.0a1768966924.dist-info → pulumi_github-6.12.0.dist-info}/WHEEL +1 -1
  31. {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, Min: 1, Max: 1) (see below for nested schema)
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
- pulumi.set(__self__, "ref_name", ref_name)
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, Min: 1, Max: 1) (see below for nested schema)
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, Min: 1, Max: 1) (see below for nested schema)
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, Min: 1, Max: 1) (see below for nested schema)
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
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "github",
4
- "version": "6.11.0-alpha.1768966924"
4
+ "version": "6.12.0"
5
5
  }