pulumi-gcp 8.3.0a1726834947__py3-none-any.whl → 8.3.0a1727226164__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_gcp/__init__.py +120 -0
- pulumi_gcp/alloydb/_inputs.py +20 -0
- pulumi_gcp/alloydb/instance.py +36 -0
- pulumi_gcp/alloydb/outputs.py +14 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +1400 -0
- pulumi_gcp/compute/attached_disk.py +103 -0
- pulumi_gcp/compute/backend_service.py +29 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +769 -0
- pulumi_gcp/compute/outputs.py +1019 -0
- pulumi_gcp/compute/region_backend_service.py +29 -22
- pulumi_gcp/compute/router_nat.py +27 -66
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +72 -99
- pulumi_gcp/container/outputs.py +53 -70
- pulumi_gcp/databasemigrationservice/__init__.py +1 -0
- pulumi_gcp/databasemigrationservice/_inputs.py +362 -0
- pulumi_gcp/databasemigrationservice/migration_job.py +1739 -0
- pulumi_gcp/databasemigrationservice/outputs.py +268 -0
- pulumi_gcp/dataproc/get_metastore_service.py +11 -1
- pulumi_gcp/dataproc/metastore_service.py +93 -0
- pulumi_gcp/developerconnect/_inputs.py +42 -39
- pulumi_gcp/developerconnect/connection.py +86 -83
- pulumi_gcp/developerconnect/outputs.py +28 -26
- pulumi_gcp/discoveryengine/__init__.py +1 -0
- pulumi_gcp/discoveryengine/_inputs.py +131 -0
- pulumi_gcp/discoveryengine/outputs.py +131 -0
- pulumi_gcp/discoveryengine/target_site.py +870 -0
- pulumi_gcp/dns/managed_zone.py +1 -1
- pulumi_gcp/filestore/get_instance.py +21 -1
- pulumi_gcp/filestore/instance.py +94 -0
- pulumi_gcp/gkehub/feature_membership.py +140 -62
- pulumi_gcp/healthcare/__init__.py +1 -0
- pulumi_gcp/healthcare/_inputs.py +39 -0
- pulumi_gcp/healthcare/outputs.py +40 -0
- pulumi_gcp/healthcare/workspace.py +465 -0
- pulumi_gcp/looker/instance.py +81 -0
- pulumi_gcp/netapp/_inputs.py +63 -0
- pulumi_gcp/netapp/outputs.py +57 -0
- pulumi_gcp/netapp/storage_pool.py +54 -0
- pulumi_gcp/netapp/volume.py +82 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +43 -7
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/secretmanager/__init__.py +8 -0
- pulumi_gcp/secretmanager/_inputs.py +308 -0
- pulumi_gcp/secretmanager/get_regional_secret.py +279 -0
- pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +173 -0
- pulumi_gcp/secretmanager/get_regional_secret_version.py +241 -0
- pulumi_gcp/secretmanager/outputs.py +336 -0
- pulumi_gcp/secretmanager/regional_secret.py +1433 -0
- pulumi_gcp/secretmanager/regional_secret_iam_binding.py +1082 -0
- pulumi_gcp/secretmanager/regional_secret_iam_member.py +1082 -0
- pulumi_gcp/secretmanager/regional_secret_iam_policy.py +901 -0
- pulumi_gcp/secretmanager/regional_secret_version.py +753 -0
- pulumi_gcp/securitycenter/__init__.py +4 -0
- pulumi_gcp/securitycenter/folder_scc_big_query_export.py +795 -0
- pulumi_gcp/securitycenter/organization_scc_big_query_export.py +738 -0
- pulumi_gcp/securitycenter/project_scc_big_query_export.py +749 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_export.py +862 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +6 -2
- pulumi_gcp/siteverification/__init__.py +3 -0
- pulumi_gcp/siteverification/_inputs.py +85 -0
- pulumi_gcp/siteverification/outputs.py +57 -0
- pulumi_gcp/siteverification/web_resource.py +398 -0
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +129 -0
- pulumi_gcp/spanner/backup_schedule.py +748 -0
- pulumi_gcp/spanner/get_instance.py +11 -1
- pulumi_gcp/spanner/instance.py +56 -0
- pulumi_gcp/spanner/outputs.py +93 -0
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/RECORD +76 -56
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1433 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
18
|
+
|
19
|
+
__all__ = ['RegionalSecretArgs', 'RegionalSecret']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class RegionalSecretArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
location: pulumi.Input[str],
|
25
|
+
secret_id: pulumi.Input[str],
|
26
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
27
|
+
customer_managed_encryption: Optional[pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs']] = None,
|
28
|
+
expire_time: Optional[pulumi.Input[str]] = None,
|
29
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
30
|
+
project: Optional[pulumi.Input[str]] = None,
|
31
|
+
rotation: Optional[pulumi.Input['RegionalSecretRotationArgs']] = None,
|
32
|
+
topics: Optional[pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]]] = None,
|
33
|
+
ttl: Optional[pulumi.Input[str]] = None,
|
34
|
+
version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
35
|
+
version_destroy_ttl: Optional[pulumi.Input[str]] = None):
|
36
|
+
"""
|
37
|
+
The set of arguments for constructing a RegionalSecret resource.
|
38
|
+
:param pulumi.Input[str] location: The location of the regional secret. eg us-central1
|
39
|
+
:param pulumi.Input[str] secret_id: This must be unique within the project.
|
40
|
+
|
41
|
+
|
42
|
+
- - -
|
43
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Custom metadata about the regional secret.
|
44
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
45
|
+
client tools to store their own state information without requiring a database.
|
46
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
47
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
48
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
49
|
+
symbols.
|
50
|
+
The total size of annotation keys and values must be less than 16KiB.
|
51
|
+
An object containing a list of "key": value pairs. Example:
|
52
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
53
|
+
|
54
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
55
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
56
|
+
:param pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs'] customer_managed_encryption: The customer-managed encryption configuration of the regional secret.
|
57
|
+
Structure is documented below.
|
58
|
+
:param pulumi.Input[str] expire_time: Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
59
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
60
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
61
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
62
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels assigned to this regional secret.
|
63
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
64
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
65
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
66
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
67
|
+
No more than 64 labels can be assigned to a given resource.
|
68
|
+
An object containing a list of "key": value pairs. Example:
|
69
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
70
|
+
|
71
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
72
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
73
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
74
|
+
If it is not provided, the provider project is used.
|
75
|
+
:param pulumi.Input['RegionalSecretRotationArgs'] rotation: The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
76
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
77
|
+
set to configure rotation.
|
78
|
+
Structure is documented below.
|
79
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]] topics: A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
80
|
+
operations are called on the regional secret or its versions.
|
81
|
+
Structure is documented below.
|
82
|
+
:param pulumi.Input[str] ttl: The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
83
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
84
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] version_aliases: Mapping from version alias to version name.
|
85
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
86
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
87
|
+
characters. An alias string must start with a letter and cannot be the string
|
88
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
89
|
+
An object containing a list of "key": value pairs. Example:
|
90
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
91
|
+
:param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request.
|
92
|
+
This is a part of the delayed delete feature on Secret Version.
|
93
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
94
|
+
on calling destroy instead the version goes to a disabled state and
|
95
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
96
|
+
"""
|
97
|
+
pulumi.set(__self__, "location", location)
|
98
|
+
pulumi.set(__self__, "secret_id", secret_id)
|
99
|
+
if annotations is not None:
|
100
|
+
pulumi.set(__self__, "annotations", annotations)
|
101
|
+
if customer_managed_encryption is not None:
|
102
|
+
pulumi.set(__self__, "customer_managed_encryption", customer_managed_encryption)
|
103
|
+
if expire_time is not None:
|
104
|
+
pulumi.set(__self__, "expire_time", expire_time)
|
105
|
+
if labels is not None:
|
106
|
+
pulumi.set(__self__, "labels", labels)
|
107
|
+
if project is not None:
|
108
|
+
pulumi.set(__self__, "project", project)
|
109
|
+
if rotation is not None:
|
110
|
+
pulumi.set(__self__, "rotation", rotation)
|
111
|
+
if topics is not None:
|
112
|
+
pulumi.set(__self__, "topics", topics)
|
113
|
+
if ttl is not None:
|
114
|
+
pulumi.set(__self__, "ttl", ttl)
|
115
|
+
if version_aliases is not None:
|
116
|
+
pulumi.set(__self__, "version_aliases", version_aliases)
|
117
|
+
if version_destroy_ttl is not None:
|
118
|
+
pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
|
119
|
+
|
120
|
+
@property
|
121
|
+
@pulumi.getter
|
122
|
+
def location(self) -> pulumi.Input[str]:
|
123
|
+
"""
|
124
|
+
The location of the regional secret. eg us-central1
|
125
|
+
"""
|
126
|
+
return pulumi.get(self, "location")
|
127
|
+
|
128
|
+
@location.setter
|
129
|
+
def location(self, value: pulumi.Input[str]):
|
130
|
+
pulumi.set(self, "location", value)
|
131
|
+
|
132
|
+
@property
|
133
|
+
@pulumi.getter(name="secretId")
|
134
|
+
def secret_id(self) -> pulumi.Input[str]:
|
135
|
+
"""
|
136
|
+
This must be unique within the project.
|
137
|
+
|
138
|
+
|
139
|
+
- - -
|
140
|
+
"""
|
141
|
+
return pulumi.get(self, "secret_id")
|
142
|
+
|
143
|
+
@secret_id.setter
|
144
|
+
def secret_id(self, value: pulumi.Input[str]):
|
145
|
+
pulumi.set(self, "secret_id", value)
|
146
|
+
|
147
|
+
@property
|
148
|
+
@pulumi.getter
|
149
|
+
def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
150
|
+
"""
|
151
|
+
Custom metadata about the regional secret.
|
152
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
153
|
+
client tools to store their own state information without requiring a database.
|
154
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
155
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
156
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
157
|
+
symbols.
|
158
|
+
The total size of annotation keys and values must be less than 16KiB.
|
159
|
+
An object containing a list of "key": value pairs. Example:
|
160
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
161
|
+
|
162
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
163
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "annotations")
|
166
|
+
|
167
|
+
@annotations.setter
|
168
|
+
def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
169
|
+
pulumi.set(self, "annotations", value)
|
170
|
+
|
171
|
+
@property
|
172
|
+
@pulumi.getter(name="customerManagedEncryption")
|
173
|
+
def customer_managed_encryption(self) -> Optional[pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs']]:
|
174
|
+
"""
|
175
|
+
The customer-managed encryption configuration of the regional secret.
|
176
|
+
Structure is documented below.
|
177
|
+
"""
|
178
|
+
return pulumi.get(self, "customer_managed_encryption")
|
179
|
+
|
180
|
+
@customer_managed_encryption.setter
|
181
|
+
def customer_managed_encryption(self, value: Optional[pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs']]):
|
182
|
+
pulumi.set(self, "customer_managed_encryption", value)
|
183
|
+
|
184
|
+
@property
|
185
|
+
@pulumi.getter(name="expireTime")
|
186
|
+
def expire_time(self) -> Optional[pulumi.Input[str]]:
|
187
|
+
"""
|
188
|
+
Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
189
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
190
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
191
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
192
|
+
"""
|
193
|
+
return pulumi.get(self, "expire_time")
|
194
|
+
|
195
|
+
@expire_time.setter
|
196
|
+
def expire_time(self, value: Optional[pulumi.Input[str]]):
|
197
|
+
pulumi.set(self, "expire_time", value)
|
198
|
+
|
199
|
+
@property
|
200
|
+
@pulumi.getter
|
201
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
202
|
+
"""
|
203
|
+
The labels assigned to this regional secret.
|
204
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
205
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
206
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
207
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
208
|
+
No more than 64 labels can be assigned to a given resource.
|
209
|
+
An object containing a list of "key": value pairs. Example:
|
210
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
211
|
+
|
212
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
213
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
214
|
+
"""
|
215
|
+
return pulumi.get(self, "labels")
|
216
|
+
|
217
|
+
@labels.setter
|
218
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
219
|
+
pulumi.set(self, "labels", value)
|
220
|
+
|
221
|
+
@property
|
222
|
+
@pulumi.getter
|
223
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
224
|
+
"""
|
225
|
+
The ID of the project in which the resource belongs.
|
226
|
+
If it is not provided, the provider project is used.
|
227
|
+
"""
|
228
|
+
return pulumi.get(self, "project")
|
229
|
+
|
230
|
+
@project.setter
|
231
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
232
|
+
pulumi.set(self, "project", value)
|
233
|
+
|
234
|
+
@property
|
235
|
+
@pulumi.getter
|
236
|
+
def rotation(self) -> Optional[pulumi.Input['RegionalSecretRotationArgs']]:
|
237
|
+
"""
|
238
|
+
The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
239
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
240
|
+
set to configure rotation.
|
241
|
+
Structure is documented below.
|
242
|
+
"""
|
243
|
+
return pulumi.get(self, "rotation")
|
244
|
+
|
245
|
+
@rotation.setter
|
246
|
+
def rotation(self, value: Optional[pulumi.Input['RegionalSecretRotationArgs']]):
|
247
|
+
pulumi.set(self, "rotation", value)
|
248
|
+
|
249
|
+
@property
|
250
|
+
@pulumi.getter
|
251
|
+
def topics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]]]:
|
252
|
+
"""
|
253
|
+
A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
254
|
+
operations are called on the regional secret or its versions.
|
255
|
+
Structure is documented below.
|
256
|
+
"""
|
257
|
+
return pulumi.get(self, "topics")
|
258
|
+
|
259
|
+
@topics.setter
|
260
|
+
def topics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]]]):
|
261
|
+
pulumi.set(self, "topics", value)
|
262
|
+
|
263
|
+
@property
|
264
|
+
@pulumi.getter
|
265
|
+
def ttl(self) -> Optional[pulumi.Input[str]]:
|
266
|
+
"""
|
267
|
+
The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
268
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
269
|
+
"""
|
270
|
+
return pulumi.get(self, "ttl")
|
271
|
+
|
272
|
+
@ttl.setter
|
273
|
+
def ttl(self, value: Optional[pulumi.Input[str]]):
|
274
|
+
pulumi.set(self, "ttl", value)
|
275
|
+
|
276
|
+
@property
|
277
|
+
@pulumi.getter(name="versionAliases")
|
278
|
+
def version_aliases(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
279
|
+
"""
|
280
|
+
Mapping from version alias to version name.
|
281
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
282
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
283
|
+
characters. An alias string must start with a letter and cannot be the string
|
284
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
285
|
+
An object containing a list of "key": value pairs. Example:
|
286
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
287
|
+
"""
|
288
|
+
return pulumi.get(self, "version_aliases")
|
289
|
+
|
290
|
+
@version_aliases.setter
|
291
|
+
def version_aliases(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
292
|
+
pulumi.set(self, "version_aliases", value)
|
293
|
+
|
294
|
+
@property
|
295
|
+
@pulumi.getter(name="versionDestroyTtl")
|
296
|
+
def version_destroy_ttl(self) -> Optional[pulumi.Input[str]]:
|
297
|
+
"""
|
298
|
+
Secret Version TTL after destruction request.
|
299
|
+
This is a part of the delayed delete feature on Secret Version.
|
300
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
301
|
+
on calling destroy instead the version goes to a disabled state and
|
302
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
303
|
+
"""
|
304
|
+
return pulumi.get(self, "version_destroy_ttl")
|
305
|
+
|
306
|
+
@version_destroy_ttl.setter
|
307
|
+
def version_destroy_ttl(self, value: Optional[pulumi.Input[str]]):
|
308
|
+
pulumi.set(self, "version_destroy_ttl", value)
|
309
|
+
|
310
|
+
|
311
|
+
@pulumi.input_type
|
312
|
+
class _RegionalSecretState:
|
313
|
+
def __init__(__self__, *,
|
314
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
315
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
316
|
+
customer_managed_encryption: Optional[pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs']] = None,
|
317
|
+
effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
318
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
319
|
+
expire_time: Optional[pulumi.Input[str]] = None,
|
320
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
321
|
+
location: Optional[pulumi.Input[str]] = None,
|
322
|
+
name: Optional[pulumi.Input[str]] = None,
|
323
|
+
project: Optional[pulumi.Input[str]] = None,
|
324
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
325
|
+
rotation: Optional[pulumi.Input['RegionalSecretRotationArgs']] = None,
|
326
|
+
secret_id: Optional[pulumi.Input[str]] = None,
|
327
|
+
topics: Optional[pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]]] = None,
|
328
|
+
ttl: Optional[pulumi.Input[str]] = None,
|
329
|
+
version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
330
|
+
version_destroy_ttl: Optional[pulumi.Input[str]] = None):
|
331
|
+
"""
|
332
|
+
Input properties used for looking up and filtering RegionalSecret resources.
|
333
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Custom metadata about the regional secret.
|
334
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
335
|
+
client tools to store their own state information without requiring a database.
|
336
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
337
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
338
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
339
|
+
symbols.
|
340
|
+
The total size of annotation keys and values must be less than 16KiB.
|
341
|
+
An object containing a list of "key": value pairs. Example:
|
342
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
343
|
+
|
344
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
345
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
346
|
+
:param pulumi.Input[str] create_time: The time at which the regional secret was created.
|
347
|
+
:param pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs'] customer_managed_encryption: The customer-managed encryption configuration of the regional secret.
|
348
|
+
Structure is documented below.
|
349
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
350
|
+
:param pulumi.Input[str] expire_time: Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
351
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
352
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
353
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
354
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels assigned to this regional secret.
|
355
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
356
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
357
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
358
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
359
|
+
No more than 64 labels can be assigned to a given resource.
|
360
|
+
An object containing a list of "key": value pairs. Example:
|
361
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
362
|
+
|
363
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
364
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
365
|
+
:param pulumi.Input[str] location: The location of the regional secret. eg us-central1
|
366
|
+
:param pulumi.Input[str] name: The resource name of the regional secret. Format:
|
367
|
+
`projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}`
|
368
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
369
|
+
If it is not provided, the provider project is used.
|
370
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
371
|
+
and default labels configured on the provider.
|
372
|
+
:param pulumi.Input['RegionalSecretRotationArgs'] rotation: The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
373
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
374
|
+
set to configure rotation.
|
375
|
+
Structure is documented below.
|
376
|
+
:param pulumi.Input[str] secret_id: This must be unique within the project.
|
377
|
+
|
378
|
+
|
379
|
+
- - -
|
380
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]] topics: A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
381
|
+
operations are called on the regional secret or its versions.
|
382
|
+
Structure is documented below.
|
383
|
+
:param pulumi.Input[str] ttl: The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
384
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
385
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] version_aliases: Mapping from version alias to version name.
|
386
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
387
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
388
|
+
characters. An alias string must start with a letter and cannot be the string
|
389
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
390
|
+
An object containing a list of "key": value pairs. Example:
|
391
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
392
|
+
:param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request.
|
393
|
+
This is a part of the delayed delete feature on Secret Version.
|
394
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
395
|
+
on calling destroy instead the version goes to a disabled state and
|
396
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
397
|
+
"""
|
398
|
+
if annotations is not None:
|
399
|
+
pulumi.set(__self__, "annotations", annotations)
|
400
|
+
if create_time is not None:
|
401
|
+
pulumi.set(__self__, "create_time", create_time)
|
402
|
+
if customer_managed_encryption is not None:
|
403
|
+
pulumi.set(__self__, "customer_managed_encryption", customer_managed_encryption)
|
404
|
+
if effective_annotations is not None:
|
405
|
+
pulumi.set(__self__, "effective_annotations", effective_annotations)
|
406
|
+
if effective_labels is not None:
|
407
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
408
|
+
if expire_time is not None:
|
409
|
+
pulumi.set(__self__, "expire_time", expire_time)
|
410
|
+
if labels is not None:
|
411
|
+
pulumi.set(__self__, "labels", labels)
|
412
|
+
if location is not None:
|
413
|
+
pulumi.set(__self__, "location", location)
|
414
|
+
if name is not None:
|
415
|
+
pulumi.set(__self__, "name", name)
|
416
|
+
if project is not None:
|
417
|
+
pulumi.set(__self__, "project", project)
|
418
|
+
if pulumi_labels is not None:
|
419
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
420
|
+
if rotation is not None:
|
421
|
+
pulumi.set(__self__, "rotation", rotation)
|
422
|
+
if secret_id is not None:
|
423
|
+
pulumi.set(__self__, "secret_id", secret_id)
|
424
|
+
if topics is not None:
|
425
|
+
pulumi.set(__self__, "topics", topics)
|
426
|
+
if ttl is not None:
|
427
|
+
pulumi.set(__self__, "ttl", ttl)
|
428
|
+
if version_aliases is not None:
|
429
|
+
pulumi.set(__self__, "version_aliases", version_aliases)
|
430
|
+
if version_destroy_ttl is not None:
|
431
|
+
pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
|
432
|
+
|
433
|
+
@property
|
434
|
+
@pulumi.getter
|
435
|
+
def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
436
|
+
"""
|
437
|
+
Custom metadata about the regional secret.
|
438
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
439
|
+
client tools to store their own state information without requiring a database.
|
440
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
441
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
442
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
443
|
+
symbols.
|
444
|
+
The total size of annotation keys and values must be less than 16KiB.
|
445
|
+
An object containing a list of "key": value pairs. Example:
|
446
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
447
|
+
|
448
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
449
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
450
|
+
"""
|
451
|
+
return pulumi.get(self, "annotations")
|
452
|
+
|
453
|
+
@annotations.setter
|
454
|
+
def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
455
|
+
pulumi.set(self, "annotations", value)
|
456
|
+
|
457
|
+
@property
|
458
|
+
@pulumi.getter(name="createTime")
|
459
|
+
def create_time(self) -> Optional[pulumi.Input[str]]:
|
460
|
+
"""
|
461
|
+
The time at which the regional secret was created.
|
462
|
+
"""
|
463
|
+
return pulumi.get(self, "create_time")
|
464
|
+
|
465
|
+
@create_time.setter
|
466
|
+
def create_time(self, value: Optional[pulumi.Input[str]]):
|
467
|
+
pulumi.set(self, "create_time", value)
|
468
|
+
|
469
|
+
@property
|
470
|
+
@pulumi.getter(name="customerManagedEncryption")
|
471
|
+
def customer_managed_encryption(self) -> Optional[pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs']]:
|
472
|
+
"""
|
473
|
+
The customer-managed encryption configuration of the regional secret.
|
474
|
+
Structure is documented below.
|
475
|
+
"""
|
476
|
+
return pulumi.get(self, "customer_managed_encryption")
|
477
|
+
|
478
|
+
@customer_managed_encryption.setter
|
479
|
+
def customer_managed_encryption(self, value: Optional[pulumi.Input['RegionalSecretCustomerManagedEncryptionArgs']]):
|
480
|
+
pulumi.set(self, "customer_managed_encryption", value)
|
481
|
+
|
482
|
+
@property
|
483
|
+
@pulumi.getter(name="effectiveAnnotations")
|
484
|
+
def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
485
|
+
return pulumi.get(self, "effective_annotations")
|
486
|
+
|
487
|
+
@effective_annotations.setter
|
488
|
+
def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
489
|
+
pulumi.set(self, "effective_annotations", value)
|
490
|
+
|
491
|
+
@property
|
492
|
+
@pulumi.getter(name="effectiveLabels")
|
493
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
494
|
+
"""
|
495
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
496
|
+
"""
|
497
|
+
return pulumi.get(self, "effective_labels")
|
498
|
+
|
499
|
+
@effective_labels.setter
|
500
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
501
|
+
pulumi.set(self, "effective_labels", value)
|
502
|
+
|
503
|
+
@property
|
504
|
+
@pulumi.getter(name="expireTime")
|
505
|
+
def expire_time(self) -> Optional[pulumi.Input[str]]:
|
506
|
+
"""
|
507
|
+
Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
508
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
509
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
510
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
511
|
+
"""
|
512
|
+
return pulumi.get(self, "expire_time")
|
513
|
+
|
514
|
+
@expire_time.setter
|
515
|
+
def expire_time(self, value: Optional[pulumi.Input[str]]):
|
516
|
+
pulumi.set(self, "expire_time", value)
|
517
|
+
|
518
|
+
@property
|
519
|
+
@pulumi.getter
|
520
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
521
|
+
"""
|
522
|
+
The labels assigned to this regional secret.
|
523
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
524
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
525
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
526
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
527
|
+
No more than 64 labels can be assigned to a given resource.
|
528
|
+
An object containing a list of "key": value pairs. Example:
|
529
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
530
|
+
|
531
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
532
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
533
|
+
"""
|
534
|
+
return pulumi.get(self, "labels")
|
535
|
+
|
536
|
+
@labels.setter
|
537
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
538
|
+
pulumi.set(self, "labels", value)
|
539
|
+
|
540
|
+
@property
|
541
|
+
@pulumi.getter
|
542
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
543
|
+
"""
|
544
|
+
The location of the regional secret. eg us-central1
|
545
|
+
"""
|
546
|
+
return pulumi.get(self, "location")
|
547
|
+
|
548
|
+
@location.setter
|
549
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
550
|
+
pulumi.set(self, "location", value)
|
551
|
+
|
552
|
+
@property
|
553
|
+
@pulumi.getter
|
554
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
555
|
+
"""
|
556
|
+
The resource name of the regional secret. Format:
|
557
|
+
`projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}`
|
558
|
+
"""
|
559
|
+
return pulumi.get(self, "name")
|
560
|
+
|
561
|
+
@name.setter
|
562
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
563
|
+
pulumi.set(self, "name", value)
|
564
|
+
|
565
|
+
@property
|
566
|
+
@pulumi.getter
|
567
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
568
|
+
"""
|
569
|
+
The ID of the project in which the resource belongs.
|
570
|
+
If it is not provided, the provider project is used.
|
571
|
+
"""
|
572
|
+
return pulumi.get(self, "project")
|
573
|
+
|
574
|
+
@project.setter
|
575
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
576
|
+
pulumi.set(self, "project", value)
|
577
|
+
|
578
|
+
@property
|
579
|
+
@pulumi.getter(name="pulumiLabels")
|
580
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
581
|
+
"""
|
582
|
+
The combination of labels configured directly on the resource
|
583
|
+
and default labels configured on the provider.
|
584
|
+
"""
|
585
|
+
return pulumi.get(self, "pulumi_labels")
|
586
|
+
|
587
|
+
@pulumi_labels.setter
|
588
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
589
|
+
pulumi.set(self, "pulumi_labels", value)
|
590
|
+
|
591
|
+
@property
|
592
|
+
@pulumi.getter
|
593
|
+
def rotation(self) -> Optional[pulumi.Input['RegionalSecretRotationArgs']]:
|
594
|
+
"""
|
595
|
+
The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
596
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
597
|
+
set to configure rotation.
|
598
|
+
Structure is documented below.
|
599
|
+
"""
|
600
|
+
return pulumi.get(self, "rotation")
|
601
|
+
|
602
|
+
@rotation.setter
|
603
|
+
def rotation(self, value: Optional[pulumi.Input['RegionalSecretRotationArgs']]):
|
604
|
+
pulumi.set(self, "rotation", value)
|
605
|
+
|
606
|
+
@property
|
607
|
+
@pulumi.getter(name="secretId")
|
608
|
+
def secret_id(self) -> Optional[pulumi.Input[str]]:
|
609
|
+
"""
|
610
|
+
This must be unique within the project.
|
611
|
+
|
612
|
+
|
613
|
+
- - -
|
614
|
+
"""
|
615
|
+
return pulumi.get(self, "secret_id")
|
616
|
+
|
617
|
+
@secret_id.setter
|
618
|
+
def secret_id(self, value: Optional[pulumi.Input[str]]):
|
619
|
+
pulumi.set(self, "secret_id", value)
|
620
|
+
|
621
|
+
@property
|
622
|
+
@pulumi.getter
|
623
|
+
def topics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]]]:
|
624
|
+
"""
|
625
|
+
A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
626
|
+
operations are called on the regional secret or its versions.
|
627
|
+
Structure is documented below.
|
628
|
+
"""
|
629
|
+
return pulumi.get(self, "topics")
|
630
|
+
|
631
|
+
@topics.setter
|
632
|
+
def topics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionalSecretTopicArgs']]]]):
|
633
|
+
pulumi.set(self, "topics", value)
|
634
|
+
|
635
|
+
@property
|
636
|
+
@pulumi.getter
|
637
|
+
def ttl(self) -> Optional[pulumi.Input[str]]:
|
638
|
+
"""
|
639
|
+
The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
640
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
641
|
+
"""
|
642
|
+
return pulumi.get(self, "ttl")
|
643
|
+
|
644
|
+
@ttl.setter
|
645
|
+
def ttl(self, value: Optional[pulumi.Input[str]]):
|
646
|
+
pulumi.set(self, "ttl", value)
|
647
|
+
|
648
|
+
@property
|
649
|
+
@pulumi.getter(name="versionAliases")
|
650
|
+
def version_aliases(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
651
|
+
"""
|
652
|
+
Mapping from version alias to version name.
|
653
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
654
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
655
|
+
characters. An alias string must start with a letter and cannot be the string
|
656
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
657
|
+
An object containing a list of "key": value pairs. Example:
|
658
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
659
|
+
"""
|
660
|
+
return pulumi.get(self, "version_aliases")
|
661
|
+
|
662
|
+
@version_aliases.setter
|
663
|
+
def version_aliases(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
664
|
+
pulumi.set(self, "version_aliases", value)
|
665
|
+
|
666
|
+
@property
|
667
|
+
@pulumi.getter(name="versionDestroyTtl")
|
668
|
+
def version_destroy_ttl(self) -> Optional[pulumi.Input[str]]:
|
669
|
+
"""
|
670
|
+
Secret Version TTL after destruction request.
|
671
|
+
This is a part of the delayed delete feature on Secret Version.
|
672
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
673
|
+
on calling destroy instead the version goes to a disabled state and
|
674
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
675
|
+
"""
|
676
|
+
return pulumi.get(self, "version_destroy_ttl")
|
677
|
+
|
678
|
+
@version_destroy_ttl.setter
|
679
|
+
def version_destroy_ttl(self, value: Optional[pulumi.Input[str]]):
|
680
|
+
pulumi.set(self, "version_destroy_ttl", value)
|
681
|
+
|
682
|
+
|
683
|
+
class RegionalSecret(pulumi.CustomResource):
|
684
|
+
@overload
|
685
|
+
def __init__(__self__,
|
686
|
+
resource_name: str,
|
687
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
688
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
689
|
+
customer_managed_encryption: Optional[pulumi.Input[Union['RegionalSecretCustomerManagedEncryptionArgs', 'RegionalSecretCustomerManagedEncryptionArgsDict']]] = None,
|
690
|
+
expire_time: Optional[pulumi.Input[str]] = None,
|
691
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
692
|
+
location: Optional[pulumi.Input[str]] = None,
|
693
|
+
project: Optional[pulumi.Input[str]] = None,
|
694
|
+
rotation: Optional[pulumi.Input[Union['RegionalSecretRotationArgs', 'RegionalSecretRotationArgsDict']]] = None,
|
695
|
+
secret_id: Optional[pulumi.Input[str]] = None,
|
696
|
+
topics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionalSecretTopicArgs', 'RegionalSecretTopicArgsDict']]]]] = None,
|
697
|
+
ttl: Optional[pulumi.Input[str]] = None,
|
698
|
+
version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
699
|
+
version_destroy_ttl: Optional[pulumi.Input[str]] = None,
|
700
|
+
__props__=None):
|
701
|
+
"""
|
702
|
+
A Regional Secret is a logical secret whose value and versions can be created and accessed within a region only.
|
703
|
+
|
704
|
+
To get more information about RegionalSecret, see:
|
705
|
+
|
706
|
+
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets)
|
707
|
+
|
708
|
+
## Example Usage
|
709
|
+
|
710
|
+
### Regional Secret Config Basic
|
711
|
+
|
712
|
+
```python
|
713
|
+
import pulumi
|
714
|
+
import pulumi_gcp as gcp
|
715
|
+
|
716
|
+
regional_secret_basic = gcp.secretmanager.RegionalSecret("regional-secret-basic",
|
717
|
+
secret_id="tf-reg-secret",
|
718
|
+
location="us-central1",
|
719
|
+
labels={
|
720
|
+
"label": "my-label",
|
721
|
+
},
|
722
|
+
annotations={
|
723
|
+
"key1": "value1",
|
724
|
+
"key2": "value2",
|
725
|
+
"key3": "value3",
|
726
|
+
})
|
727
|
+
```
|
728
|
+
### Regional Secret With Cmek
|
729
|
+
|
730
|
+
```python
|
731
|
+
import pulumi
|
732
|
+
import pulumi_gcp as gcp
|
733
|
+
|
734
|
+
project = gcp.organizations.get_project()
|
735
|
+
kms_secret_binding = gcp.kms.CryptoKeyIAMMember("kms-secret-binding",
|
736
|
+
crypto_key_id="kms-key",
|
737
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
738
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-secretmanager.iam.gserviceaccount.com")
|
739
|
+
regional_secret_with_cmek = gcp.secretmanager.RegionalSecret("regional-secret-with-cmek",
|
740
|
+
secret_id="tf-reg-secret",
|
741
|
+
location="us-central1",
|
742
|
+
customer_managed_encryption={
|
743
|
+
"kms_key_name": "kms-key",
|
744
|
+
},
|
745
|
+
opts = pulumi.ResourceOptions(depends_on=[kms_secret_binding]))
|
746
|
+
```
|
747
|
+
### Regional Secret With Rotation
|
748
|
+
|
749
|
+
```python
|
750
|
+
import pulumi
|
751
|
+
import pulumi_gcp as gcp
|
752
|
+
|
753
|
+
project = gcp.organizations.get_project()
|
754
|
+
topic = gcp.pubsub.Topic("topic", name="tf-topic")
|
755
|
+
secrets_manager_access = gcp.pubsub.TopicIAMMember("secrets_manager_access",
|
756
|
+
topic=topic.name,
|
757
|
+
role="roles/pubsub.publisher",
|
758
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-secretmanager.iam.gserviceaccount.com")
|
759
|
+
regional_secret_with_rotation = gcp.secretmanager.RegionalSecret("regional-secret-with-rotation",
|
760
|
+
secret_id="tf-reg-secret",
|
761
|
+
location="us-central1",
|
762
|
+
topics=[{
|
763
|
+
"name": topic.id,
|
764
|
+
}],
|
765
|
+
rotation={
|
766
|
+
"rotation_period": "3600s",
|
767
|
+
"next_rotation_time": "2045-11-30T00:00:00Z",
|
768
|
+
},
|
769
|
+
opts = pulumi.ResourceOptions(depends_on=[secrets_manager_access]))
|
770
|
+
```
|
771
|
+
### Regional Secret With Ttl
|
772
|
+
|
773
|
+
```python
|
774
|
+
import pulumi
|
775
|
+
import pulumi_gcp as gcp
|
776
|
+
|
777
|
+
regional_secret_with_ttl = gcp.secretmanager.RegionalSecret("regional-secret-with-ttl",
|
778
|
+
secret_id="tf-reg-secret",
|
779
|
+
location="us-central1",
|
780
|
+
labels={
|
781
|
+
"label": "my-label",
|
782
|
+
},
|
783
|
+
annotations={
|
784
|
+
"key1": "value1",
|
785
|
+
"key2": "value2",
|
786
|
+
"key3": "value3",
|
787
|
+
},
|
788
|
+
ttl="36000s")
|
789
|
+
```
|
790
|
+
### Regional Secret With Expire Time
|
791
|
+
|
792
|
+
```python
|
793
|
+
import pulumi
|
794
|
+
import pulumi_gcp as gcp
|
795
|
+
|
796
|
+
regional_secret_with_expire_time = gcp.secretmanager.RegionalSecret("regional-secret-with-expire-time",
|
797
|
+
secret_id="tf-reg-secret",
|
798
|
+
location="us-central1",
|
799
|
+
labels={
|
800
|
+
"label": "my-label",
|
801
|
+
},
|
802
|
+
annotations={
|
803
|
+
"key1": "value1",
|
804
|
+
"key2": "value2",
|
805
|
+
"key3": "value3",
|
806
|
+
},
|
807
|
+
expire_time="2055-11-30T00:00:00Z")
|
808
|
+
```
|
809
|
+
### Regional Secret With Version Destroy Ttl
|
810
|
+
|
811
|
+
```python
|
812
|
+
import pulumi
|
813
|
+
import pulumi_gcp as gcp
|
814
|
+
|
815
|
+
regional_secret_with_version_destroy_ttl = gcp.secretmanager.RegionalSecret("regional-secret-with-version-destroy-ttl",
|
816
|
+
secret_id="tf-reg-secret",
|
817
|
+
location="us-central1",
|
818
|
+
labels={
|
819
|
+
"label": "my-label",
|
820
|
+
},
|
821
|
+
annotations={
|
822
|
+
"key1": "value1",
|
823
|
+
"key2": "value2",
|
824
|
+
"key3": "value3",
|
825
|
+
},
|
826
|
+
version_destroy_ttl="86400s")
|
827
|
+
```
|
828
|
+
|
829
|
+
## Import
|
830
|
+
|
831
|
+
RegionalSecret can be imported using any of these accepted formats:
|
832
|
+
|
833
|
+
* `projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}`
|
834
|
+
|
835
|
+
* `{{project}}/{{location}}/{{secret_id}}`
|
836
|
+
|
837
|
+
* `{{location}}/{{secret_id}}`
|
838
|
+
|
839
|
+
When using the `pulumi import` command, RegionalSecret can be imported using one of the formats above. For example:
|
840
|
+
|
841
|
+
```sh
|
842
|
+
$ pulumi import gcp:secretmanager/regionalSecret:RegionalSecret default projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}
|
843
|
+
```
|
844
|
+
|
845
|
+
```sh
|
846
|
+
$ pulumi import gcp:secretmanager/regionalSecret:RegionalSecret default {{project}}/{{location}}/{{secret_id}}
|
847
|
+
```
|
848
|
+
|
849
|
+
```sh
|
850
|
+
$ pulumi import gcp:secretmanager/regionalSecret:RegionalSecret default {{location}}/{{secret_id}}
|
851
|
+
```
|
852
|
+
|
853
|
+
:param str resource_name: The name of the resource.
|
854
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
855
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Custom metadata about the regional secret.
|
856
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
857
|
+
client tools to store their own state information without requiring a database.
|
858
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
859
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
860
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
861
|
+
symbols.
|
862
|
+
The total size of annotation keys and values must be less than 16KiB.
|
863
|
+
An object containing a list of "key": value pairs. Example:
|
864
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
865
|
+
|
866
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
867
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
868
|
+
:param pulumi.Input[Union['RegionalSecretCustomerManagedEncryptionArgs', 'RegionalSecretCustomerManagedEncryptionArgsDict']] customer_managed_encryption: The customer-managed encryption configuration of the regional secret.
|
869
|
+
Structure is documented below.
|
870
|
+
:param pulumi.Input[str] expire_time: Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
871
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
872
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
873
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
874
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels assigned to this regional secret.
|
875
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
876
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
877
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
878
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
879
|
+
No more than 64 labels can be assigned to a given resource.
|
880
|
+
An object containing a list of "key": value pairs. Example:
|
881
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
882
|
+
|
883
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
884
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
885
|
+
:param pulumi.Input[str] location: The location of the regional secret. eg us-central1
|
886
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
887
|
+
If it is not provided, the provider project is used.
|
888
|
+
:param pulumi.Input[Union['RegionalSecretRotationArgs', 'RegionalSecretRotationArgsDict']] rotation: The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
889
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
890
|
+
set to configure rotation.
|
891
|
+
Structure is documented below.
|
892
|
+
:param pulumi.Input[str] secret_id: This must be unique within the project.
|
893
|
+
|
894
|
+
|
895
|
+
- - -
|
896
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RegionalSecretTopicArgs', 'RegionalSecretTopicArgsDict']]]] topics: A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
897
|
+
operations are called on the regional secret or its versions.
|
898
|
+
Structure is documented below.
|
899
|
+
:param pulumi.Input[str] ttl: The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
900
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
901
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] version_aliases: Mapping from version alias to version name.
|
902
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
903
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
904
|
+
characters. An alias string must start with a letter and cannot be the string
|
905
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
906
|
+
An object containing a list of "key": value pairs. Example:
|
907
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
908
|
+
:param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request.
|
909
|
+
This is a part of the delayed delete feature on Secret Version.
|
910
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
911
|
+
on calling destroy instead the version goes to a disabled state and
|
912
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
913
|
+
"""
|
914
|
+
...
|
915
|
+
@overload
|
916
|
+
def __init__(__self__,
|
917
|
+
resource_name: str,
|
918
|
+
args: RegionalSecretArgs,
|
919
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
920
|
+
"""
|
921
|
+
A Regional Secret is a logical secret whose value and versions can be created and accessed within a region only.
|
922
|
+
|
923
|
+
To get more information about RegionalSecret, see:
|
924
|
+
|
925
|
+
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets)
|
926
|
+
|
927
|
+
## Example Usage
|
928
|
+
|
929
|
+
### Regional Secret Config Basic
|
930
|
+
|
931
|
+
```python
|
932
|
+
import pulumi
|
933
|
+
import pulumi_gcp as gcp
|
934
|
+
|
935
|
+
regional_secret_basic = gcp.secretmanager.RegionalSecret("regional-secret-basic",
|
936
|
+
secret_id="tf-reg-secret",
|
937
|
+
location="us-central1",
|
938
|
+
labels={
|
939
|
+
"label": "my-label",
|
940
|
+
},
|
941
|
+
annotations={
|
942
|
+
"key1": "value1",
|
943
|
+
"key2": "value2",
|
944
|
+
"key3": "value3",
|
945
|
+
})
|
946
|
+
```
|
947
|
+
### Regional Secret With Cmek
|
948
|
+
|
949
|
+
```python
|
950
|
+
import pulumi
|
951
|
+
import pulumi_gcp as gcp
|
952
|
+
|
953
|
+
project = gcp.organizations.get_project()
|
954
|
+
kms_secret_binding = gcp.kms.CryptoKeyIAMMember("kms-secret-binding",
|
955
|
+
crypto_key_id="kms-key",
|
956
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
957
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-secretmanager.iam.gserviceaccount.com")
|
958
|
+
regional_secret_with_cmek = gcp.secretmanager.RegionalSecret("regional-secret-with-cmek",
|
959
|
+
secret_id="tf-reg-secret",
|
960
|
+
location="us-central1",
|
961
|
+
customer_managed_encryption={
|
962
|
+
"kms_key_name": "kms-key",
|
963
|
+
},
|
964
|
+
opts = pulumi.ResourceOptions(depends_on=[kms_secret_binding]))
|
965
|
+
```
|
966
|
+
### Regional Secret With Rotation
|
967
|
+
|
968
|
+
```python
|
969
|
+
import pulumi
|
970
|
+
import pulumi_gcp as gcp
|
971
|
+
|
972
|
+
project = gcp.organizations.get_project()
|
973
|
+
topic = gcp.pubsub.Topic("topic", name="tf-topic")
|
974
|
+
secrets_manager_access = gcp.pubsub.TopicIAMMember("secrets_manager_access",
|
975
|
+
topic=topic.name,
|
976
|
+
role="roles/pubsub.publisher",
|
977
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-secretmanager.iam.gserviceaccount.com")
|
978
|
+
regional_secret_with_rotation = gcp.secretmanager.RegionalSecret("regional-secret-with-rotation",
|
979
|
+
secret_id="tf-reg-secret",
|
980
|
+
location="us-central1",
|
981
|
+
topics=[{
|
982
|
+
"name": topic.id,
|
983
|
+
}],
|
984
|
+
rotation={
|
985
|
+
"rotation_period": "3600s",
|
986
|
+
"next_rotation_time": "2045-11-30T00:00:00Z",
|
987
|
+
},
|
988
|
+
opts = pulumi.ResourceOptions(depends_on=[secrets_manager_access]))
|
989
|
+
```
|
990
|
+
### Regional Secret With Ttl
|
991
|
+
|
992
|
+
```python
|
993
|
+
import pulumi
|
994
|
+
import pulumi_gcp as gcp
|
995
|
+
|
996
|
+
regional_secret_with_ttl = gcp.secretmanager.RegionalSecret("regional-secret-with-ttl",
|
997
|
+
secret_id="tf-reg-secret",
|
998
|
+
location="us-central1",
|
999
|
+
labels={
|
1000
|
+
"label": "my-label",
|
1001
|
+
},
|
1002
|
+
annotations={
|
1003
|
+
"key1": "value1",
|
1004
|
+
"key2": "value2",
|
1005
|
+
"key3": "value3",
|
1006
|
+
},
|
1007
|
+
ttl="36000s")
|
1008
|
+
```
|
1009
|
+
### Regional Secret With Expire Time
|
1010
|
+
|
1011
|
+
```python
|
1012
|
+
import pulumi
|
1013
|
+
import pulumi_gcp as gcp
|
1014
|
+
|
1015
|
+
regional_secret_with_expire_time = gcp.secretmanager.RegionalSecret("regional-secret-with-expire-time",
|
1016
|
+
secret_id="tf-reg-secret",
|
1017
|
+
location="us-central1",
|
1018
|
+
labels={
|
1019
|
+
"label": "my-label",
|
1020
|
+
},
|
1021
|
+
annotations={
|
1022
|
+
"key1": "value1",
|
1023
|
+
"key2": "value2",
|
1024
|
+
"key3": "value3",
|
1025
|
+
},
|
1026
|
+
expire_time="2055-11-30T00:00:00Z")
|
1027
|
+
```
|
1028
|
+
### Regional Secret With Version Destroy Ttl
|
1029
|
+
|
1030
|
+
```python
|
1031
|
+
import pulumi
|
1032
|
+
import pulumi_gcp as gcp
|
1033
|
+
|
1034
|
+
regional_secret_with_version_destroy_ttl = gcp.secretmanager.RegionalSecret("regional-secret-with-version-destroy-ttl",
|
1035
|
+
secret_id="tf-reg-secret",
|
1036
|
+
location="us-central1",
|
1037
|
+
labels={
|
1038
|
+
"label": "my-label",
|
1039
|
+
},
|
1040
|
+
annotations={
|
1041
|
+
"key1": "value1",
|
1042
|
+
"key2": "value2",
|
1043
|
+
"key3": "value3",
|
1044
|
+
},
|
1045
|
+
version_destroy_ttl="86400s")
|
1046
|
+
```
|
1047
|
+
|
1048
|
+
## Import
|
1049
|
+
|
1050
|
+
RegionalSecret can be imported using any of these accepted formats:
|
1051
|
+
|
1052
|
+
* `projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}`
|
1053
|
+
|
1054
|
+
* `{{project}}/{{location}}/{{secret_id}}`
|
1055
|
+
|
1056
|
+
* `{{location}}/{{secret_id}}`
|
1057
|
+
|
1058
|
+
When using the `pulumi import` command, RegionalSecret can be imported using one of the formats above. For example:
|
1059
|
+
|
1060
|
+
```sh
|
1061
|
+
$ pulumi import gcp:secretmanager/regionalSecret:RegionalSecret default projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}
|
1062
|
+
```
|
1063
|
+
|
1064
|
+
```sh
|
1065
|
+
$ pulumi import gcp:secretmanager/regionalSecret:RegionalSecret default {{project}}/{{location}}/{{secret_id}}
|
1066
|
+
```
|
1067
|
+
|
1068
|
+
```sh
|
1069
|
+
$ pulumi import gcp:secretmanager/regionalSecret:RegionalSecret default {{location}}/{{secret_id}}
|
1070
|
+
```
|
1071
|
+
|
1072
|
+
:param str resource_name: The name of the resource.
|
1073
|
+
:param RegionalSecretArgs args: The arguments to use to populate this resource's properties.
|
1074
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1075
|
+
"""
|
1076
|
+
...
|
1077
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1078
|
+
resource_args, opts = _utilities.get_resource_args_opts(RegionalSecretArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1079
|
+
if resource_args is not None:
|
1080
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1081
|
+
else:
|
1082
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1083
|
+
|
1084
|
+
def _internal_init(__self__,
|
1085
|
+
resource_name: str,
|
1086
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1087
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1088
|
+
customer_managed_encryption: Optional[pulumi.Input[Union['RegionalSecretCustomerManagedEncryptionArgs', 'RegionalSecretCustomerManagedEncryptionArgsDict']]] = None,
|
1089
|
+
expire_time: Optional[pulumi.Input[str]] = None,
|
1090
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1091
|
+
location: Optional[pulumi.Input[str]] = None,
|
1092
|
+
project: Optional[pulumi.Input[str]] = None,
|
1093
|
+
rotation: Optional[pulumi.Input[Union['RegionalSecretRotationArgs', 'RegionalSecretRotationArgsDict']]] = None,
|
1094
|
+
secret_id: Optional[pulumi.Input[str]] = None,
|
1095
|
+
topics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionalSecretTopicArgs', 'RegionalSecretTopicArgsDict']]]]] = None,
|
1096
|
+
ttl: Optional[pulumi.Input[str]] = None,
|
1097
|
+
version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1098
|
+
version_destroy_ttl: Optional[pulumi.Input[str]] = None,
|
1099
|
+
__props__=None):
|
1100
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1101
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1102
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1103
|
+
if opts.id is None:
|
1104
|
+
if __props__ is not None:
|
1105
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1106
|
+
__props__ = RegionalSecretArgs.__new__(RegionalSecretArgs)
|
1107
|
+
|
1108
|
+
__props__.__dict__["annotations"] = annotations
|
1109
|
+
__props__.__dict__["customer_managed_encryption"] = customer_managed_encryption
|
1110
|
+
__props__.__dict__["expire_time"] = expire_time
|
1111
|
+
__props__.__dict__["labels"] = labels
|
1112
|
+
if location is None and not opts.urn:
|
1113
|
+
raise TypeError("Missing required property 'location'")
|
1114
|
+
__props__.__dict__["location"] = location
|
1115
|
+
__props__.__dict__["project"] = project
|
1116
|
+
__props__.__dict__["rotation"] = rotation
|
1117
|
+
if secret_id is None and not opts.urn:
|
1118
|
+
raise TypeError("Missing required property 'secret_id'")
|
1119
|
+
__props__.__dict__["secret_id"] = secret_id
|
1120
|
+
__props__.__dict__["topics"] = topics
|
1121
|
+
__props__.__dict__["ttl"] = ttl
|
1122
|
+
__props__.__dict__["version_aliases"] = version_aliases
|
1123
|
+
__props__.__dict__["version_destroy_ttl"] = version_destroy_ttl
|
1124
|
+
__props__.__dict__["create_time"] = None
|
1125
|
+
__props__.__dict__["effective_annotations"] = None
|
1126
|
+
__props__.__dict__["effective_labels"] = None
|
1127
|
+
__props__.__dict__["name"] = None
|
1128
|
+
__props__.__dict__["pulumi_labels"] = None
|
1129
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
1130
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1131
|
+
super(RegionalSecret, __self__).__init__(
|
1132
|
+
'gcp:secretmanager/regionalSecret:RegionalSecret',
|
1133
|
+
resource_name,
|
1134
|
+
__props__,
|
1135
|
+
opts)
|
1136
|
+
|
1137
|
+
@staticmethod
|
1138
|
+
def get(resource_name: str,
|
1139
|
+
id: pulumi.Input[str],
|
1140
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1141
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1142
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
1143
|
+
customer_managed_encryption: Optional[pulumi.Input[Union['RegionalSecretCustomerManagedEncryptionArgs', 'RegionalSecretCustomerManagedEncryptionArgsDict']]] = None,
|
1144
|
+
effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1145
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1146
|
+
expire_time: Optional[pulumi.Input[str]] = None,
|
1147
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1148
|
+
location: Optional[pulumi.Input[str]] = None,
|
1149
|
+
name: Optional[pulumi.Input[str]] = None,
|
1150
|
+
project: Optional[pulumi.Input[str]] = None,
|
1151
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1152
|
+
rotation: Optional[pulumi.Input[Union['RegionalSecretRotationArgs', 'RegionalSecretRotationArgsDict']]] = None,
|
1153
|
+
secret_id: Optional[pulumi.Input[str]] = None,
|
1154
|
+
topics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionalSecretTopicArgs', 'RegionalSecretTopicArgsDict']]]]] = None,
|
1155
|
+
ttl: Optional[pulumi.Input[str]] = None,
|
1156
|
+
version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1157
|
+
version_destroy_ttl: Optional[pulumi.Input[str]] = None) -> 'RegionalSecret':
|
1158
|
+
"""
|
1159
|
+
Get an existing RegionalSecret resource's state with the given name, id, and optional extra
|
1160
|
+
properties used to qualify the lookup.
|
1161
|
+
|
1162
|
+
:param str resource_name: The unique name of the resulting resource.
|
1163
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1164
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1165
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Custom metadata about the regional secret.
|
1166
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
1167
|
+
client tools to store their own state information without requiring a database.
|
1168
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
1169
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
1170
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
1171
|
+
symbols.
|
1172
|
+
The total size of annotation keys and values must be less than 16KiB.
|
1173
|
+
An object containing a list of "key": value pairs. Example:
|
1174
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1175
|
+
|
1176
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
1177
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
1178
|
+
:param pulumi.Input[str] create_time: The time at which the regional secret was created.
|
1179
|
+
:param pulumi.Input[Union['RegionalSecretCustomerManagedEncryptionArgs', 'RegionalSecretCustomerManagedEncryptionArgsDict']] customer_managed_encryption: The customer-managed encryption configuration of the regional secret.
|
1180
|
+
Structure is documented below.
|
1181
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1182
|
+
:param pulumi.Input[str] expire_time: Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
1183
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
1184
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
1185
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
1186
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels assigned to this regional secret.
|
1187
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
1188
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
1189
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
1190
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
1191
|
+
No more than 64 labels can be assigned to a given resource.
|
1192
|
+
An object containing a list of "key": value pairs. Example:
|
1193
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1194
|
+
|
1195
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1196
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1197
|
+
:param pulumi.Input[str] location: The location of the regional secret. eg us-central1
|
1198
|
+
:param pulumi.Input[str] name: The resource name of the regional secret. Format:
|
1199
|
+
`projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}`
|
1200
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
1201
|
+
If it is not provided, the provider project is used.
|
1202
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
1203
|
+
and default labels configured on the provider.
|
1204
|
+
:param pulumi.Input[Union['RegionalSecretRotationArgs', 'RegionalSecretRotationArgsDict']] rotation: The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
1205
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
1206
|
+
set to configure rotation.
|
1207
|
+
Structure is documented below.
|
1208
|
+
:param pulumi.Input[str] secret_id: This must be unique within the project.
|
1209
|
+
|
1210
|
+
|
1211
|
+
- - -
|
1212
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RegionalSecretTopicArgs', 'RegionalSecretTopicArgsDict']]]] topics: A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
1213
|
+
operations are called on the regional secret or its versions.
|
1214
|
+
Structure is documented below.
|
1215
|
+
:param pulumi.Input[str] ttl: The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
1216
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
1217
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] version_aliases: Mapping from version alias to version name.
|
1218
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
1219
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
1220
|
+
characters. An alias string must start with a letter and cannot be the string
|
1221
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
1222
|
+
An object containing a list of "key": value pairs. Example:
|
1223
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1224
|
+
:param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request.
|
1225
|
+
This is a part of the delayed delete feature on Secret Version.
|
1226
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
1227
|
+
on calling destroy instead the version goes to a disabled state and
|
1228
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
1229
|
+
"""
|
1230
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1231
|
+
|
1232
|
+
__props__ = _RegionalSecretState.__new__(_RegionalSecretState)
|
1233
|
+
|
1234
|
+
__props__.__dict__["annotations"] = annotations
|
1235
|
+
__props__.__dict__["create_time"] = create_time
|
1236
|
+
__props__.__dict__["customer_managed_encryption"] = customer_managed_encryption
|
1237
|
+
__props__.__dict__["effective_annotations"] = effective_annotations
|
1238
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
1239
|
+
__props__.__dict__["expire_time"] = expire_time
|
1240
|
+
__props__.__dict__["labels"] = labels
|
1241
|
+
__props__.__dict__["location"] = location
|
1242
|
+
__props__.__dict__["name"] = name
|
1243
|
+
__props__.__dict__["project"] = project
|
1244
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
1245
|
+
__props__.__dict__["rotation"] = rotation
|
1246
|
+
__props__.__dict__["secret_id"] = secret_id
|
1247
|
+
__props__.__dict__["topics"] = topics
|
1248
|
+
__props__.__dict__["ttl"] = ttl
|
1249
|
+
__props__.__dict__["version_aliases"] = version_aliases
|
1250
|
+
__props__.__dict__["version_destroy_ttl"] = version_destroy_ttl
|
1251
|
+
return RegionalSecret(resource_name, opts=opts, __props__=__props__)
|
1252
|
+
|
1253
|
+
@property
|
1254
|
+
@pulumi.getter
|
1255
|
+
def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1256
|
+
"""
|
1257
|
+
Custom metadata about the regional secret.
|
1258
|
+
Annotations are distinct from various forms of labels. Annotations exist to allow
|
1259
|
+
client tools to store their own state information without requiring a database.
|
1260
|
+
Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of
|
1261
|
+
maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and
|
1262
|
+
may have dashes (-), underscores (_), dots (.), and alphanumerics in between these
|
1263
|
+
symbols.
|
1264
|
+
The total size of annotation keys and values must be less than 16KiB.
|
1265
|
+
An object containing a list of "key": value pairs. Example:
|
1266
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1267
|
+
|
1268
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
1269
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
1270
|
+
"""
|
1271
|
+
return pulumi.get(self, "annotations")
|
1272
|
+
|
1273
|
+
@property
|
1274
|
+
@pulumi.getter(name="createTime")
|
1275
|
+
def create_time(self) -> pulumi.Output[str]:
|
1276
|
+
"""
|
1277
|
+
The time at which the regional secret was created.
|
1278
|
+
"""
|
1279
|
+
return pulumi.get(self, "create_time")
|
1280
|
+
|
1281
|
+
@property
|
1282
|
+
@pulumi.getter(name="customerManagedEncryption")
|
1283
|
+
def customer_managed_encryption(self) -> pulumi.Output[Optional['outputs.RegionalSecretCustomerManagedEncryption']]:
|
1284
|
+
"""
|
1285
|
+
The customer-managed encryption configuration of the regional secret.
|
1286
|
+
Structure is documented below.
|
1287
|
+
"""
|
1288
|
+
return pulumi.get(self, "customer_managed_encryption")
|
1289
|
+
|
1290
|
+
@property
|
1291
|
+
@pulumi.getter(name="effectiveAnnotations")
|
1292
|
+
def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
|
1293
|
+
return pulumi.get(self, "effective_annotations")
|
1294
|
+
|
1295
|
+
@property
|
1296
|
+
@pulumi.getter(name="effectiveLabels")
|
1297
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1298
|
+
"""
|
1299
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1300
|
+
"""
|
1301
|
+
return pulumi.get(self, "effective_labels")
|
1302
|
+
|
1303
|
+
@property
|
1304
|
+
@pulumi.getter(name="expireTime")
|
1305
|
+
def expire_time(self) -> pulumi.Output[str]:
|
1306
|
+
"""
|
1307
|
+
Timestamp in UTC when the regional secret is scheduled to expire. This is always provided on
|
1308
|
+
output, regardless of what was sent on input. A timestamp in RFC3339 UTC "Zulu" format, with
|
1309
|
+
nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and
|
1310
|
+
"2014-10-02T15:01:23.045123456Z". Only one of `expire_time` or `ttl` can be provided.
|
1311
|
+
"""
|
1312
|
+
return pulumi.get(self, "expire_time")
|
1313
|
+
|
1314
|
+
@property
|
1315
|
+
@pulumi.getter
|
1316
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1317
|
+
"""
|
1318
|
+
The labels assigned to this regional secret.
|
1319
|
+
Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
1320
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
|
1321
|
+
Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
|
1322
|
+
and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
|
1323
|
+
No more than 64 labels can be assigned to a given resource.
|
1324
|
+
An object containing a list of "key": value pairs. Example:
|
1325
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1326
|
+
|
1327
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1328
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1329
|
+
"""
|
1330
|
+
return pulumi.get(self, "labels")
|
1331
|
+
|
1332
|
+
@property
|
1333
|
+
@pulumi.getter
|
1334
|
+
def location(self) -> pulumi.Output[str]:
|
1335
|
+
"""
|
1336
|
+
The location of the regional secret. eg us-central1
|
1337
|
+
"""
|
1338
|
+
return pulumi.get(self, "location")
|
1339
|
+
|
1340
|
+
@property
|
1341
|
+
@pulumi.getter
|
1342
|
+
def name(self) -> pulumi.Output[str]:
|
1343
|
+
"""
|
1344
|
+
The resource name of the regional secret. Format:
|
1345
|
+
`projects/{{project}}/locations/{{location}}/secrets/{{secret_id}}`
|
1346
|
+
"""
|
1347
|
+
return pulumi.get(self, "name")
|
1348
|
+
|
1349
|
+
@property
|
1350
|
+
@pulumi.getter
|
1351
|
+
def project(self) -> pulumi.Output[str]:
|
1352
|
+
"""
|
1353
|
+
The ID of the project in which the resource belongs.
|
1354
|
+
If it is not provided, the provider project is used.
|
1355
|
+
"""
|
1356
|
+
return pulumi.get(self, "project")
|
1357
|
+
|
1358
|
+
@property
|
1359
|
+
@pulumi.getter(name="pulumiLabels")
|
1360
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1361
|
+
"""
|
1362
|
+
The combination of labels configured directly on the resource
|
1363
|
+
and default labels configured on the provider.
|
1364
|
+
"""
|
1365
|
+
return pulumi.get(self, "pulumi_labels")
|
1366
|
+
|
1367
|
+
@property
|
1368
|
+
@pulumi.getter
|
1369
|
+
def rotation(self) -> pulumi.Output[Optional['outputs.RegionalSecretRotation']]:
|
1370
|
+
"""
|
1371
|
+
The rotation time and period for a regional secret. At `next_rotation_time`, Secret Manager
|
1372
|
+
will send a Pub/Sub notification to the topics configured on the Secret. `topics` must be
|
1373
|
+
set to configure rotation.
|
1374
|
+
Structure is documented below.
|
1375
|
+
"""
|
1376
|
+
return pulumi.get(self, "rotation")
|
1377
|
+
|
1378
|
+
@property
|
1379
|
+
@pulumi.getter(name="secretId")
|
1380
|
+
def secret_id(self) -> pulumi.Output[str]:
|
1381
|
+
"""
|
1382
|
+
This must be unique within the project.
|
1383
|
+
|
1384
|
+
|
1385
|
+
- - -
|
1386
|
+
"""
|
1387
|
+
return pulumi.get(self, "secret_id")
|
1388
|
+
|
1389
|
+
@property
|
1390
|
+
@pulumi.getter
|
1391
|
+
def topics(self) -> pulumi.Output[Optional[Sequence['outputs.RegionalSecretTopic']]]:
|
1392
|
+
"""
|
1393
|
+
A list of up to 10 Pub/Sub topics to which messages are published when control plane
|
1394
|
+
operations are called on the regional secret or its versions.
|
1395
|
+
Structure is documented below.
|
1396
|
+
"""
|
1397
|
+
return pulumi.get(self, "topics")
|
1398
|
+
|
1399
|
+
@property
|
1400
|
+
@pulumi.getter
|
1401
|
+
def ttl(self) -> pulumi.Output[Optional[str]]:
|
1402
|
+
"""
|
1403
|
+
The TTL for the regional secret. A duration in seconds with up to nine fractional digits,
|
1404
|
+
terminated by 's'. Example: "3.5s". Only one of `ttl` or `expire_time` can be provided.
|
1405
|
+
"""
|
1406
|
+
return pulumi.get(self, "ttl")
|
1407
|
+
|
1408
|
+
@property
|
1409
|
+
@pulumi.getter(name="versionAliases")
|
1410
|
+
def version_aliases(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1411
|
+
"""
|
1412
|
+
Mapping from version alias to version name.
|
1413
|
+
A version alias is a string with a maximum length of 63 characters and can contain
|
1414
|
+
uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_')
|
1415
|
+
characters. An alias string must start with a letter and cannot be the string
|
1416
|
+
'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
|
1417
|
+
An object containing a list of "key": value pairs. Example:
|
1418
|
+
{ "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1419
|
+
"""
|
1420
|
+
return pulumi.get(self, "version_aliases")
|
1421
|
+
|
1422
|
+
@property
|
1423
|
+
@pulumi.getter(name="versionDestroyTtl")
|
1424
|
+
def version_destroy_ttl(self) -> pulumi.Output[Optional[str]]:
|
1425
|
+
"""
|
1426
|
+
Secret Version TTL after destruction request.
|
1427
|
+
This is a part of the delayed delete feature on Secret Version.
|
1428
|
+
For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
|
1429
|
+
on calling destroy instead the version goes to a disabled state and
|
1430
|
+
the actual destruction happens after this TTL expires. It must be atleast 24h.
|
1431
|
+
"""
|
1432
|
+
return pulumi.get(self, "version_destroy_ttl")
|
1433
|
+
|