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
@@ -24,13 +24,15 @@ class ActionsRepositoryPermissionsArgs:
24
24
  repository: pulumi.Input[_builtins.str],
25
25
  allowed_actions: Optional[pulumi.Input[_builtins.str]] = None,
26
26
  allowed_actions_config: Optional[pulumi.Input['ActionsRepositoryPermissionsAllowedActionsConfigArgs']] = None,
27
- enabled: Optional[pulumi.Input[_builtins.bool]] = None):
27
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
28
+ sha_pinning_required: Optional[pulumi.Input[_builtins.bool]] = None):
28
29
  """
29
30
  The set of arguments for constructing a ActionsRepositoryPermissions resource.
30
31
  :param pulumi.Input[_builtins.str] repository: The GitHub repository
31
32
  :param pulumi.Input[_builtins.str] allowed_actions: The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.
32
33
  :param pulumi.Input['ActionsRepositoryPermissionsAllowedActionsConfigArgs'] allowed_actions_config: Sets the actions that are allowed in an repository. Only available when `allowed_actions` = `selected`. See Allowed Actions Config below for details.
33
34
  :param pulumi.Input[_builtins.bool] enabled: Should GitHub actions be enabled on this repository?
35
+ :param pulumi.Input[_builtins.bool] sha_pinning_required: Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
34
36
  """
35
37
  pulumi.set(__self__, "repository", repository)
36
38
  if allowed_actions is not None:
@@ -39,6 +41,8 @@ class ActionsRepositoryPermissionsArgs:
39
41
  pulumi.set(__self__, "allowed_actions_config", allowed_actions_config)
40
42
  if enabled is not None:
41
43
  pulumi.set(__self__, "enabled", enabled)
44
+ if sha_pinning_required is not None:
45
+ pulumi.set(__self__, "sha_pinning_required", sha_pinning_required)
42
46
 
43
47
  @_builtins.property
44
48
  @pulumi.getter
@@ -88,6 +92,18 @@ class ActionsRepositoryPermissionsArgs:
88
92
  def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
89
93
  pulumi.set(self, "enabled", value)
90
94
 
95
+ @_builtins.property
96
+ @pulumi.getter(name="shaPinningRequired")
97
+ def sha_pinning_required(self) -> Optional[pulumi.Input[_builtins.bool]]:
98
+ """
99
+ Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
100
+ """
101
+ return pulumi.get(self, "sha_pinning_required")
102
+
103
+ @sha_pinning_required.setter
104
+ def sha_pinning_required(self, value: Optional[pulumi.Input[_builtins.bool]]):
105
+ pulumi.set(self, "sha_pinning_required", value)
106
+
91
107
 
92
108
  @pulumi.input_type
93
109
  class _ActionsRepositoryPermissionsState:
@@ -95,13 +111,15 @@ class _ActionsRepositoryPermissionsState:
95
111
  allowed_actions: Optional[pulumi.Input[_builtins.str]] = None,
96
112
  allowed_actions_config: Optional[pulumi.Input['ActionsRepositoryPermissionsAllowedActionsConfigArgs']] = None,
97
113
  enabled: Optional[pulumi.Input[_builtins.bool]] = None,
98
- repository: Optional[pulumi.Input[_builtins.str]] = None):
114
+ repository: Optional[pulumi.Input[_builtins.str]] = None,
115
+ sha_pinning_required: Optional[pulumi.Input[_builtins.bool]] = None):
99
116
  """
100
117
  Input properties used for looking up and filtering ActionsRepositoryPermissions resources.
101
118
  :param pulumi.Input[_builtins.str] allowed_actions: The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.
102
119
  :param pulumi.Input['ActionsRepositoryPermissionsAllowedActionsConfigArgs'] allowed_actions_config: Sets the actions that are allowed in an repository. Only available when `allowed_actions` = `selected`. See Allowed Actions Config below for details.
103
120
  :param pulumi.Input[_builtins.bool] enabled: Should GitHub actions be enabled on this repository?
104
121
  :param pulumi.Input[_builtins.str] repository: The GitHub repository
122
+ :param pulumi.Input[_builtins.bool] sha_pinning_required: Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
105
123
  """
106
124
  if allowed_actions is not None:
107
125
  pulumi.set(__self__, "allowed_actions", allowed_actions)
@@ -111,6 +129,8 @@ class _ActionsRepositoryPermissionsState:
111
129
  pulumi.set(__self__, "enabled", enabled)
112
130
  if repository is not None:
