pulumi-gcp 8.18.0a1738650987__py3-none-any.whl → 8.19.0a1738736844__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 +24 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
- pulumi_gcp/alloydb/user.py +10 -1
- pulumi_gcp/assuredworkloads/workload.py +7 -7
- pulumi_gcp/beyondcorp/__init__.py +4 -0
- pulumi_gcp/beyondcorp/_inputs.py +130 -0
- pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
- pulumi_gcp/beyondcorp/outputs.py +76 -0
- pulumi_gcp/beyondcorp/security_gateway.py +52 -25
- pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
- pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
- pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
- pulumi_gcp/bigquery/_inputs.py +33 -0
- pulumi_gcp/bigquery/dataset.py +7 -7
- pulumi_gcp/bigquery/outputs.py +36 -0
- pulumi_gcp/bigquery/table.py +61 -7
- pulumi_gcp/chronicle/retrohunt.py +0 -16
- pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
- pulumi_gcp/compute/_inputs.py +9 -9
- pulumi_gcp/compute/get_network.py +3 -3
- pulumi_gcp/compute/network.py +7 -7
- pulumi_gcp/compute/outputs.py +6 -6
- pulumi_gcp/compute/router_peer.py +112 -0
- pulumi_gcp/container/_inputs.py +79 -20
- pulumi_gcp/container/outputs.py +75 -12
- pulumi_gcp/dataproc/_inputs.py +34 -0
- pulumi_gcp/dataproc/outputs.py +37 -0
- pulumi_gcp/dataproc/workflow_template.py +47 -0
- pulumi_gcp/firestore/field.py +60 -0
- pulumi_gcp/gkehub/_inputs.py +20 -0
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/outputs.py +26 -1
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/netapp/storage_pool.py +1 -1
- pulumi_gcp/networkconnectivity/spoke.py +76 -14
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parametermanager/__init__.py +3 -0
- pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
- pulumi_gcp/parametermanager/get_parameters.py +140 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
- pulumi_gcp/parametermanager/outputs.py +156 -0
- pulumi_gcp/pubsub/_inputs.py +264 -0
- pulumi_gcp/pubsub/outputs.py +353 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pubsub/topic.py +70 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/resourcemanager/lien.py +12 -0
- pulumi_gcp/secretmanager/regional_secret.py +4 -0
- pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
- pulumi_gcp/secretmanager/secret.py +4 -0
- pulumi_gcp/secretmanager/secret_version.py +12 -0
- pulumi_gcp/securityposture/posture.py +4 -0
- pulumi_gcp/securityposture/posture_deployment.py +4 -0
- pulumi_gcp/serviceaccount/get_s.py +98 -8
- pulumi_gcp/spanner/_inputs.py +68 -0
- pulumi_gcp/spanner/backup_schedule.py +70 -4
- pulumi_gcp/spanner/outputs.py +60 -0
- pulumi_gcp/storage/get_bucket_object_content.py +4 -4
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/workflows/workflow.py +175 -0
- {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/RECORD +69 -62
- {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/top_level.txt +0 -0
@@ -342,6 +342,12 @@ class RegionalSecretVersion(pulumi.CustomResource):
|
|
342
342
|
"""
|
343
343
|
A regional secret version resource.
|
344
344
|
|
345
|
+
To get more information about RegionalSecretVersion, see:
|
346
|
+
|
347
|
+
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.locations.secrets.versions)
|
348
|
+
* How-to Guides
|
349
|
+
* [Create and deploy a Regional Secret Version](https://cloud.google.com/secret-manager/regional-secrets/add-secret-version-rs)
|
350
|
+
|
345
351
|
## Example Usage
|
346
352
|
|
347
353
|
### Regional Secret Version Basic
|
@@ -453,6 +459,12 @@ class RegionalSecretVersion(pulumi.CustomResource):
|
|
453
459
|
"""
|
454
460
|
A regional secret version resource.
|
455
461
|
|
462
|
+
To get more information about RegionalSecretVersion, see:
|
463
|
+
|
464
|
+
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.locations.secrets.versions)
|
465
|
+
* How-to Guides
|
466
|
+
* [Create and deploy a Regional Secret Version](https://cloud.google.com/secret-manager/regional-secrets/add-secret-version-rs)
|
467
|
+
|
456
468
|
## Example Usage
|
457
469
|
|
458
470
|
### Regional Secret Version Basic
|
@@ -583,6 +583,8 @@ class Secret(pulumi.CustomResource):
|
|
583
583
|
To get more information about Secret, see:
|
584
584
|
|
585
585
|
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets)
|
586
|
+
* How-to Guides
|
587
|
+
* [Create and deploy a Secret](https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets)
|
586
588
|
|
587
589
|
## Example Usage
|
588
590
|
|
@@ -743,6 +745,8 @@ class Secret(pulumi.CustomResource):
|
|
743
745
|
To get more information about Secret, see:
|
744
746
|
|
745
747
|
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets)
|
748
|
+
* How-to Guides
|
749
|
+
* [Create and deploy a Secret](https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets)
|
746
750
|
|
747
751
|
## Example Usage
|
748
752
|
|
@@ -306,6 +306,12 @@ class SecretVersion(pulumi.CustomResource):
|
|
306
306
|
"""
|
307
307
|
A secret version resource.
|
308
308
|
|
309
|
+
To get more information about SecretVersion, see:
|
310
|
+
|
311
|
+
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions)
|
312
|
+
* How-to Guides
|
313
|
+
* [Create and deploy a Secret Version](https://cloud.google.com/secret-manager/docs/add-secret-version)
|
314
|
+
|
309
315
|
## Example Usage
|
310
316
|
|
311
317
|
### Secret Version Basic
|
@@ -426,6 +432,12 @@ class SecretVersion(pulumi.CustomResource):
|
|
426
432
|
"""
|
427
433
|
A secret version resource.
|
428
434
|
|
435
|
+
To get more information about SecretVersion, see:
|
436
|
+
|
437
|
+
* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions)
|
438
|
+
* How-to Guides
|
439
|
+
* [Create and deploy a Secret Version](https://cloud.google.com/secret-manager/docs/add-secret-version)
|
440
|
+
|
429
441
|
## Example Usage
|
430
442
|
|
431
443
|
### Secret Version Basic
|
@@ -348,6 +348,8 @@ class Posture(pulumi.CustomResource):
|
|
348
348
|
Every update to a deployed posture creates a new posture revision with an updated revision_id.
|
349
349
|
|
350
350
|
To get more information about Posture, see:
|
351
|
+
|
352
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/securityposture/rest/v1/Posture)
|
351
353
|
* How-to Guides
|
352
354
|
* [Create and deploy a posture](https://cloud.google.com/security-command-center/docs/how-to-use-security-posture)
|
353
355
|
|
@@ -499,6 +501,8 @@ class Posture(pulumi.CustomResource):
|
|
499
501
|
Every update to a deployed posture creates a new posture revision with an updated revision_id.
|
500
502
|
|
501
503
|
To get more information about Posture, see:
|
504
|
+
|
505
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/securityposture/rest/v1/Posture)
|
502
506
|
* How-to Guides
|
503
507
|
* [Create and deploy a posture](https://cloud.google.com/security-command-center/docs/how-to-use-security-posture)
|
504
508
|
|
@@ -459,6 +459,8 @@ class PostureDeployment(pulumi.CustomResource):
|
|
459
459
|
on a resource.
|
460
460
|
|
461
461
|
To get more information about PostureDeployment, see:
|
462
|
+
|
463
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/securityposture/rest/v1/organizations.locations.postureDeployments)
|
462
464
|
* How-to Guides
|
463
465
|
* [Create and deploy a posture](https://cloud.google.com/security-command-center/docs/how-to-use-security-posture)
|
464
466
|
|
@@ -505,6 +507,8 @@ class PostureDeployment(pulumi.CustomResource):
|
|
505
507
|
on a resource.
|
506
508
|
|
507
509
|
To get more information about PostureDeployment, see:
|
510
|
+
|
511
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/securityposture/rest/v1/organizations.locations.postureDeployments)
|
508
512
|
* How-to Guides
|
509
513
|
* [Create and deploy a posture](https://cloud.google.com/security-command-center/docs/how-to-use-security-posture)
|
510
514
|
|
@@ -27,16 +27,22 @@ class GetSResult:
|
|
27
27
|
"""
|
28
28
|
A collection of values returned by getS.
|
29
29
|
"""
|
30
|
-
def __init__(__self__, accounts=None, id=None, project=None):
|
30
|
+
def __init__(__self__, accounts=None, id=None, prefix=None, project=None, regex=None):
|
31
31
|
if accounts and not isinstance(accounts, list):
|
32
32
|
raise TypeError("Expected argument 'accounts' to be a list")
|
33
33
|
pulumi.set(__self__, "accounts", accounts)
|
34
34
|
if id and not isinstance(id, str):
|
35
35
|
raise TypeError("Expected argument 'id' to be a str")
|
36
36
|
pulumi.set(__self__, "id", id)
|
37
|
+
if prefix and not isinstance(prefix, str):
|
38
|
+
raise TypeError("Expected argument 'prefix' to be a str")
|
39
|
+
pulumi.set(__self__, "prefix", prefix)
|
37
40
|
if project and not isinstance(project, str):
|
38
41
|
raise TypeError("Expected argument 'project' to be a str")
|
39
42
|
pulumi.set(__self__, "project", project)
|
43
|
+
if regex and not isinstance(regex, str):
|
44
|
+
raise TypeError("Expected argument 'regex' to be a str")
|
45
|
+
pulumi.set(__self__, "regex", regex)
|
40
46
|
|
41
47
|
@property
|
42
48
|
@pulumi.getter
|
@@ -54,11 +60,21 @@ class GetSResult:
|
|
54
60
|
"""
|
55
61
|
return pulumi.get(self, "id")
|
56
62
|
|
63
|
+
@property
|
64
|
+
@pulumi.getter
|
65
|
+
def prefix(self) -> Optional[str]:
|
66
|
+
return pulumi.get(self, "prefix")
|
67
|
+
|
57
68
|
@property
|
58
69
|
@pulumi.getter
|
59
70
|
def project(self) -> Optional[str]:
|
60
71
|
return pulumi.get(self, "project")
|
61
72
|
|
73
|
+
@property
|
74
|
+
@pulumi.getter
|
75
|
+
def regex(self) -> Optional[str]:
|
76
|
+
return pulumi.get(self, "regex")
|
77
|
+
|
62
78
|
|
63
79
|
class AwaitableGetSResult(GetSResult):
|
64
80
|
# pylint: disable=using-constant-test
|
@@ -68,10 +84,14 @@ class AwaitableGetSResult(GetSResult):
|
|
68
84
|
return GetSResult(
|
69
85
|
accounts=self.accounts,
|
70
86
|
id=self.id,
|
71
|
-
|
87
|
+
prefix=self.prefix,
|
88
|
+
project=self.project,
|
89
|
+
regex=self.regex)
|
72
90
|
|
73
91
|
|
74
|
-
def get_s(
|
92
|
+
def get_s(prefix: Optional[str] = None,
|
93
|
+
project: Optional[str] = None,
|
94
|
+
regex: Optional[str] = None,
|
75
95
|
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSResult:
|
76
96
|
"""
|
77
97
|
Gets a list of all service accounts from a project.
|
@@ -80,7 +100,7 @@ def get_s(project: Optional[str] = None,
|
|
80
100
|
|
81
101
|
## Example Usage
|
82
102
|
|
83
|
-
|
103
|
+
Get all service accounts from a project
|
84
104
|
|
85
105
|
```python
|
86
106
|
import pulumi
|
@@ -89,19 +109,55 @@ def get_s(project: Optional[str] = None,
|
|
89
109
|
example = gcp.serviceaccount.get_s(project="example-project")
|
90
110
|
```
|
91
111
|
|
112
|
+
Get all service accounts that are prefixed with `"foo"`
|
113
|
+
|
114
|
+
```python
|
115
|
+
import pulumi
|
116
|
+
import pulumi_gcp as gcp
|
117
|
+
|
118
|
+
foo = gcp.serviceaccount.get_s(prefix="foo")
|
119
|
+
```
|
120
|
+
|
121
|
+
Get all service accounts that contain `"bar"`
|
122
|
+
|
123
|
+
```python
|
124
|
+
import pulumi
|
125
|
+
import pulumi_gcp as gcp
|
126
|
+
|
127
|
+
bar = gcp.serviceaccount.get_s(regex=".*bar.*")
|
128
|
+
```
|
129
|
+
|
130
|
+
Get all service accounts that are prefixed with `"foo"` and contain `"bar"`
|
131
|
+
|
132
|
+
```python
|
133
|
+
import pulumi
|
134
|
+
import pulumi_gcp as gcp
|
135
|
+
|
136
|
+
foo_bar = gcp.serviceaccount.get_s(prefix="foo",
|
137
|
+
regex=".*bar.*")
|
138
|
+
```
|
139
|
+
|
92
140
|
|
141
|
+
:param str prefix: A prefix for filtering. It's applied with the `account_id`.
|
93
142
|
:param str project: The ID of the project. If it is not provided, the provider project is used.
|
143
|
+
:param str regex: A regular expression for filtering. It's applied with the `email`. Further information about the syntax can be found [here](https://github.com/google/re2/wiki/Syntax).
|
94
144
|
"""
|
95
145
|
__args__ = dict()
|
146
|
+
__args__['prefix'] = prefix
|
96
147
|
__args__['project'] = project
|
148
|
+
__args__['regex'] = regex
|
97
149
|
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
98
150
|
__ret__ = pulumi.runtime.invoke('gcp:serviceaccount/getS:getS', __args__, opts=opts, typ=GetSResult).value
|
99
151
|
|
100
152
|
return AwaitableGetSResult(
|
101
153
|
accounts=pulumi.get(__ret__, 'accounts'),
|
102
154
|
id=pulumi.get(__ret__, 'id'),
|
103
|
-
|
104
|
-
|
155
|
+
prefix=pulumi.get(__ret__, 'prefix'),
|
156
|
+
project=pulumi.get(__ret__, 'project'),
|
157
|
+
regex=pulumi.get(__ret__, 'regex'))
|
158
|
+
def get_s_output(prefix: Optional[pulumi.Input[Optional[str]]] = None,
|
159
|
+
project: Optional[pulumi.Input[Optional[str]]] = None,
|
160
|
+
regex: Optional[pulumi.Input[Optional[str]]] = None,
|
105
161
|
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSResult]:
|
106
162
|
"""
|
107
163
|
Gets a list of all service accounts from a project.
|
@@ -110,7 +166,7 @@ def get_s_output(project: Optional[pulumi.Input[Optional[str]]] = None,
|
|
110
166
|
|
111
167
|
## Example Usage
|
112
168
|
|
113
|
-
|
169
|
+
Get all service accounts from a project
|
114
170
|
|
115
171
|
```python
|
116
172
|
import pulumi
|
@@ -119,14 +175,48 @@ def get_s_output(project: Optional[pulumi.Input[Optional[str]]] = None,
|
|
119
175
|
example = gcp.serviceaccount.get_s(project="example-project")
|
120
176
|
```
|
121
177
|
|
178
|
+
Get all service accounts that are prefixed with `"foo"`
|
179
|
+
|
180
|
+
```python
|
181
|
+
import pulumi
|
182
|
+
import pulumi_gcp as gcp
|
183
|
+
|
184
|
+
foo = gcp.serviceaccount.get_s(prefix="foo")
|
185
|
+
```
|
186
|
+
|
187
|
+
Get all service accounts that contain `"bar"`
|
188
|
+
|
189
|
+
```python
|
190
|
+
import pulumi
|
191
|
+
import pulumi_gcp as gcp
|
192
|
+
|
193
|
+
bar = gcp.serviceaccount.get_s(regex=".*bar.*")
|
194
|
+
```
|
195
|
+
|
196
|
+
Get all service accounts that are prefixed with `"foo"` and contain `"bar"`
|
197
|
+
|
198
|
+
```python
|
199
|
+
import pulumi
|
200
|
+
import pulumi_gcp as gcp
|
201
|
+
|
202
|
+
foo_bar = gcp.serviceaccount.get_s(prefix="foo",
|
203
|
+
regex=".*bar.*")
|
204
|
+
```
|
205
|
+
|
122
206
|
|
207
|
+
:param str prefix: A prefix for filtering. It's applied with the `account_id`.
|
123
208
|
:param str project: The ID of the project. If it is not provided, the provider project is used.
|
209
|
+
:param str regex: A regular expression for filtering. It's applied with the `email`. Further information about the syntax can be found [here](https://github.com/google/re2/wiki/Syntax).
|
124
210
|
"""
|
125
211
|
__args__ = dict()
|
212
|
+
__args__['prefix'] = prefix
|
126
213
|
__args__['project'] = project
|
214
|
+
__args__['regex'] = regex
|
127
215
|
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
128
216
|
__ret__ = pulumi.runtime.invoke_output('gcp:serviceaccount/getS:getS', __args__, opts=opts, typ=GetSResult)
|
129
217
|
return __ret__.apply(lambda __response__: GetSResult(
|
130
218
|
accounts=pulumi.get(__response__, 'accounts'),
|
131
219
|
id=pulumi.get(__response__, 'id'),
|
132
|
-
|
220
|
+
prefix=pulumi.get(__response__, 'prefix'),
|
221
|
+
project=pulumi.get(__response__, 'project'),
|
222
|
+
regex=pulumi.get(__response__, 'regex')))
|
pulumi_gcp/spanner/_inputs.py
CHANGED
@@ -15,6 +15,8 @@ else:
|
|
15
15
|
from .. import _utilities
|
16
16
|
|
17
17
|
__all__ = [
|
18
|
+
'BackupScheduleEncryptionConfigArgs',
|
19
|
+
'BackupScheduleEncryptionConfigArgsDict',
|
18
20
|
'BackupScheduleFullBackupSpecArgs',
|
19
21
|
'BackupScheduleFullBackupSpecArgsDict',
|
20
22
|
'BackupScheduleIncrementalBackupSpecArgs',
|
@@ -53,6 +55,72 @@ __all__ = [
|
|
53
55
|
|
54
56
|
MYPY = False
|
55
57
|
|
58
|
+
if not MYPY:
|
59
|
+
class BackupScheduleEncryptionConfigArgsDict(TypedDict):
|
60
|
+
encryption_type: pulumi.Input[str]
|
61
|
+
"""
|
62
|
+
The encryption type of backups created by the backup schedule.
|
63
|
+
Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
|
64
|
+
If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
|
65
|
+
If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
|
66
|
+
Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
|
67
|
+
"""
|
68
|
+
kms_key_name: NotRequired[pulumi.Input[str]]
|
69
|
+
"""
|
70
|
+
The resource name of the Cloud KMS key to use for encryption.
|
71
|
+
Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
|
72
|
+
"""
|
73
|
+
elif False:
|
74
|
+
BackupScheduleEncryptionConfigArgsDict: TypeAlias = Mapping[str, Any]
|
75
|
+
|
76
|
+
@pulumi.input_type
|
77
|
+
class BackupScheduleEncryptionConfigArgs:
|
78
|
+
def __init__(__self__, *,
|
79
|
+
encryption_type: pulumi.Input[str],
|
80
|
+
kms_key_name: Optional[pulumi.Input[str]] = None):
|
81
|
+
"""
|
82
|
+
:param pulumi.Input[str] encryption_type: The encryption type of backups created by the backup schedule.
|
83
|
+
Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
|
84
|
+
If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
|
85
|
+
If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
|
86
|
+
Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
|
87
|
+
:param pulumi.Input[str] kms_key_name: The resource name of the Cloud KMS key to use for encryption.
|
88
|
+
Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
|
89
|
+
"""
|
90
|
+
pulumi.set(__self__, "encryption_type", encryption_type)
|
91
|
+
if kms_key_name is not None:
|
92
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
93
|
+
|
94
|
+
@property
|
95
|
+
@pulumi.getter(name="encryptionType")
|
96
|
+
def encryption_type(self) -> pulumi.Input[str]:
|
97
|
+
"""
|
98
|
+
The encryption type of backups created by the backup schedule.
|
99
|
+
Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
|
100
|
+
If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
|
101
|
+
If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
|
102
|
+
Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
|
103
|
+
"""
|
104
|
+
return pulumi.get(self, "encryption_type")
|
105
|
+
|
106
|
+
@encryption_type.setter
|
107
|
+
def encryption_type(self, value: pulumi.Input[str]):
|
108
|
+
pulumi.set(self, "encryption_type", value)
|
109
|
+
|
110
|
+
@property
|
111
|
+
@pulumi.getter(name="kmsKeyName")
|
112
|
+
def kms_key_name(self) -> Optional[pulumi.Input[str]]:
|
113
|
+
"""
|
114
|
+
The resource name of the Cloud KMS key to use for encryption.
|
115
|
+
Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
|
116
|
+
"""
|
117
|
+
return pulumi.get(self, "kms_key_name")
|
118
|
+
|
119
|
+
@kms_key_name.setter
|
120
|
+
def kms_key_name(self, value: Optional[pulumi.Input[str]]):
|
121
|
+
pulumi.set(self, "kms_key_name", value)
|
122
|
+
|
123
|
+
|
56
124
|
if not MYPY:
|
57
125
|
class BackupScheduleFullBackupSpecArgsDict(TypedDict):
|
58
126
|
pass
|
@@ -24,6 +24,7 @@ class BackupScheduleArgs:
|
|
24
24
|
database: pulumi.Input[str],
|
25
25
|
instance: pulumi.Input[str],
|
26
26
|
retention_duration: pulumi.Input[str],
|
27
|
+
encryption_config: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']] = None,
|
27
28
|
full_backup_spec: Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']] = None,
|
28
29
|
incremental_backup_spec: Optional[pulumi.Input['BackupScheduleIncrementalBackupSpecArgs']] = None,
|
29
30
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -39,6 +40,8 @@ class BackupScheduleArgs:
|
|
39
40
|
:param pulumi.Input[str] retention_duration: At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days.
|
40
41
|
A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'.
|
41
42
|
You can set this to a value up to 366 days.
|
43
|
+
:param pulumi.Input['BackupScheduleEncryptionConfigArgs'] encryption_config: Configuration for the encryption of the backup schedule.
|
44
|
+
Structure is documented below.
|
42
45
|
:param pulumi.Input['BackupScheduleFullBackupSpecArgs'] full_backup_spec: The schedule creates only full backups..
|
43
46
|
:param pulumi.Input['BackupScheduleIncrementalBackupSpecArgs'] incremental_backup_spec: The schedule creates incremental backup chains.
|
44
47
|
:param pulumi.Input[str] name: A unique identifier for the backup schedule, which cannot be changed after
|
@@ -51,6 +54,8 @@ class BackupScheduleArgs:
|
|
51
54
|
pulumi.set(__self__, "database", database)
|
52
55
|
pulumi.set(__self__, "instance", instance)
|
53
56
|
pulumi.set(__self__, "retention_duration", retention_duration)
|
57
|
+
if encryption_config is not None:
|
58
|
+
pulumi.set(__self__, "encryption_config", encryption_config)
|
54
59
|
if full_backup_spec is not None:
|
55
60
|
pulumi.set(__self__, "full_backup_spec", full_backup_spec)
|
56
61
|
if incremental_backup_spec is not None:
|
@@ -103,6 +108,19 @@ class BackupScheduleArgs:
|
|
103
108
|
def retention_duration(self, value: pulumi.Input[str]):
|
104
109
|
pulumi.set(self, "retention_duration", value)
|
105
110
|
|
111
|
+
@property
|
112
|
+
@pulumi.getter(name="encryptionConfig")
|
113
|
+
def encryption_config(self) -> Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]:
|
114
|
+
"""
|
115
|
+
Configuration for the encryption of the backup schedule.
|
116
|
+
Structure is documented below.
|
117
|
+
"""
|
118
|
+
return pulumi.get(self, "encryption_config")
|
119
|
+
|
120
|
+
@encryption_config.setter
|
121
|
+
def encryption_config(self, value: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]):
|
122
|
+
pulumi.set(self, "encryption_config", value)
|
123
|
+
|
106
124
|
@property
|
107
125
|
@pulumi.getter(name="fullBackupSpec")
|
108
126
|
def full_backup_spec(self) -> Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']]:
|
@@ -171,6 +189,7 @@ class BackupScheduleArgs:
|
|
171
189
|
class _BackupScheduleState:
|
172
190
|
def __init__(__self__, *,
|
173
191
|
database: Optional[pulumi.Input[str]] = None,
|
192
|
+
encryption_config: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']] = None,
|
174
193
|
full_backup_spec: Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']] = None,
|
175
194
|
incremental_backup_spec: Optional[pulumi.Input['BackupScheduleIncrementalBackupSpecArgs']] = None,
|
176
195
|
instance: Optional[pulumi.Input[str]] = None,
|
@@ -184,6 +203,8 @@ class _BackupScheduleState:
|
|
184
203
|
|
185
204
|
|
186
205
|
- - -
|
206
|
+
:param pulumi.Input['BackupScheduleEncryptionConfigArgs'] encryption_config: Configuration for the encryption of the backup schedule.
|
207
|
+
Structure is documented below.
|
187
208
|
:param pulumi.Input['BackupScheduleFullBackupSpecArgs'] full_backup_spec: The schedule creates only full backups..
|
188
209
|
:param pulumi.Input['BackupScheduleIncrementalBackupSpecArgs'] incremental_backup_spec: The schedule creates incremental backup chains.
|
189
210
|
:param pulumi.Input[str] instance: The instance to create the database on.
|
@@ -199,6 +220,8 @@ class _BackupScheduleState:
|
|
199
220
|
"""
|
200
221
|
if database is not None:
|
201
222
|
pulumi.set(__self__, "database", database)
|
223
|
+
if encryption_config is not None:
|
224
|
+
pulumi.set(__self__, "encryption_config", encryption_config)
|
202
225
|
if full_backup_spec is not None:
|
203
226
|
pulumi.set(__self__, "full_backup_spec", full_backup_spec)
|
204
227
|
if incremental_backup_spec is not None:
|
@@ -229,6 +252,19 @@ class _BackupScheduleState:
|
|
229
252
|
def database(self, value: Optional[pulumi.Input[str]]):
|
230
253
|
pulumi.set(self, "database", value)
|
231
254
|
|
255
|
+
@property
|
256
|
+
@pulumi.getter(name="encryptionConfig")
|
257
|
+
def encryption_config(self) -> Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]:
|
258
|
+
"""
|
259
|
+
Configuration for the encryption of the backup schedule.
|
260
|
+
Structure is documented below.
|
261
|
+
"""
|
262
|
+
return pulumi.get(self, "encryption_config")
|
263
|
+
|
264
|
+
@encryption_config.setter
|
265
|
+
def encryption_config(self, value: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]):
|
266
|
+
pulumi.set(self, "encryption_config", value)
|
267
|
+
|
232
268
|
@property
|
233
269
|
@pulumi.getter(name="fullBackupSpec")
|
234
270
|
def full_backup_spec(self) -> Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']]:
|
@@ -325,6 +361,7 @@ class BackupSchedule(pulumi.CustomResource):
|
|
325
361
|
resource_name: str,
|
326
362
|
opts: Optional[pulumi.ResourceOptions] = None,
|
327
363
|
database: Optional[pulumi.Input[str]] = None,
|
364
|
+
encryption_config: Optional[pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']]] = None,
|
328
365
|
full_backup_spec: Optional[pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']]] = None,
|
329
366
|
incremental_backup_spec: Optional[pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']]] = None,
|
330
367
|
instance: Optional[pulumi.Input[str]] = None,
|
@@ -381,7 +418,10 @@ class BackupSchedule(pulumi.CustomResource):
|
|
381
418
|
"text": "0 12 * * *",
|
382
419
|
},
|
383
420
|
},
|
384
|
-
full_backup_spec={}
|
421
|
+
full_backup_spec={},
|
422
|
+
encryption_config={
|
423
|
+
"encryption_type": "USE_DATABASE_ENCRYPTION",
|
424
|
+
})
|
385
425
|
```
|
386
426
|
### Spanner Backup Schedule Daily Incremental
|
387
427
|
|
@@ -414,7 +454,10 @@ class BackupSchedule(pulumi.CustomResource):
|
|
414
454
|
"text": "0 12 * * *",
|
415
455
|
},
|
416
456
|
},
|
417
|
-
incremental_backup_spec={}
|
457
|
+
incremental_backup_spec={},
|
458
|
+
encryption_config={
|
459
|
+
"encryption_type": "GOOGLE_DEFAULT_ENCRYPTION",
|
460
|
+
})
|
418
461
|
```
|
419
462
|
|
420
463
|
## Import
|
@@ -447,6 +490,8 @@ class BackupSchedule(pulumi.CustomResource):
|
|
447
490
|
|
448
491
|
|
449
492
|
- - -
|
493
|
+
:param pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']] encryption_config: Configuration for the encryption of the backup schedule.
|
494
|
+
Structure is documented below.
|
450
495
|
:param pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']] full_backup_spec: The schedule creates only full backups..
|
451
496
|
:param pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']] incremental_backup_spec: The schedule creates incremental backup chains.
|
452
497
|
:param pulumi.Input[str] instance: The instance to create the database on.
|
@@ -514,7 +559,10 @@ class BackupSchedule(pulumi.CustomResource):
|
|
514
559
|
"text": "0 12 * * *",
|
515
560
|
},
|
516
561
|
},
|
517
|
-
full_backup_spec={}
|
562
|
+
full_backup_spec={},
|
563
|
+
encryption_config={
|
564
|
+
"encryption_type": "USE_DATABASE_ENCRYPTION",
|
565
|
+
})
|
518
566
|
```
|
519
567
|
### Spanner Backup Schedule Daily Incremental
|
520
568
|
|
@@ -547,7 +595,10 @@ class BackupSchedule(pulumi.CustomResource):
|
|
547
595
|
"text": "0 12 * * *",
|
548
596
|
},
|
549
597
|
},
|
550
|
-
incremental_backup_spec={}
|
598
|
+
incremental_backup_spec={},
|
599
|
+
encryption_config={
|
600
|
+
"encryption_type": "GOOGLE_DEFAULT_ENCRYPTION",
|
601
|
+
})
|
551
602
|
```
|
552
603
|
|
553
604
|
## Import
|
@@ -590,6 +641,7 @@ class BackupSchedule(pulumi.CustomResource):
|
|
590
641
|
resource_name: str,
|
591
642
|
opts: Optional[pulumi.ResourceOptions] = None,
|
592
643
|
database: Optional[pulumi.Input[str]] = None,
|
644
|
+
encryption_config: Optional[pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']]] = None,
|
593
645
|
full_backup_spec: Optional[pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']]] = None,
|
594
646
|
incremental_backup_spec: Optional[pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']]] = None,
|
595
647
|
instance: Optional[pulumi.Input[str]] = None,
|
@@ -609,6 +661,7 @@ class BackupSchedule(pulumi.CustomResource):
|
|
609
661
|
if database is None and not opts.urn:
|
610
662
|
raise TypeError("Missing required property 'database'")
|
611
663
|
__props__.__dict__["database"] = database
|
664
|
+
__props__.__dict__["encryption_config"] = encryption_config
|
612
665
|
__props__.__dict__["full_backup_spec"] = full_backup_spec
|
613
666
|
__props__.__dict__["incremental_backup_spec"] = incremental_backup_spec
|
614
667
|
if instance is None and not opts.urn:
|
@@ -631,6 +684,7 @@ class BackupSchedule(pulumi.CustomResource):
|
|
631
684
|
id: pulumi.Input[str],
|
632
685
|
opts: Optional[pulumi.ResourceOptions] = None,
|
633
686
|
database: Optional[pulumi.Input[str]] = None,
|
687
|
+
encryption_config: Optional[pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']]] = None,
|
634
688
|
full_backup_spec: Optional[pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']]] = None,
|
635
689
|
incremental_backup_spec: Optional[pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']]] = None,
|
636
690
|
instance: Optional[pulumi.Input[str]] = None,
|
@@ -649,6 +703,8 @@ class BackupSchedule(pulumi.CustomResource):
|
|
649
703
|
|
650
704
|
|
651
705
|
- - -
|
706
|
+
:param pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']] encryption_config: Configuration for the encryption of the backup schedule.
|
707
|
+
Structure is documented below.
|
652
708
|
:param pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']] full_backup_spec: The schedule creates only full backups..
|
653
709
|
:param pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']] incremental_backup_spec: The schedule creates incremental backup chains.
|
654
710
|
:param pulumi.Input[str] instance: The instance to create the database on.
|
@@ -667,6 +723,7 @@ class BackupSchedule(pulumi.CustomResource):
|
|
667
723
|
__props__ = _BackupScheduleState.__new__(_BackupScheduleState)
|
668
724
|
|
669
725
|
__props__.__dict__["database"] = database
|
726
|
+
__props__.__dict__["encryption_config"] = encryption_config
|
670
727
|
__props__.__dict__["full_backup_spec"] = full_backup_spec
|
671
728
|
__props__.__dict__["incremental_backup_spec"] = incremental_backup_spec
|
672
729
|
__props__.__dict__["instance"] = instance
|
@@ -687,6 +744,15 @@ class BackupSchedule(pulumi.CustomResource):
|
|
687
744
|
"""
|
688
745
|
return pulumi.get(self, "database")
|
689
746
|
|
747
|
+
@property
|
748
|
+
@pulumi.getter(name="encryptionConfig")
|
749
|
+
def encryption_config(self) -> pulumi.Output['outputs.BackupScheduleEncryptionConfig']:
|
750
|
+
"""
|
751
|
+
Configuration for the encryption of the backup schedule.
|
752
|
+
Structure is documented below.
|
753
|
+
"""
|
754
|
+
return pulumi.get(self, "encryption_config")
|
755
|
+
|
690
756
|
@property
|
691
757
|
@pulumi.getter(name="fullBackupSpec")
|
692
758
|
def full_backup_spec(self) -> pulumi.Output[Optional['outputs.BackupScheduleFullBackupSpec']]:
|
pulumi_gcp/spanner/outputs.py
CHANGED
@@ -16,6 +16,7 @@ from .. import _utilities
|
|
16
16
|
from . import outputs
|
17
17
|
|
18
18
|
__all__ = [
|
19
|
+
'BackupScheduleEncryptionConfig',
|
19
20
|
'BackupScheduleFullBackupSpec',
|
20
21
|
'BackupScheduleIncrementalBackupSpec',
|
21
22
|
'BackupScheduleSpec',
|
@@ -43,6 +44,65 @@ __all__ = [
|
|
43
44
|
'GetInstanceAutoscalingConfigAutoscalingTargetResult',
|
44
45
|
]
|
45
46
|
|
47
|
+
@pulumi.output_type
|
48
|
+
class BackupScheduleEncryptionConfig(dict):
|
49
|
+
@staticmethod
|
50
|
+
def __key_warning(key: str):
|
51
|
+
suggest = None
|
52
|
+
if key == "encryptionType":
|
53
|
+
suggest = "encryption_type"
|
54
|
+
elif key == "kmsKeyName":
|
55
|
+
suggest = "kms_key_name"
|
56
|
+
|
57
|
+
if suggest:
|
58
|
+
pulumi.log.warn(f"Key '{key}' not found in BackupScheduleEncryptionConfig. Access the value via the '{suggest}' property getter instead.")
|
59
|
+
|
60
|
+
def __getitem__(self, key: str) -> Any:
|
61
|
+
BackupScheduleEncryptionConfig.__key_warning(key)
|
62
|
+
return super().__getitem__(key)
|
63
|
+
|
64
|
+
def get(self, key: str, default = None) -> Any:
|
65
|
+
BackupScheduleEncryptionConfig.__key_warning(key)
|
66
|
+
return super().get(key, default)
|
67
|
+
|
68
|
+
def __init__(__self__, *,
|
69
|
+
encryption_type: str,
|
70
|
+
kms_key_name: Optional[str] = None):
|
71
|
+
"""
|
72
|
+
:param str encryption_type: The encryption type of backups created by the backup schedule.
|
73
|
+
Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
|
74
|
+
If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
|
75
|
+
If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
|
76
|
+
Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
|
77
|
+
:param str kms_key_name: The resource name of the Cloud KMS key to use for encryption.
|
78
|
+
Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
|
79
|
+
"""
|
80
|
+
pulumi.set(__self__, "encryption_type", encryption_type)
|
81
|
+
if kms_key_name is not None:
|
82
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
83
|
+
|
84
|
+
@property
|
85
|
+
@pulumi.getter(name="encryptionType")
|
86
|
+
def encryption_type(self) -> str:
|
87
|
+
"""
|
88
|
+
The encryption type of backups created by the backup schedule.
|
89
|
+
Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
|
90
|
+
If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
|
91
|
+
If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
|
92
|
+
Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
|
93
|
+
"""
|
94
|
+
return pulumi.get(self, "encryption_type")
|
95
|
+
|
96
|
+
@property
|
97
|
+
@pulumi.getter(name="kmsKeyName")
|
98
|
+
def kms_key_name(self) -> Optional[str]:
|
99
|
+
"""
|
100
|
+
The resource name of the Cloud KMS key to use for encryption.
|
101
|
+
Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
|
102
|
+
"""
|
103
|
+
return pulumi.get(self, "kms_key_name")
|
104
|
+
|
105
|
+
|
46
106
|
@pulumi.output_type
|
47
107
|
class BackupScheduleFullBackupSpec(dict):
|
48
108
|
def __init__(__self__):
|