113
131
  pulumi.set(__self__, "repository", repository)
132
+ if sha_pinning_required is not None:
133
+ pulumi.set(__self__, "sha_pinning_required", sha_pinning_required)
114
134
 
115
135
  @_builtins.property
116
136
  @pulumi.getter(name="allowedActions")
@@ -160,6 +180,18 @@ class _ActionsRepositoryPermissionsState:
160
180
  def repository(self, value: Optional[pulumi.Input[_builtins.str]]):
161
181
  pulumi.set(self, "repository", value)
162
182
 
183
+ @_builtins.property
184
+ @pulumi.getter(name="shaPinningRequired")
185
+ def sha_pinning_required(self) -> Optional[pulumi.Input[_builtins.bool]]:
186
+ """
187
+ Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
188
+ """
189
+ return pulumi.get(self, "sha_pinning_required")
190
+
191
+ @sha_pinning_required.setter
192
+ def sha_pinning_required(self, value: Optional[pulumi.Input[_builtins.bool]]):
193
+ pulumi.set(self, "sha_pinning_required", value)
194
+
163
195
 
164
196
  @pulumi.type_token("github:index/actionsRepositoryPermissions:ActionsRepositoryPermissions")
165
197
  class ActionsRepositoryPermissions(pulumi.CustomResource):
@@ -171,6 +203,7 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
171
203
  allowed_actions_config: Optional[pulumi.Input[Union['ActionsRepositoryPermissionsAllowedActionsConfigArgs', 'ActionsRepositoryPermissionsAllowedActionsConfigArgsDict']]] = None,
172
204
  enabled: Optional[pulumi.Input[_builtins.bool]] = None,
173
205
  repository: Optional[pulumi.Input[_builtins.str]] = None,
206
+ sha_pinning_required: Optional[pulumi.Input[_builtins.bool]] = None,
174
207
  __props__=None):
175
208
  """
176
209
  This resource allows you to enable and manage GitHub Actions permissions for a given repository.
@@ -210,6 +243,7 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
210
243
  :param pulumi.Input[Union['ActionsRepositoryPermissionsAllowedActionsConfigArgs', 'ActionsRepositoryPermissionsAllowedActionsConfigArgsDict']] allowed_actions_config: Sets the actions that are allowed in an repository. Only available when `allowed_actions` = `selected`. See Allowed Actions Config below for details.
211
244
  :param pulumi.Input[_builtins.bool] enabled: Should GitHub actions be enabled on this repository?
212
245
  :param pulumi.Input[_builtins.str] repository: The GitHub repository
246
+ :param pulumi.Input[_builtins.bool] sha_pinning_required: Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
213
247
  """
214
248
  ...
215
249
  @overload
@@ -268,6 +302,7 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
268
302
  allowed_actions_config: Optional[pulumi.Input[Union['ActionsRepositoryPermissionsAllowedActionsConfigArgs', 'ActionsRepositoryPermissionsAllowedActionsConfigArgsDict']]] = None,
269
303
  enabled: Optional[pulumi.Input[_builtins.bool]] = None,
270
304
  repository: Optional[pulumi.Input[_builtins.str]] = None,
305
+ sha_pinning_required: Optional[pulumi.Input[_builtins.bool]] = None,
271
306
  __props__=None):
272
307
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
273
308
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -283,6 +318,7 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
283
318
  if repository is None and not opts.urn:
284
319
  raise TypeError("Missing required property 'repository'")
285
320
  __props__.__dict__["repository"] = repository
321
+ __props__.__dict__["sha_pinning_required"] = sha_pinning_required
286
322
  super(ActionsRepositoryPermissions, __self__).__init__(
287
323
  'github:index/actionsRepositoryPermissions:ActionsRepositoryPermissions',
288
324
  resource_name,
@@ -296,7 +332,8 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
296
332
  allowed_actions: Optional[pulumi.Input[_builtins.str]] = None,
297
333
  allowed_actions_config: Optional[pulumi.Input[Union['ActionsRepositoryPermissionsAllowedActionsConfigArgs', 'ActionsRepositoryPermissionsAllowedActionsConfigArgsDict']]] = None,
298
334
  enabled: Optional[pulumi.Input[_builtins.bool]] = None,
299
- repository: Optional[pulumi.Input[_builtins.str]] = None) -> 'ActionsRepositoryPermissions':
335
+ repository: Optional[pulumi.Input[_builtins.str]] = None,
336
+ sha_pinning_required: Optional[pulumi.Input[_builtins.bool]] = None) -> 'ActionsRepositoryPermissions':
300
337
  """
301
338
  Get an existing ActionsRepositoryPermissions resource's state with the given name, id, and optional extra
302
339
  properties used to qualify the lookup.
@@ -308,6 +345,7 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
308
345
  :param pulumi.Input[Union['ActionsRepositoryPermissionsAllowedActionsConfigArgs', 'ActionsRepositoryPermissionsAllowedActionsConfigArgsDict']] allowed_actions_config: Sets the actions that are allowed in an repository. Only available when `allowed_actions` = `selected`. See Allowed Actions Config below for details.
309
346
  :param pulumi.Input[_builtins.bool] enabled: Should GitHub actions be enabled on this repository?
310
347
  :param pulumi.Input[_builtins.str] repository: The GitHub repository
348
+ :param pulumi.Input[_builtins.bool] sha_pinning_required: Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
311
349
  """
312
350
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
313
351
 
@@ -317,6 +355,7 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
317
355
  __props__.__dict__["allowed_actions_config"] = allowed_actions_config
318
356
  __props__.__dict__["enabled"] = enabled
319
357
  __props__.__dict__["repository"] = repository
358
+ __props__.__dict__["sha_pinning_required"] = sha_pinning_required
320
359
  return ActionsRepositoryPermissions(resource_name, opts=opts, __props__=__props__)
321
360
 
322
361
  @_builtins.property
@@ -351,3 +390,11 @@ class ActionsRepositoryPermissions(pulumi.CustomResource):
351
390
  """
352
391
  return pulumi.get(self, "repository")
353
392
 
393
+ @_builtins.property
394
+ @pulumi.getter(name="shaPinningRequired")
395
+ def sha_pinning_required(self) -> pulumi.Output[_builtins.bool]:
396
+ """
397
+ Whether pinning to a specific SHA is required for all actions and reusable workflows in a repository.
398
+ """
399
+ return pulumi.get(self, "sha_pinning_required")
400
+
@@ -23,20 +23,30 @@ class ActionsSecretArgs:
23
23
  secret_name: pulumi.Input[_builtins.str],
24
24
  destroy_on_drift: Optional[pulumi.Input[_builtins.bool]] = None,
25
25
  encrypted_value: Optional[pulumi.Input[_builtins.str]] = None,
26
+ key_id: Optional[pulumi.Input[_builtins.str]] = None,
26
27
  plaintext_value: Optional[pulumi.Input[_builtins.str]] = None):
27
28
  """
28
29
  The set of arguments for constructing a ActionsSecret resource.
29
- :param pulumi.Input[_builtins.str] repository: Name of the repository
30
- :param pulumi.Input[_builtins.str] secret_name: Name of the secret
30
+ :param pulumi.Input[_builtins.str] repository: Name of the repository.
31
+ :param pulumi.Input[_builtins.str] secret_name: Name of the secret.
32
+ :param pulumi.Input[_builtins.bool] destroy_on_drift: (Optional) This is ignored as drift detection is built into the resource.
33
+
34
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
31
35
  :param pulumi.Input[_builtins.str] encrypted_value: Encrypted value of the secret using the GitHub public key in Base64 format.
32
- :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted
36
+ :param pulumi.Input[_builtins.str] key_id: ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
37
+ :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted.
33
38
  """
34
39
  pulumi.set(__self__, "repository", repository)
35
40
  pulumi.set(__self__, "secret_name", secret_name)
41
+ if destroy_on_drift is not None:
42
+ warnings.warn("""This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""", DeprecationWarning)
43
+ pulumi.log.warn("""destroy_on_drift is deprecated: This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""")
36
44
  if destroy_on_drift is not None:
37
45
  pulumi.set(__self__, "destroy_on_drift", destroy_on_drift)
38
46
  if encrypted_value is not None:
39
47
  pulumi.set(__self__, "encrypted_value", encrypted_value)
48
+ if key_id is not None:
49
+ pulumi.set(__self__, "key_id", key_id)
40
50
  if plaintext_value is not None:
41
51
  pulumi.set(__self__, "plaintext_value", plaintext_value)
42
52
 
@@ -44,7 +54,7 @@ class ActionsSecretArgs:
44
54
  @pulumi.getter
45
55
  def repository(self) -> pulumi.Input[_builtins.str]:
46
56
  """
47
- Name of the repository
57
+ Name of the repository.
48
58
  """
49
59
  return pulumi.get(self, "repository")
50
60
 
@@ -56,7 +66,7 @@ class ActionsSecretArgs:
56
66
  @pulumi.getter(name="secretName")
57
67
  def secret_name(self) -> pulumi.Input[_builtins.str]:
58
68
  """
59
- Name of the secret
69
+ Name of the secret.
60
70
  """
61
71
  return pulumi.get(self, "secret_name")
62
72
 
@@ -66,7 +76,13 @@ class ActionsSecretArgs:
66
76
 
67
77
  @_builtins.property
68
78
  @pulumi.getter(name="destroyOnDrift")
79
+ @_utilities.deprecated("""This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""")
69
80
  def destroy_on_drift(self) -> Optional[pulumi.Input[_builtins.bool]]:
81
+ """
82
+ (Optional) This is ignored as drift detection is built into the resource.
83
+
84
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
85
+ """
70
86
  return pulumi.get(self, "destroy_on_drift")
71
87
 
72
88
  @destroy_on_drift.setter
@@ -85,11 +101,23 @@ class ActionsSecretArgs:
85
101
  def encrypted_value(self, value: Optional[pulumi.Input[_builtins.str]]):
86
102
  pulumi.set(self, "encrypted_value", value)
87
103
 
104
+ @_builtins.property
105
+ @pulumi.getter(name="keyId")
106
+ def key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
107
+ """
108
+ ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
109
+ """
110
+ return pulumi.get(self, "key_id")
111
+
112
+ @key_id.setter
113
+ def key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "key_id", value)
115
+
88
116
  @_builtins.property
89
117
  @pulumi.getter(name="plaintextValue")
90
118
  def plaintext_value(self) -> Optional[pulumi.Input[_builtins.str]]:
91
119
  """
92
- Plaintext value of the secret to be encrypted
120
+ Plaintext value of the secret to be encrypted.
93
121
  """
94
122
  return pulumi.get(self, "plaintext_value")
95
123
 
@@ -104,29 +132,47 @@ class _ActionsSecretState:
104
132
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
105
133
  destroy_on_drift: Optional[pulumi.Input[_builtins.bool]] = None,
106
134
  encrypted_value: Optional[pulumi.Input[_builtins.str]] = None,
135
+ key_id: Optional[pulumi.Input[_builtins.str]] = None,
107
136
  plaintext_value: Optional[pulumi.Input[_builtins.str]] = None,
137
+ remote_updated_at: Optional[pulumi.Input[_builtins.str]] = None,
108
138
  repository: Optional[pulumi.Input[_builtins.str]] = None,
139
+ repository_id: Optional[pulumi.Input[_builtins.int]] = None,
109
140
  secret_name: Optional[pulumi.Input[_builtins.str]] = None,
110
141
  updated_at: Optional[pulumi.Input[_builtins.str]] = None):
111
142
  """
112
143
  Input properties used for looking up and filtering ActionsSecret resources.
113
- :param pulumi.Input[_builtins.str] created_at: Date of actions_secret creation.
144
+ :param pulumi.Input[_builtins.str] created_at: Date the secret was created.
145
+ :param pulumi.Input[_builtins.bool] destroy_on_drift: (Optional) This is ignored as drift detection is built into the resource.
146
+
147
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
114
148
  :param pulumi.Input[_builtins.str] encrypted_value: Encrypted value of the secret using the GitHub public key in Base64 format.
115
- :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted
116
- :param pulumi.Input[_builtins.str] repository: Name of the repository
117
- :param pulumi.Input[_builtins.str] secret_name: Name of the secret
118
- :param pulumi.Input[_builtins.str] updated_at: Date of actions_secret update.
149
+ :param pulumi.Input[_builtins.str] key_id: ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
150
+ :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted.
151
+ :param pulumi.Input[_builtins.str] remote_updated_at: Date the secret was last updated in GitHub.
152
+ :param pulumi.Input[_builtins.str] repository: Name of the repository.
153
+ :param pulumi.Input[_builtins.int] repository_id: ID of the repository.
154
+ :param pulumi.Input[_builtins.str] secret_name: Name of the secret.
155
+ :param pulumi.Input[_builtins.str] updated_at: Date the secret was last updated by the provider.
119
156
  """
120
157
  if created_at is not None:
121
158
  pulumi.set(__self__, "created_at", created_at)
159
+ if destroy_on_drift is not None:
160
+ warnings.warn("""This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""", DeprecationWarning)
161
+ pulumi.log.warn("""destroy_on_drift is deprecated: This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""")
122
162
  if destroy_on_drift is not None:
123
163
  pulumi.set(__self__, "destroy_on_drift", destroy_on_drift)
124
164
  if encrypted_value is not None:
125
165
  pulumi.set(__self__, "encrypted_value", encrypted_value)
166
+ if key_id is not None:
167
+ pulumi.set(__self__, "key_id", key_id)
126
168
  if plaintext_value is not None:
127
169
  pulumi.set(__self__, "plaintext_value", plaintext_value)
170
+ if remote_updated_at is not None:
171
+ pulumi.set(__self__, "remote_updated_at", remote_updated_at)
128
172
  if repository is not None:
129
173
  pulumi.set(__self__, "repository", repository)
174
+ if repository_id is not None:
175
+ pulumi.set(__self__, "repository_id", repository_id)
130
176
  if secret_name is not None:
131
177
  pulumi.set(__self__, "secret_name", secret_name)
132
178
  if updated_at is not None:
@@ -136,7 +182,7 @@ class _ActionsSecretState:
136
182
  @pulumi.getter(name="createdAt")
137
183
  def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
138
184
  """
139
- Date of actions_secret creation.
185
+ Date the secret was created.
140
186
  """
141
187
  return pulumi.get(self, "created_at")
142
188
 
@@ -146,7 +192,13 @@ class _ActionsSecretState:
146
192
 
147
193
  @_builtins.property
148
194
  @pulumi.getter(name="destroyOnDrift")
195
+ @_utilities.deprecated("""This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""")
149
196
  def destroy_on_drift(self) -> Optional[pulumi.Input[_builtins.bool]]:
197
+ """
198
+ (Optional) This is ignored as drift detection is built into the resource.
199
+
200
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
201
+ """
150
202
  return pulumi.get(self, "destroy_on_drift")
151
203
 
152
204
  @destroy_on_drift.setter
@@ -165,11 +217,23 @@ class _ActionsSecretState:
165
217
  def encrypted_value(self, value: Optional[pulumi.Input[_builtins.str]]):
166
218
  pulumi.set(self, "encrypted_value", value)
167
219
 
220
+ @_builtins.property
221
+ @pulumi.getter(name="keyId")
222
+ def key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
223
+ """
224
+ ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
225
+ """
226
+ return pulumi.get(self, "key_id")
227
+
228
+ @key_id.setter
229
+ def key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
230
+ pulumi.set(self, "key_id", value)
231
+
168
232
  @_builtins.property
169
233
  @pulumi.getter(name="plaintextValue")
170
234
  def plaintext_value(self) -> Optional[pulumi.Input[_builtins.str]]:
171
235
  """
172
- Plaintext value of the secret to be encrypted
236
+ Plaintext value of the secret to be encrypted.
173
237
  """
174
238
  return pulumi.get(self, "plaintext_value")
175
239
 
@@ -177,11 +241,23 @@ class _ActionsSecretState:
177
241
  def plaintext_value(self, value: Optional[pulumi.Input[_builtins.str]]):
178
242
  pulumi.set(self, "plaintext_value", value)
179
243
 
244
+ @_builtins.property
245
+ @pulumi.getter(name="remoteUpdatedAt")
246
+ def remote_updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
247
+ """
248
+ Date the secret was last updated in GitHub.
249
+ """
250
+ return pulumi.get(self, "remote_updated_at")
251
+
252
+ @remote_updated_at.setter
253
+ def remote_updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
254
+ pulumi.set(self, "remote_updated_at", value)
255
+
180
256
  @_builtins.property
181
257
  @pulumi.getter
182
258
  def repository(self) -> Optional[pulumi.Input[_builtins.str]]:
183
259
  """
184
- Name of the repository
260
+ Name of the repository.
185
261
  """
186
262
  return pulumi.get(self, "repository")
187
263
 
@@ -189,11 +265,23 @@ class _ActionsSecretState:
189
265
  def repository(self, value: Optional[pulumi.Input[_builtins.str]]):
190
266
  pulumi.set(self, "repository", value)
191
267
 
268
+ @_builtins.property
269
+ @pulumi.getter(name="repositoryId")
270
+ def repository_id(self) -> Optional[pulumi.Input[_builtins.int]]:
271
+ """
272
+ ID of the repository.
273
+ """
274
+ return pulumi.get(self, "repository_id")
275
+
276
+ @repository_id.setter
277
+ def repository_id(self, value: Optional[pulumi.Input[_builtins.int]]):
278
+ pulumi.set(self, "repository_id", value)
279
+
192
280
  @_builtins.property
193
281
  @pulumi.getter(name="secretName")
194
282
  def secret_name(self) -> Optional[pulumi.Input[_builtins.str]]:
195
283
  """
196
- Name of the secret
284
+ Name of the secret.
197
285
  """
198
286
  return pulumi.get(self, "secret_name")
199
287
 
@@ -205,7 +293,7 @@ class _ActionsSecretState:
205
293
  @pulumi.getter(name="updatedAt")
206
294
  def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
207
295
  """
208
- Date of actions_secret update.
296
+ Date the secret was last updated by the provider.
209
297
  """
210
298
  return pulumi.get(self, "updated_at")
211
299
 
@@ -222,29 +310,32 @@ class ActionsSecret(pulumi.CustomResource):
222
310
  opts: Optional[pulumi.ResourceOptions] = None,
223
311
  destroy_on_drift: Optional[pulumi.Input[_builtins.bool]] = None,
224
312
  encrypted_value: Optional[pulumi.Input[_builtins.str]] = None,
313
+ key_id: Optional[pulumi.Input[_builtins.str]] = None,
225
314
  plaintext_value: Optional[pulumi.Input[_builtins.str]] = None,
226
315
  repository: Optional[pulumi.Input[_builtins.str]] = None,
227
316
  secret_name: Optional[pulumi.Input[_builtins.str]] = None,
228
317
  __props__=None):
229
318
  """
230
- ## Example Usage
231
-
232
319
  ## Import
233
320
 
234
- This resource can be imported using an ID made up of the `repository` and `secret_name`:
321
+ ### Import Command
322
+
323
+ The following command imports a GitHub actions secret named `mysecret` for the repo `myrepo` to a `github_actions_secret` resource named `example`.
235
324
 
236
325
  ```sh
237
- $ pulumi import github:index/actionsSecret:ActionsSecret example_secret repository/secret_name
326
+ $ pulumi import github:index/actionsSecret:ActionsSecret example myrepo:mysecret
238
327
  ```
239
- NOTE: the implementation is limited in that it won't fetch the value of the
240
- `plaintext_value` or `encrypted_value` fields when importing. You may need to ignore changes for these as a workaround.
241
328
 
242
329
  :param str resource_name: The name of the resource.
243
330
  :param pulumi.ResourceOptions opts: Options for the resource.
331
+ :param pulumi.Input[_builtins.bool] destroy_on_drift: (Optional) This is ignored as drift detection is built into the resource.
332
+
333
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
244
334
  :param pulumi.Input[_builtins.str] encrypted_value: Encrypted value of the secret using the GitHub public key in Base64 format.
245
- :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted
246
- :param pulumi.Input[_builtins.str] repository: Name of the repository
247
- :param pulumi.Input[_builtins.str] secret_name: Name of the secret
335
+ :param pulumi.Input[_builtins.str] key_id: ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
336
+ :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted.
337
+ :param pulumi.Input[_builtins.str] repository: Name of the repository.
338
+ :param pulumi.Input[_builtins.str] secret_name: Name of the secret.
248
339
  """
249
340
  ...
250
341
  @overload
@@ -253,17 +344,15 @@ class ActionsSecret(pulumi.CustomResource):
253
344
  args: ActionsSecretArgs,
254
345
  opts: Optional[pulumi.ResourceOptions] = None):
255
346
  """
256
- ## Example Usage
257
-
258
347
  ## Import
259
348
 
260
- This resource can be imported using an ID made up of the `repository` and `secret_name`:
349
+ ### Import Command
350
+
351
+ The following command imports a GitHub actions secret named `mysecret` for the repo `myrepo` to a `github_actions_secret` resource named `example`.
261
352
 
262
353
  ```sh
263
- $ pulumi import github:index/actionsSecret:ActionsSecret example_secret repository/secret_name
354
+ $ pulumi import github:index/actionsSecret:ActionsSecret example myrepo:mysecret
264
355
  ```
265
- NOTE: the implementation is limited in that it won't fetch the value of the
266
- `plaintext_value` or `encrypted_value` fields when importing. You may need to ignore changes for these as a workaround.
267
356
 
268
357
  :param str resource_name: The name of the resource.
269
358
  :param ActionsSecretArgs args: The arguments to use to populate this resource's properties.
@@ -282,6 +371,7 @@ class ActionsSecret(pulumi.CustomResource):
282
371
  opts: Optional[pulumi.ResourceOptions] = None,
283
372
  destroy_on_drift: Optional[pulumi.Input[_builtins.bool]] = None,
284
373
  encrypted_value: Optional[pulumi.Input[_builtins.str]] = None,
374
+ key_id: Optional[pulumi.Input[_builtins.str]] = None,
285
375
  plaintext_value: Optional[pulumi.Input[_builtins.str]] = None,
286
376
  repository: Optional[pulumi.Input[_builtins.str]] = None,
287
377
  secret_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -296,6 +386,7 @@ class ActionsSecret(pulumi.CustomResource):
296
386
 
297
387
  __props__.__dict__["destroy_on_drift"] = destroy_on_drift
298
388
  __props__.__dict__["encrypted_value"] = None if encrypted_value is None else pulumi.Output.secret(encrypted_value)
389
+ __props__.__dict__["key_id"] = key_id
299
390
  __props__.__dict__["plaintext_value"] = None if plaintext_value is None else pulumi.Output.secret(plaintext_value)
300
391
  if repository is None and not opts.urn:
301
392
  raise TypeError("Missing required property 'repository'")
@@ -304,6 +395,8 @@ class ActionsSecret(pulumi.CustomResource):
304
395
  raise TypeError("Missing required property 'secret_name'")
305
396
  __props__.__dict__["secret_name"] = secret_name
306
397
  __props__.__dict__["created_at"] = None
398
+ __props__.__dict__["remote_updated_at"] = None
399
+ __props__.__dict__["repository_id"] = None
307
400
  __props__.__dict__["updated_at"] = None
308
401
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["encryptedValue", "plaintextValue"])
309
402
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
@@ -320,8 +413,11 @@ class ActionsSecret(pulumi.CustomResource):
320
413
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
321
414
  destroy_on_drift: Optional[pulumi.Input[_builtins.bool]] = None,
322
415
  encrypted_value: Optional[pulumi.Input[_builtins.str]] = None,
416
+ key_id: Optional[pulumi.Input[_builtins.str]] = None,
323
417
  plaintext_value: Optional[pulumi.Input[_builtins.str]] = None,
418
+ remote_updated_at: Optional[pulumi.Input[_builtins.str]] = None,
324
419
  repository: Optional[pulumi.Input[_builtins.str]] = None,
420
+ repository_id: Optional[pulumi.Input[_builtins.int]] = None,
325
421
  secret_name: Optional[pulumi.Input[_builtins.str]] = None,
326
422
  updated_at: Optional[pulumi.Input[_builtins.str]] = None) -> 'ActionsSecret':
327
423
  """
@@ -331,12 +427,18 @@ class ActionsSecret(pulumi.CustomResource):
331
427
  :param str resource_name: The unique name of the resulting resource.
332
428
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
333
429
  :param pulumi.ResourceOptions opts: Options for the resource.
334
- :param pulumi.Input[_builtins.str] created_at: Date of actions_secret creation.
430
+ :param pulumi.Input[_builtins.str] created_at: Date the secret was created.
431
+ :param pulumi.Input[_builtins.bool] destroy_on_drift: (Optional) This is ignored as drift detection is built into the resource.
432
+
433
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
335
434
  :param pulumi.Input[_builtins.str] encrypted_value: Encrypted value of the secret using the GitHub public key in Base64 format.
336
- :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted
337
- :param pulumi.Input[_builtins.str] repository: Name of the repository
338
- :param pulumi.Input[_builtins.str] secret_name: Name of the secret
339
- :param pulumi.Input[_builtins.str] updated_at: Date of actions_secret update.
435
+ :param pulumi.Input[_builtins.str] key_id: ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
436
+ :param pulumi.Input[_builtins.str] plaintext_value: Plaintext value of the secret to be encrypted.
437
+ :param pulumi.Input[_builtins.str] remote_updated_at: Date the secret was last updated in GitHub.
438
+ :param pulumi.Input[_builtins.str] repository: Name of the repository.
439
+ :param pulumi.Input[_builtins.int] repository_id: ID of the repository.
440
+ :param pulumi.Input[_builtins.str] secret_name: Name of the secret.
441
+ :param pulumi.Input[_builtins.str] updated_at: Date the secret was last updated by the provider.
340
442
  """
341
443
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
342
444
 
@@ -345,8 +447,11 @@ class ActionsSecret(pulumi.CustomResource):
345
447
  __props__.__dict__["created_at"] = created_at
346
448
  __props__.__dict__["destroy_on_drift"] = destroy_on_drift
347
449
  __props__.__dict__["encrypted_value"] = encrypted_value
450
+ __props__.__dict__["key_id"] = key_id
348
451
  __props__.__dict__["plaintext_value"] = plaintext_value
452
+ __props__.__dict__["remote_updated_at"] = remote_updated_at
349
453
  __props__.__dict__["repository"] = repository
454
+ __props__.__dict__["repository_id"] = repository_id
350
455
  __props__.__dict__["secret_name"] = secret_name
351
456
  __props__.__dict__["updated_at"] = updated_at
352
457
  return ActionsSecret(resource_name, opts=opts, __props__=__props__)
@@ -355,13 +460,19 @@ class ActionsSecret(pulumi.CustomResource):
355
460
  @pulumi.getter(name="createdAt")
356
461
  def created_at(self) -> pulumi.Output[_builtins.str]:
357
462
  """
358
- Date of actions_secret creation.
463
+ Date the secret was created.
359
464
  """
360
465
  return pulumi.get(self, "created_at")
361
466
 
362
467
  @_builtins.property
363
468
  @pulumi.getter(name="destroyOnDrift")
469
+ @_utilities.deprecated("""This is no longer required and will be removed in a future release. Drift detection is now always performed, and external changes will result in the secret being updated to match the Terraform configuration. If you want to ignore external changes, you can use the `lifecycle` block with `ignore_changes` on the `remote_updated_at` field.""")
364
470
  def destroy_on_drift(self) -> pulumi.Output[Optional[_builtins.bool]]:
471
+ """
472
+ (Optional) This is ignored as drift detection is built into the resource.
473
+
474
+ > **Note**: One of either `encrypted_value` or `plaintext_value` must be specified.
475
+ """
365
476
  return pulumi.get(self, "destroy_on_drift")
366
477
 
367
478
  @_builtins.property
@@ -372,27 +483,51 @@ class ActionsSecret(pulumi.CustomResource):
372
483
  """
373
484
  return pulumi.get(self, "encrypted_value")
374
485
 
486
+ @_builtins.property
487
+ @pulumi.getter(name="keyId")
488
+ def key_id(self) -> pulumi.Output[_builtins.str]:
489
+ """
490
+ ID of the public key used to encrypt the secret. This should be provided when setting `encrypted_value`; if it isn't then the current public key will be looked up, which could cause a missmatch. This conflicts with `plaintext_value`.
491
+ """
492
+ return pulumi.get(self, "key_id")
493
+
375
494
  @_builtins.property
376
495
  @pulumi.getter(name="plaintextValue")
377
496
  def plaintext_value(self) -> pulumi.Output[Optional[_builtins.str]]:
378
497
  """
379
- Plaintext value of the secret to be encrypted
498
+ Plaintext value of the secret to be encrypted.
380
499
  """
381
500
  return pulumi.get(self, "plaintext_value")
382
501
 
502
+ @_builtins.property
503
+ @pulumi.getter(name="remoteUpdatedAt")
504
+ def remote_updated_at(self) -> pulumi.Output[_builtins.str]:
505
+ """
506
+ Date the secret was last updated in GitHub.
507
+ """
508
+ return pulumi.get(self, "remote_updated_at")
509
+
383
510
  @_builtins.property
384
511
  @pulumi.getter
385
512
  def repository(self) -> pulumi.Output[_builtins.str]:
386
513
  """
387
- Name of the repository
514
+ Name of the repository.
388
515
  """
389
516
  return pulumi.get(self, "repository")
390
517
 
518
+ @_builtins.property
519
+ @pulumi.getter(name="repositoryId")
520
+ def repository_id(self) -> pulumi.Output[_builtins.int]:
521
+ """
522
+ ID of the repository.
523
+ """
524
+ return pulumi.get(self, "repository_id")
525
+
391
526
  @_builtins.property
392
527
  @pulumi.getter(name="secretName")
393
528
  def secret_name(self) -> pulumi.Output[_builtins.str]:
394
529
  """
395
- Name of the secret
530
+ Name of the secret.
396
531
  """
397
532
  return pulumi.get(self, "secret_name")
398
533
 
@@ -400,7 +535,7 @@ class ActionsSecret(pulumi.CustomResource):
400
535
  @pulumi.getter(name="updatedAt")
401
536
  def updated_at(self) -> pulumi.Output[_builtins.str]:
402
537
  """
403
- Date of actions_secret update.
538
+ Date the secret was last updated by the provider.
404
539
  """
405
540
  return pulumi.get(self, "updated_at")
406
541