pulumi-gcp 8.9.0a1731221331__py3-none-any.whl → 8.9.0a1731432418__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 +64 -0
- pulumi_gcp/activedirectory/domain.py +24 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/_inputs.py +74 -0
- pulumi_gcp/apigee/api.py +456 -0
- pulumi_gcp/apigee/outputs.py +65 -0
- pulumi_gcp/applicationintegration/auth_config.py +24 -0
- pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
- pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
- pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
- pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
- pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
- pulumi_gcp/bigquery/data_transfer_config.py +24 -0
- pulumi_gcp/cloudrunv2/_inputs.py +46 -0
- pulumi_gcp/cloudrunv2/job.py +0 -2
- pulumi_gcp/cloudrunv2/outputs.py +60 -2
- pulumi_gcp/cloudrunv2/service.py +0 -2
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2163 -256
- pulumi_gcp/compute/disk.py +7 -7
- pulumi_gcp/compute/firewall_policy_rule.py +108 -54
- pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
- pulumi_gcp/compute/health_check.py +42 -42
- pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
- pulumi_gcp/compute/node_template.py +95 -0
- pulumi_gcp/compute/outputs.py +1639 -213
- pulumi_gcp/compute/region_disk.py +7 -7
- pulumi_gcp/compute/region_health_check.py +42 -42
- pulumi_gcp/compute/region_instance_group_manager.py +54 -14
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
- pulumi_gcp/compute/region_resize_request.py +772 -0
- pulumi_gcp/compute/region_security_policy.py +120 -0
- pulumi_gcp/compute/region_security_policy_rule.py +6 -6
- pulumi_gcp/compute/router_peer.py +56 -35
- pulumi_gcp/compute/security_scan_config.py +8 -8
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/container/_inputs.py +345 -10
- pulumi_gcp/container/cluster.py +101 -0
- pulumi_gcp/container/get_cluster.py +23 -1
- pulumi_gcp/container/outputs.py +456 -8
- pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
- pulumi_gcp/dataproc/__init__.py +2 -0
- pulumi_gcp/dataproc/_inputs.py +101 -0
- pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
- pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
- pulumi_gcp/dataproc/outputs.py +94 -0
- pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
- pulumi_gcp/firebase/android_app.py +2 -2
- pulumi_gcp/firebase/apple_app.py +2 -2
- pulumi_gcp/firebase/web_app.py +2 -2
- pulumi_gcp/firestore/index.py +44 -0
- pulumi_gcp/gkeonprem/_inputs.py +15 -15
- pulumi_gcp/gkeonprem/outputs.py +10 -10
- pulumi_gcp/healthcare/dataset.py +7 -7
- pulumi_gcp/healthcare/dicom_store.py +7 -7
- pulumi_gcp/healthcare/fhir_store.py +7 -7
- pulumi_gcp/healthcare/hl7_store.py +14 -14
- pulumi_gcp/iam/__init__.py +1 -0
- pulumi_gcp/iam/_inputs.py +161 -0
- pulumi_gcp/iam/outputs.py +114 -0
- pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
- pulumi_gcp/logging/metric.py +2 -2
- pulumi_gcp/looker/_inputs.py +6 -0
- pulumi_gcp/looker/instance.py +169 -321
- pulumi_gcp/looker/outputs.py +4 -0
- pulumi_gcp/memorystore/instance.py +4 -0
- pulumi_gcp/monitoring/alert_policy.py +24 -0
- pulumi_gcp/monitoring/custom_service.py +24 -0
- pulumi_gcp/monitoring/group.py +24 -0
- pulumi_gcp/monitoring/metric_descriptor.py +24 -0
- pulumi_gcp/monitoring/slo.py +24 -0
- pulumi_gcp/monitoring/uptime_check_config.py +24 -0
- pulumi_gcp/networkmanagement/__init__.py +1 -0
- pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
- pulumi_gcp/osconfig/patch_deployment.py +8 -8
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +3 -3
- pulumi_gcp/redis/outputs.py +2 -2
- pulumi_gcp/securitycenter/notification_config.py +4 -16
- pulumi_gcp/securitycenter/project_notification_config.py +0 -24
- pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +9 -9
- pulumi_gcp/spanner/get_database.py +229 -0
- pulumi_gcp/spanner/get_instance.py +12 -1
- pulumi_gcp/spanner/instance.py +70 -0
- pulumi_gcp/spanner/outputs.py +46 -12
- pulumi_gcp/sql/_inputs.py +26 -0
- pulumi_gcp/sql/database_instance.py +124 -11
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +51 -0
- pulumi_gcp/storage/_inputs.py +3 -3
- pulumi_gcp/storage/outputs.py +2 -2
- pulumi_gcp/tags/tag_binding.py +4 -4
- pulumi_gcp/tags/tag_value.py +2 -2
- pulumi_gcp/transcoder/job.py +24 -0
- pulumi_gcp/vertex/_inputs.py +184 -0
- pulumi_gcp/vertex/ai_endpoint.py +394 -8
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/vertex/outputs.py +166 -0
- pulumi_gcp/workbench/instance.py +21 -7
- pulumi_gcp/workflows/workflow.py +36 -0
- pulumi_gcp/workstations/workstation_config.py +8 -8
- {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/RECORD +114 -103
- {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/top_level.txt +0 -0
pulumi_gcp/sql/_inputs.py
CHANGED
@@ -266,6 +266,12 @@ if not MYPY:
|
|
266
266
|
PEM representation of the trusted CA's x509
|
267
267
|
certificate.
|
268
268
|
"""
|
269
|
+
cascadable_replica: NotRequired[pulumi.Input[bool]]
|
270
|
+
"""
|
271
|
+
Specifies if the replica is a cascadable replica. If true, instance must be in different region from primary.
|
272
|
+
|
273
|
+
> **NOTE:** Only supported for SQL Server database.
|
274
|
+
"""
|
269
275
|
client_certificate: NotRequired[pulumi.Input[str]]
|
270
276
|
"""
|
271
277
|
PEM representation of the replica's x509
|
@@ -324,6 +330,7 @@ elif False:
|
|
324
330
|
class DatabaseInstanceReplicaConfigurationArgs:
|
325
331
|
def __init__(__self__, *,
|
326
332
|
ca_certificate: Optional[pulumi.Input[str]] = None,
|
333
|
+
cascadable_replica: Optional[pulumi.Input[bool]] = None,
|
327
334
|
client_certificate: Optional[pulumi.Input[str]] = None,
|
328
335
|
client_key: Optional[pulumi.Input[str]] = None,
|
329
336
|
connect_retry_interval: Optional[pulumi.Input[int]] = None,
|
@@ -337,6 +344,9 @@ class DatabaseInstanceReplicaConfigurationArgs:
|
|
337
344
|
"""
|
338
345
|
:param pulumi.Input[str] ca_certificate: PEM representation of the trusted CA's x509
|
339
346
|
certificate.
|
347
|
+
:param pulumi.Input[bool] cascadable_replica: Specifies if the replica is a cascadable replica. If true, instance must be in different region from primary.
|
348
|
+
|
349
|
+
> **NOTE:** Only supported for SQL Server database.
|
340
350
|
:param pulumi.Input[str] client_certificate: PEM representation of the replica's x509
|
341
351
|
certificate.
|
342
352
|
:param pulumi.Input[str] client_key: PEM representation of the replica's private key. The
|
@@ -361,6 +371,8 @@ class DatabaseInstanceReplicaConfigurationArgs:
|
|
361
371
|
"""
|
362
372
|
if ca_certificate is not None:
|
363
373
|
pulumi.set(__self__, "ca_certificate", ca_certificate)
|
374
|
+
if cascadable_replica is not None:
|
375
|
+
pulumi.set(__self__, "cascadable_replica", cascadable_replica)
|
364
376
|
if client_certificate is not None:
|
365
377
|
pulumi.set(__self__, "client_certificate", client_certificate)
|
366
378
|
if client_key is not None:
|
@@ -395,6 +407,20 @@ class DatabaseInstanceReplicaConfigurationArgs:
|
|
395
407
|
def ca_certificate(self, value: Optional[pulumi.Input[str]]):
|
396
408
|
pulumi.set(self, "ca_certificate", value)
|
397
409
|
|
410
|
+
@property
|
411
|
+
@pulumi.getter(name="cascadableReplica")
|
412
|
+
def cascadable_replica(self) -> Optional[pulumi.Input[bool]]:
|
413
|
+
"""
|
414
|
+
Specifies if the replica is a cascadable replica. If true, instance must be in different region from primary.
|
415
|
+
|
416
|
+
> **NOTE:** Only supported for SQL Server database.
|
417
|
+
"""
|
418
|
+
return pulumi.get(self, "cascadable_replica")
|
419
|
+
|
420
|
+
@cascadable_replica.setter
|
421
|
+
def cascadable_replica(self, value: Optional[pulumi.Input[bool]]):
|
422
|
+
pulumi.set(self, "cascadable_replica", value)
|
423
|
+
|
398
424
|
@property
|
399
425
|
@pulumi.getter(name="clientCertificate")
|
400
426
|
def client_certificate(self) -> Optional[pulumi.Input[str]]:
|
@@ -32,6 +32,7 @@ class DatabaseInstanceArgs:
|
|
32
32
|
project: Optional[pulumi.Input[str]] = None,
|
33
33
|
region: Optional[pulumi.Input[str]] = None,
|
34
34
|
replica_configuration: Optional[pulumi.Input['DatabaseInstanceReplicaConfigurationArgs']] = None,
|
35
|
+
replica_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
35
36
|
restore_backup_context: Optional[pulumi.Input['DatabaseInstanceRestoreBackupContextArgs']] = None,
|
36
37
|
root_password: Optional[pulumi.Input[str]] = None,
|
37
38
|
settings: Optional[pulumi.Input['DatabaseInstanceSettingsArgs']] = None):
|
@@ -75,7 +76,8 @@ class DatabaseInstanceArgs:
|
|
75
76
|
|
76
77
|
- - -
|
77
78
|
:param pulumi.Input['DatabaseInstanceReplicaConfigurationArgs'] replica_configuration: The configuration for replication. The
|
78
|
-
configuration is detailed below.
|
79
|
+
configuration is detailed below.
|
80
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] replica_names: List of replica names. Can be updated.
|
79
81
|
:param pulumi.Input['DatabaseInstanceRestoreBackupContextArgs'] restore_backup_context: The context needed to restore the database to a backup run. This field will
|
80
82
|
cause the provider to trigger the database to restore from the backup run indicated. The configuration is detailed below.
|
81
83
|
**NOTE:** Restoring from a backup is an imperative action and not recommended via this provider. Adding or modifying this
|
@@ -105,6 +107,8 @@ class DatabaseInstanceArgs:
|
|
105
107
|
pulumi.set(__self__, "region", region)
|
106
108
|
if replica_configuration is not None:
|
107
109
|
pulumi.set(__self__, "replica_configuration", replica_configuration)
|
110
|
+
if replica_names is not None:
|
111
|
+
pulumi.set(__self__, "replica_names", replica_names)
|
108
112
|
if restore_backup_context is not None:
|
109
113
|
pulumi.set(__self__, "restore_backup_context", restore_backup_context)
|
110
114
|
if root_password is not None:
|
@@ -264,7 +268,7 @@ class DatabaseInstanceArgs:
|
|
264
268
|
def replica_configuration(self) -> Optional[pulumi.Input['DatabaseInstanceReplicaConfigurationArgs']]:
|
265
269
|
"""
|
266
270
|
The configuration for replication. The
|
267
|
-
configuration is detailed below.
|
271
|
+
configuration is detailed below.
|
268
272
|
"""
|
269
273
|
return pulumi.get(self, "replica_configuration")
|
270
274
|
|
@@ -272,6 +276,18 @@ class DatabaseInstanceArgs:
|
|
272
276
|
def replica_configuration(self, value: Optional[pulumi.Input['DatabaseInstanceReplicaConfigurationArgs']]):
|
273
277
|
pulumi.set(self, "replica_configuration", value)
|
274
278
|
|
279
|
+
@property
|
280
|
+
@pulumi.getter(name="replicaNames")
|
281
|
+
def replica_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
282
|
+
"""
|
283
|
+
List of replica names. Can be updated.
|
284
|
+
"""
|
285
|
+
return pulumi.get(self, "replica_names")
|
286
|
+
|
287
|
+
@replica_names.setter
|
288
|
+
def replica_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
289
|
+
pulumi.set(self, "replica_names", value)
|
290
|
+
|
275
291
|
@property
|
276
292
|
@pulumi.getter(name="restoreBackupContext")
|
277
293
|
def restore_backup_context(self) -> Optional[pulumi.Input['DatabaseInstanceRestoreBackupContextArgs']]:
|
@@ -335,6 +351,7 @@ class _DatabaseInstanceState:
|
|
335
351
|
public_ip_address: Optional[pulumi.Input[str]] = None,
|
336
352
|
region: Optional[pulumi.Input[str]] = None,
|
337
353
|
replica_configuration: Optional[pulumi.Input['DatabaseInstanceReplicaConfigurationArgs']] = None,
|
354
|
+
replica_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
338
355
|
restore_backup_context: Optional[pulumi.Input['DatabaseInstanceRestoreBackupContextArgs']] = None,
|
339
356
|
root_password: Optional[pulumi.Input[str]] = None,
|
340
357
|
self_link: Optional[pulumi.Input[str]] = None,
|
@@ -360,7 +377,7 @@ class _DatabaseInstanceState:
|
|
360
377
|
includes an up-to-date reference of supported versions.
|
361
378
|
:param pulumi.Input[bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
|
362
379
|
in state, a `destroy` or `update` command that deletes the instance will fail. Defaults to `true`.
|
363
|
-
:param pulumi.Input[str] dns_name: The
|
380
|
+
:param pulumi.Input[str] dns_name: The DNS name of the instance. See [Connect to an instance using Private Service Connect](https://cloud.google.com/sql/docs/mysql/configure-private-service-connect#view-summary-information-cloud-sql-instances-psc-enabled) for more details.
|
364
381
|
:param pulumi.Input[str] encryption_key_name: The full path to the encryption key used for the CMEK disk encryption. Setting
|
365
382
|
up disk encryption currently requires manual steps outside of this provider.
|
366
383
|
The provided key must be in the same region as the SQL instance. In order
|
@@ -389,7 +406,8 @@ class _DatabaseInstanceState:
|
|
389
406
|
|
390
407
|
- - -
|
391
408
|
:param pulumi.Input['DatabaseInstanceReplicaConfigurationArgs'] replica_configuration: The configuration for replication. The
|
392
|
-
configuration is detailed below.
|
409
|
+
configuration is detailed below.
|
410
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] replica_names: List of replica names. Can be updated.
|
393
411
|
:param pulumi.Input['DatabaseInstanceRestoreBackupContextArgs'] restore_backup_context: The context needed to restore the database to a backup run. This field will
|
394
412
|
cause the provider to trigger the database to restore from the backup run indicated. The configuration is detailed below.
|
395
413
|
**NOTE:** Restoring from a backup is an imperative action and not recommended via this provider. Adding or modifying this
|
@@ -439,6 +457,8 @@ class _DatabaseInstanceState:
|
|
439
457
|
pulumi.set(__self__, "region", region)
|
440
458
|
if replica_configuration is not None:
|
441
459
|
pulumi.set(__self__, "replica_configuration", replica_configuration)
|
460
|
+
if replica_names is not None:
|
461
|
+
pulumi.set(__self__, "replica_names", replica_names)
|
442
462
|
if restore_backup_context is not None:
|
443
463
|
pulumi.set(__self__, "restore_backup_context", restore_backup_context)
|
444
464
|
if root_password is not None:
|
@@ -528,7 +548,7 @@ class _DatabaseInstanceState:
|
|
528
548
|
@pulumi.getter(name="dnsName")
|
529
549
|
def dns_name(self) -> Optional[pulumi.Input[str]]:
|
530
550
|
"""
|
531
|
-
The
|
551
|
+
The DNS name of the instance. See [Connect to an instance using Private Service Connect](https://cloud.google.com/sql/docs/mysql/configure-private-service-connect#view-summary-information-cloud-sql-instances-psc-enabled) for more details.
|
532
552
|
"""
|
533
553
|
return pulumi.get(self, "dns_name")
|
534
554
|
|
@@ -698,7 +718,7 @@ class _DatabaseInstanceState:
|
|
698
718
|
def replica_configuration(self) -> Optional[pulumi.Input['DatabaseInstanceReplicaConfigurationArgs']]:
|
699
719
|
"""
|
700
720
|
The configuration for replication. The
|
701
|
-
configuration is detailed below.
|
721
|
+
configuration is detailed below.
|
702
722
|
"""
|
703
723
|
return pulumi.get(self, "replica_configuration")
|
704
724
|
|
@@ -706,6 +726,18 @@ class _DatabaseInstanceState:
|
|
706
726
|
def replica_configuration(self, value: Optional[pulumi.Input['DatabaseInstanceReplicaConfigurationArgs']]):
|
707
727
|
pulumi.set(self, "replica_configuration", value)
|
708
728
|
|
729
|
+
@property
|
730
|
+
@pulumi.getter(name="replicaNames")
|
731
|
+
def replica_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
732
|
+
"""
|
733
|
+
List of replica names. Can be updated.
|
734
|
+
"""
|
735
|
+
return pulumi.get(self, "replica_names")
|
736
|
+
|
737
|
+
@replica_names.setter
|
738
|
+
def replica_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
739
|
+
pulumi.set(self, "replica_names", value)
|
740
|
+
|
709
741
|
@property
|
710
742
|
@pulumi.getter(name="restoreBackupContext")
|
711
743
|
def restore_backup_context(self) -> Optional[pulumi.Input['DatabaseInstanceRestoreBackupContextArgs']]:
|
@@ -797,6 +829,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
797
829
|
project: Optional[pulumi.Input[str]] = None,
|
798
830
|
region: Optional[pulumi.Input[str]] = None,
|
799
831
|
replica_configuration: Optional[pulumi.Input[Union['DatabaseInstanceReplicaConfigurationArgs', 'DatabaseInstanceReplicaConfigurationArgsDict']]] = None,
|
832
|
+
replica_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
800
833
|
restore_backup_context: Optional[pulumi.Input[Union['DatabaseInstanceRestoreBackupContextArgs', 'DatabaseInstanceRestoreBackupContextArgsDict']]] = None,
|
801
834
|
root_password: Optional[pulumi.Input[str]] = None,
|
802
835
|
settings: Optional[pulumi.Input[Union['DatabaseInstanceSettingsArgs', 'DatabaseInstanceSettingsArgsDict']]] = None,
|
@@ -910,6 +943,39 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
910
943
|
})
|
911
944
|
```
|
912
945
|
|
946
|
+
## Switchover (SQL Server Only)
|
947
|
+
|
948
|
+
Users can perform a switchover on any direct `cascadable` replica by following the steps below.
|
949
|
+
|
950
|
+
~>**WARNING:** Failure to follow these steps can lead to data loss (You will be warned during plan stage). To prevent data loss during a switchover, please verify your plan with the checklist below.
|
951
|
+
|
952
|
+
For a more in-depth walkthrough with example code, see the Switchover Guide
|
953
|
+
|
954
|
+
### Steps to Invoke Switchover
|
955
|
+
|
956
|
+
Create a `cascadable` replica in a different region from the primary (`cascadable_replica` is set to true in `replica_configuration`)
|
957
|
+
|
958
|
+
#### Invoking switchover in the replica resource:
|
959
|
+
1. Change instance_type from `READ_REPLICA_INSTANCE` to `CLOUD_SQL_INSTANCE`
|
960
|
+
2. Remove `master_instance_name`
|
961
|
+
3. Remove `replica_configuration`
|
962
|
+
4. Add current primary's name to the replica's `replica_names` list
|
963
|
+
|
964
|
+
#### Updating the primary resource:
|
965
|
+
1. Change `instance_type` from `CLOUD_SQL_INSTANCE` to `READ_REPLICA_INSTANCE`
|
966
|
+
2. Set `master_instance_name` to the original replica (which will be primary after switchover)
|
967
|
+
3. Set `replica_configuration` and set `cascadable_replica` to `true`
|
968
|
+
4. Remove original replica from `replica_names`
|
969
|
+
|
970
|
+
> **NOTE**: Do **not** delete the replica_names field, even if it has no replicas remaining. Set replica_names = [ ] to indicate it having no replicas.
|
971
|
+
|
972
|
+
#### Plan and verify that:
|
973
|
+
- `pulumi preview` outputs **"0 to add, 0 to destroy"**
|
974
|
+
- `pulumi preview` does not say **"must be replaced"** for any resource
|
975
|
+
- Every resource **"will be updated in-place"**
|
976
|
+
- Only the 2 instances involved in switchover have planned changes
|
977
|
+
- (Recommended) Use `deletion_protection` on instances as a safety measure
|
978
|
+
|
913
979
|
## Import
|
914
980
|
|
915
981
|
Database instances can be imported using one of any of these accepted formats:
|
@@ -980,7 +1046,8 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
980
1046
|
|
981
1047
|
- - -
|
982
1048
|
:param pulumi.Input[Union['DatabaseInstanceReplicaConfigurationArgs', 'DatabaseInstanceReplicaConfigurationArgsDict']] replica_configuration: The configuration for replication. The
|
983
|
-
configuration is detailed below.
|
1049
|
+
configuration is detailed below.
|
1050
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] replica_names: List of replica names. Can be updated.
|
984
1051
|
:param pulumi.Input[Union['DatabaseInstanceRestoreBackupContextArgs', 'DatabaseInstanceRestoreBackupContextArgsDict']] restore_backup_context: The context needed to restore the database to a backup run. This field will
|
985
1052
|
cause the provider to trigger the database to restore from the backup run indicated. The configuration is detailed below.
|
986
1053
|
**NOTE:** Restoring from a backup is an imperative action and not recommended via this provider. Adding or modifying this
|
@@ -1104,6 +1171,39 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1104
1171
|
})
|
1105
1172
|
```
|
1106
1173
|
|
1174
|
+
## Switchover (SQL Server Only)
|
1175
|
+
|
1176
|
+
Users can perform a switchover on any direct `cascadable` replica by following the steps below.
|
1177
|
+
|
1178
|
+
~>**WARNING:** Failure to follow these steps can lead to data loss (You will be warned during plan stage). To prevent data loss during a switchover, please verify your plan with the checklist below.
|
1179
|
+
|
1180
|
+
For a more in-depth walkthrough with example code, see the Switchover Guide
|
1181
|
+
|
1182
|
+
### Steps to Invoke Switchover
|
1183
|
+
|
1184
|
+
Create a `cascadable` replica in a different region from the primary (`cascadable_replica` is set to true in `replica_configuration`)
|
1185
|
+
|
1186
|
+
#### Invoking switchover in the replica resource:
|
1187
|
+
1. Change instance_type from `READ_REPLICA_INSTANCE` to `CLOUD_SQL_INSTANCE`
|
1188
|
+
2. Remove `master_instance_name`
|
1189
|
+
3. Remove `replica_configuration`
|
1190
|
+
4. Add current primary's name to the replica's `replica_names` list
|
1191
|
+
|
1192
|
+
#### Updating the primary resource:
|
1193
|
+
1. Change `instance_type` from `CLOUD_SQL_INSTANCE` to `READ_REPLICA_INSTANCE`
|
1194
|
+
2. Set `master_instance_name` to the original replica (which will be primary after switchover)
|
1195
|
+
3. Set `replica_configuration` and set `cascadable_replica` to `true`
|
1196
|
+
4. Remove original replica from `replica_names`
|
1197
|
+
|
1198
|
+
> **NOTE**: Do **not** delete the replica_names field, even if it has no replicas remaining. Set replica_names = [ ] to indicate it having no replicas.
|
1199
|
+
|
1200
|
+
#### Plan and verify that:
|
1201
|
+
- `pulumi preview` outputs **"0 to add, 0 to destroy"**
|
1202
|
+
- `pulumi preview` does not say **"must be replaced"** for any resource
|
1203
|
+
- Every resource **"will be updated in-place"**
|
1204
|
+
- Only the 2 instances involved in switchover have planned changes
|
1205
|
+
- (Recommended) Use `deletion_protection` on instances as a safety measure
|
1206
|
+
|
1107
1207
|
## Import
|
1108
1208
|
|
1109
1209
|
Database instances can be imported using one of any of these accepted formats:
|
@@ -1160,6 +1260,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1160
1260
|
project: Optional[pulumi.Input[str]] = None,
|
1161
1261
|
region: Optional[pulumi.Input[str]] = None,
|
1162
1262
|
replica_configuration: Optional[pulumi.Input[Union['DatabaseInstanceReplicaConfigurationArgs', 'DatabaseInstanceReplicaConfigurationArgsDict']]] = None,
|
1263
|
+
replica_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1163
1264
|
restore_backup_context: Optional[pulumi.Input[Union['DatabaseInstanceRestoreBackupContextArgs', 'DatabaseInstanceRestoreBackupContextArgsDict']]] = None,
|
1164
1265
|
root_password: Optional[pulumi.Input[str]] = None,
|
1165
1266
|
settings: Optional[pulumi.Input[Union['DatabaseInstanceSettingsArgs', 'DatabaseInstanceSettingsArgsDict']]] = None,
|
@@ -1185,6 +1286,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1185
1286
|
__props__.__dict__["project"] = project
|
1186
1287
|
__props__.__dict__["region"] = region
|
1187
1288
|
__props__.__dict__["replica_configuration"] = None if replica_configuration is None else pulumi.Output.secret(replica_configuration)
|
1289
|
+
__props__.__dict__["replica_names"] = replica_names
|
1188
1290
|
__props__.__dict__["restore_backup_context"] = restore_backup_context
|
1189
1291
|
__props__.__dict__["root_password"] = None if root_password is None else pulumi.Output.secret(root_password)
|
1190
1292
|
__props__.__dict__["settings"] = settings
|
@@ -1230,6 +1332,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1230
1332
|
public_ip_address: Optional[pulumi.Input[str]] = None,
|
1231
1333
|
region: Optional[pulumi.Input[str]] = None,
|
1232
1334
|
replica_configuration: Optional[pulumi.Input[Union['DatabaseInstanceReplicaConfigurationArgs', 'DatabaseInstanceReplicaConfigurationArgsDict']]] = None,
|
1335
|
+
replica_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1233
1336
|
restore_backup_context: Optional[pulumi.Input[Union['DatabaseInstanceRestoreBackupContextArgs', 'DatabaseInstanceRestoreBackupContextArgsDict']]] = None,
|
1234
1337
|
root_password: Optional[pulumi.Input[str]] = None,
|
1235
1338
|
self_link: Optional[pulumi.Input[str]] = None,
|
@@ -1260,7 +1363,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1260
1363
|
includes an up-to-date reference of supported versions.
|
1261
1364
|
:param pulumi.Input[bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
|
1262
1365
|
in state, a `destroy` or `update` command that deletes the instance will fail. Defaults to `true`.
|
1263
|
-
:param pulumi.Input[str] dns_name: The
|
1366
|
+
:param pulumi.Input[str] dns_name: The DNS name of the instance. See [Connect to an instance using Private Service Connect](https://cloud.google.com/sql/docs/mysql/configure-private-service-connect#view-summary-information-cloud-sql-instances-psc-enabled) for more details.
|
1264
1367
|
:param pulumi.Input[str] encryption_key_name: The full path to the encryption key used for the CMEK disk encryption. Setting
|
1265
1368
|
up disk encryption currently requires manual steps outside of this provider.
|
1266
1369
|
The provided key must be in the same region as the SQL instance. In order
|
@@ -1289,7 +1392,8 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1289
1392
|
|
1290
1393
|
- - -
|
1291
1394
|
:param pulumi.Input[Union['DatabaseInstanceReplicaConfigurationArgs', 'DatabaseInstanceReplicaConfigurationArgsDict']] replica_configuration: The configuration for replication. The
|
1292
|
-
configuration is detailed below.
|
1395
|
+
configuration is detailed below.
|
1396
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] replica_names: List of replica names. Can be updated.
|
1293
1397
|
:param pulumi.Input[Union['DatabaseInstanceRestoreBackupContextArgs', 'DatabaseInstanceRestoreBackupContextArgsDict']] restore_backup_context: The context needed to restore the database to a backup run. This field will
|
1294
1398
|
cause the provider to trigger the database to restore from the backup run indicated. The configuration is detailed below.
|
1295
1399
|
**NOTE:** Restoring from a backup is an imperative action and not recommended via this provider. Adding or modifying this
|
@@ -1324,6 +1428,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1324
1428
|
__props__.__dict__["public_ip_address"] = public_ip_address
|
1325
1429
|
__props__.__dict__["region"] = region
|
1326
1430
|
__props__.__dict__["replica_configuration"] = replica_configuration
|
1431
|
+
__props__.__dict__["replica_names"] = replica_names
|
1327
1432
|
__props__.__dict__["restore_backup_context"] = restore_backup_context
|
1328
1433
|
__props__.__dict__["root_password"] = root_password
|
1329
1434
|
__props__.__dict__["self_link"] = self_link
|
@@ -1388,7 +1493,7 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1388
1493
|
@pulumi.getter(name="dnsName")
|
1389
1494
|
def dns_name(self) -> pulumi.Output[str]:
|
1390
1495
|
"""
|
1391
|
-
The
|
1496
|
+
The DNS name of the instance. See [Connect to an instance using Private Service Connect](https://cloud.google.com/sql/docs/mysql/configure-private-service-connect#view-summary-information-cloud-sql-instances-psc-enabled) for more details.
|
1392
1497
|
"""
|
1393
1498
|
return pulumi.get(self, "dns_name")
|
1394
1499
|
|
@@ -1506,10 +1611,18 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1506
1611
|
def replica_configuration(self) -> pulumi.Output['outputs.DatabaseInstanceReplicaConfiguration']:
|
1507
1612
|
"""
|
1508
1613
|
The configuration for replication. The
|
1509
|
-
configuration is detailed below.
|
1614
|
+
configuration is detailed below.
|
1510
1615
|
"""
|
1511
1616
|
return pulumi.get(self, "replica_configuration")
|
1512
1617
|
|
1618
|
+
@property
|
1619
|
+
@pulumi.getter(name="replicaNames")
|
1620
|
+
def replica_names(self) -> pulumi.Output[Sequence[str]]:
|
1621
|
+
"""
|
1622
|
+
List of replica names. Can be updated.
|
1623
|
+
"""
|
1624
|
+
return pulumi.get(self, "replica_names")
|
1625
|
+
|
1513
1626
|
@property
|
1514
1627
|
@pulumi.getter(name="restoreBackupContext")
|
1515
1628
|
def restore_backup_context(self) -> pulumi.Output[Optional['outputs.DatabaseInstanceRestoreBackupContext']]:
|
@@ -27,7 +27,7 @@ class GetDatabaseInstanceResult:
|
|
27
27
|
"""
|
28
28
|
A collection of values returned by getDatabaseInstance.
|
29
29
|
"""
|
30
|
-
def __init__(__self__, available_maintenance_versions=None, clones=None, connection_name=None, database_version=None, deletion_protection=None, dns_name=None, encryption_key_name=None, first_ip_address=None, id=None, instance_type=None, ip_addresses=None, maintenance_version=None, master_instance_name=None, name=None, private_ip_address=None, project=None, psc_service_attachment_link=None, public_ip_address=None, region=None, replica_configurations=None, restore_backup_contexts=None, root_password=None, self_link=None, server_ca_certs=None, service_account_email_address=None, settings=None):
|
30
|
+
def __init__(__self__, available_maintenance_versions=None, clones=None, connection_name=None, database_version=None, deletion_protection=None, dns_name=None, encryption_key_name=None, first_ip_address=None, id=None, instance_type=None, ip_addresses=None, maintenance_version=None, master_instance_name=None, name=None, private_ip_address=None, project=None, psc_service_attachment_link=None, public_ip_address=None, region=None, replica_configurations=None, replica_names=None, restore_backup_contexts=None, root_password=None, self_link=None, server_ca_certs=None, service_account_email_address=None, settings=None):
|
31
31
|
if available_maintenance_versions and not isinstance(available_maintenance_versions, list):
|
32
32
|
raise TypeError("Expected argument 'available_maintenance_versions' to be a list")
|
33
33
|
pulumi.set(__self__, "available_maintenance_versions", available_maintenance_versions)
|
@@ -88,6 +88,9 @@ class GetDatabaseInstanceResult:
|
|
88
88
|
if replica_configurations and not isinstance(replica_configurations, list):
|
89
89
|
raise TypeError("Expected argument 'replica_configurations' to be a list")
|
90
90
|
pulumi.set(__self__, "replica_configurations", replica_configurations)
|
91
|
+
if replica_names and not isinstance(replica_names, list):
|
92
|
+
raise TypeError("Expected argument 'replica_names' to be a list")
|
93
|
+
pulumi.set(__self__, "replica_names", replica_names)
|
91
94
|
if restore_backup_contexts and not isinstance(restore_backup_contexts, list):
|
92
95
|
raise TypeError("Expected argument 'restore_backup_contexts' to be a list")
|
93
96
|
pulumi.set(__self__, "restore_backup_contexts", restore_backup_contexts)
|
@@ -210,6 +213,11 @@ class GetDatabaseInstanceResult:
|
|
210
213
|
def replica_configurations(self) -> Sequence['outputs.GetDatabaseInstanceReplicaConfigurationResult']:
|
211
214
|
return pulumi.get(self, "replica_configurations")
|
212
215
|
|
216
|
+
@property
|
217
|
+
@pulumi.getter(name="replicaNames")
|
218
|
+
def replica_names(self) -> Sequence[str]:
|
219
|
+
return pulumi.get(self, "replica_names")
|
220
|
+
|
213
221
|
@property
|
214
222
|
@pulumi.getter(name="restoreBackupContexts")
|
215
223
|
def restore_backup_contexts(self) -> Sequence['outputs.GetDatabaseInstanceRestoreBackupContextResult']:
|
@@ -267,6 +275,7 @@ class AwaitableGetDatabaseInstanceResult(GetDatabaseInstanceResult):
|
|
267
275
|
public_ip_address=self.public_ip_address,
|
268
276
|
region=self.region,
|
269
277
|
replica_configurations=self.replica_configurations,
|
278
|
+
replica_names=self.replica_names,
|
270
279
|
restore_backup_contexts=self.restore_backup_contexts,
|
271
280
|
root_password=self.root_password,
|
272
281
|
self_link=self.self_link,
|
@@ -321,6 +330,7 @@ def get_database_instance(name: Optional[str] = None,
|
|
321
330
|
public_ip_address=pulumi.get(__ret__, 'public_ip_address'),
|
322
331
|
region=pulumi.get(__ret__, 'region'),
|
323
332
|
replica_configurations=pulumi.get(__ret__, 'replica_configurations'),
|
333
|
+
replica_names=pulumi.get(__ret__, 'replica_names'),
|
324
334
|
restore_backup_contexts=pulumi.get(__ret__, 'restore_backup_contexts'),
|
325
335
|
root_password=pulumi.get(__ret__, 'root_password'),
|
326
336
|
self_link=pulumi.get(__ret__, 'self_link'),
|
@@ -372,6 +382,7 @@ def get_database_instance_output(name: Optional[pulumi.Input[str]] = None,
|
|
372
382
|
public_ip_address=pulumi.get(__response__, 'public_ip_address'),
|
373
383
|
region=pulumi.get(__response__, 'region'),
|
374
384
|
replica_configurations=pulumi.get(__response__, 'replica_configurations'),
|
385
|
+
replica_names=pulumi.get(__response__, 'replica_names'),
|
375
386
|
restore_backup_contexts=pulumi.get(__response__, 'restore_backup_contexts'),
|
376
387
|
root_password=pulumi.get(__response__, 'root_password'),
|
377
388
|
self_link=pulumi.get(__response__, 'self_link'),
|
pulumi_gcp/sql/outputs.py
CHANGED
@@ -254,6 +254,8 @@ class DatabaseInstanceReplicaConfiguration(dict):
|
|
254
254
|
suggest = None
|
255
255
|
if key == "caCertificate":
|
256
256
|
suggest = "ca_certificate"
|
257
|
+
elif key == "cascadableReplica":
|
258
|
+
suggest = "cascadable_replica"
|
257
259
|
elif key == "clientCertificate":
|
258
260
|
suggest = "client_certificate"
|
259
261
|
elif key == "clientKey":
|
@@ -284,6 +286,7 @@ class DatabaseInstanceReplicaConfiguration(dict):
|
|
284
286
|
|
285
287
|
def __init__(__self__, *,
|
286
288
|
ca_certificate: Optional[str] = None,
|
289
|
+
cascadable_replica: Optional[bool] = None,
|
287
290
|
client_certificate: Optional[str] = None,
|
288
291
|
client_key: Optional[str] = None,
|
289
292
|
connect_retry_interval: Optional[int] = None,
|
@@ -297,6 +300,9 @@ class DatabaseInstanceReplicaConfiguration(dict):
|
|
297
300
|
"""
|
298
301
|
:param str ca_certificate: PEM representation of the trusted CA's x509
|
299
302
|
certificate.
|
303
|
+
:param bool cascadable_replica: Specifies if the replica is a cascadable replica. If true, instance must be in different region from primary.
|
304
|
+
|
305
|
+
> **NOTE:** Only supported for SQL Server database.
|
300
306
|
:param str client_certificate: PEM representation of the replica's x509
|
301
307
|
certificate.
|
302
308
|
:param str client_key: PEM representation of the replica's private key. The
|
@@ -321,6 +327,8 @@ class DatabaseInstanceReplicaConfiguration(dict):
|
|
321
327
|
"""
|
322
328
|
if ca_certificate is not None:
|
323
329
|
pulumi.set(__self__, "ca_certificate", ca_certificate)
|
330
|
+
if cascadable_replica is not None:
|
331
|
+
pulumi.set(__self__, "cascadable_replica", cascadable_replica)
|
324
332
|
if client_certificate is not None:
|
325
333
|
pulumi.set(__self__, "client_certificate", client_certificate)
|
326
334
|
if client_key is not None:
|
@@ -351,6 +359,16 @@ class DatabaseInstanceReplicaConfiguration(dict):
|
|
351
359
|
"""
|
352
360
|
return pulumi.get(self, "ca_certificate")
|
353
361
|
|
362
|
+
@property
|
363
|
+
@pulumi.getter(name="cascadableReplica")
|
364
|
+
def cascadable_replica(self) -> Optional[bool]:
|
365
|
+
"""
|
366
|
+
Specifies if the replica is a cascadable replica. If true, instance must be in different region from primary.
|
367
|
+
|
368
|
+
> **NOTE:** Only supported for SQL Server database.
|
369
|
+
"""
|
370
|
+
return pulumi.get(self, "cascadable_replica")
|
371
|
+
|
354
372
|
@property
|
355
373
|
@pulumi.getter(name="clientCertificate")
|
356
374
|
def client_certificate(self) -> Optional[str]:
|
@@ -2324,6 +2342,7 @@ class GetDatabaseInstanceIpAddressResult(dict):
|
|
2324
2342
|
class GetDatabaseInstanceReplicaConfigurationResult(dict):
|
2325
2343
|
def __init__(__self__, *,
|
2326
2344
|
ca_certificate: str,
|
2345
|
+
cascadable_replica: bool,
|
2327
2346
|
client_certificate: str,
|
2328
2347
|
client_key: str,
|
2329
2348
|
connect_retry_interval: int,
|
@@ -2336,6 +2355,7 @@ class GetDatabaseInstanceReplicaConfigurationResult(dict):
|
|
2336
2355
|
verify_server_certificate: bool):
|
2337
2356
|
"""
|
2338
2357
|
:param str ca_certificate: PEM representation of the trusted CA's x509 certificate.
|
2358
|
+
:param bool cascadable_replica: Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.
|
2339
2359
|
:param str client_certificate: PEM representation of the replica's x509 certificate.
|
2340
2360
|
:param str client_key: PEM representation of the replica's private key. The corresponding public key in encoded in the client_certificate.
|
2341
2361
|
:param int connect_retry_interval: The number of seconds between connect retries. MySQL's default is 60 seconds.
|
@@ -2348,6 +2368,7 @@ class GetDatabaseInstanceReplicaConfigurationResult(dict):
|
|
2348
2368
|
:param bool verify_server_certificate: True if the master's common name value is checked during the SSL handshake.
|
2349
2369
|
"""
|
2350
2370
|
pulumi.set(__self__, "ca_certificate", ca_certificate)
|
2371
|
+
pulumi.set(__self__, "cascadable_replica", cascadable_replica)
|
2351
2372
|
pulumi.set(__self__, "client_certificate", client_certificate)
|
2352
2373
|
pulumi.set(__self__, "client_key", client_key)
|
2353
2374
|
pulumi.set(__self__, "connect_retry_interval", connect_retry_interval)
|
@@ -2367,6 +2388,14 @@ class GetDatabaseInstanceReplicaConfigurationResult(dict):
|
|
2367
2388
|
"""
|
2368
2389
|
return pulumi.get(self, "ca_certificate")
|
2369
2390
|
|
2391
|
+
@property
|
2392
|
+
@pulumi.getter(name="cascadableReplica")
|
2393
|
+
def cascadable_replica(self) -> bool:
|
2394
|
+
"""
|
2395
|
+
Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.
|
2396
|
+
"""
|
2397
|
+
return pulumi.get(self, "cascadable_replica")
|
2398
|
+
|
2370
2399
|
@property
|
2371
2400
|
@pulumi.getter(name="clientCertificate")
|
2372
2401
|
def client_certificate(self) -> str:
|
@@ -3511,6 +3540,7 @@ class GetDatabaseInstancesInstanceResult(dict):
|
|
3511
3540
|
public_ip_address: str,
|
3512
3541
|
region: str,
|
3513
3542
|
replica_configurations: Sequence['outputs.GetDatabaseInstancesInstanceReplicaConfigurationResult'],
|
3543
|
+
replica_names: Sequence[str],
|
3514
3544
|
restore_backup_contexts: Sequence['outputs.GetDatabaseInstancesInstanceRestoreBackupContextResult'],
|
3515
3545
|
root_password: str,
|
3516
3546
|
self_link: str,
|
@@ -3530,6 +3560,7 @@ class GetDatabaseInstancesInstanceResult(dict):
|
|
3530
3560
|
:param str psc_service_attachment_link: The link to service attachment of PSC instance.
|
3531
3561
|
:param str region: To filter out the Cloud SQL instances which are located in the specified region.
|
3532
3562
|
:param Sequence['GetDatabaseInstancesInstanceReplicaConfigurationArgs'] replica_configurations: The configuration for replication.
|
3563
|
+
:param Sequence[str] replica_names: The replicas of the instance.
|
3533
3564
|
:param str root_password: Initial root password. Required for MS SQL Server.
|
3534
3565
|
:param str self_link: The URI of the created resource.
|
3535
3566
|
:param str service_account_email_address: The service account email address assigned to the instance.
|
@@ -3554,6 +3585,7 @@ class GetDatabaseInstancesInstanceResult(dict):
|
|
3554
3585
|
pulumi.set(__self__, "public_ip_address", public_ip_address)
|
3555
3586
|
pulumi.set(__self__, "region", region)
|
3556
3587
|
pulumi.set(__self__, "replica_configurations", replica_configurations)
|
3588
|
+
pulumi.set(__self__, "replica_names", replica_names)
|
3557
3589
|
pulumi.set(__self__, "restore_backup_contexts", restore_backup_contexts)
|
3558
3590
|
pulumi.set(__self__, "root_password", root_password)
|
3559
3591
|
pulumi.set(__self__, "self_link", self_link)
|
@@ -3692,6 +3724,14 @@ class GetDatabaseInstancesInstanceResult(dict):
|
|
3692
3724
|
"""
|
3693
3725
|
return pulumi.get(self, "replica_configurations")
|
3694
3726
|
|
3727
|
+
@property
|
3728
|
+
@pulumi.getter(name="replicaNames")
|
3729
|
+
def replica_names(self) -> Sequence[str]:
|
3730
|
+
"""
|
3731
|
+
The replicas of the instance.
|
3732
|
+
"""
|
3733
|
+
return pulumi.get(self, "replica_names")
|
3734
|
+
|
3695
3735
|
@property
|
3696
3736
|
@pulumi.getter(name="restoreBackupContexts")
|
3697
3737
|
def restore_backup_contexts(self) -> Sequence['outputs.GetDatabaseInstancesInstanceRestoreBackupContextResult']:
|
@@ -3827,6 +3867,7 @@ class GetDatabaseInstancesInstanceIpAddressResult(dict):
|
|
3827
3867
|
class GetDatabaseInstancesInstanceReplicaConfigurationResult(dict):
|
3828
3868
|
def __init__(__self__, *,
|
3829
3869
|
ca_certificate: str,
|
3870
|
+
cascadable_replica: bool,
|
3830
3871
|
client_certificate: str,
|
3831
3872
|
client_key: str,
|
3832
3873
|
connect_retry_interval: int,
|
@@ -3839,6 +3880,7 @@ class GetDatabaseInstancesInstanceReplicaConfigurationResult(dict):
|
|
3839
3880
|
verify_server_certificate: bool):
|
3840
3881
|
"""
|
3841
3882
|
:param str ca_certificate: PEM representation of the trusted CA's x509 certificate.
|
3883
|
+
:param bool cascadable_replica: Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.
|
3842
3884
|
:param str client_certificate: PEM representation of the replica's x509 certificate.
|
3843
3885
|
:param str client_key: PEM representation of the replica's private key. The corresponding public key in encoded in the client_certificate.
|
3844
3886
|
:param int connect_retry_interval: The number of seconds between connect retries. MySQL's default is 60 seconds.
|
@@ -3851,6 +3893,7 @@ class GetDatabaseInstancesInstanceReplicaConfigurationResult(dict):
|
|
3851
3893
|
:param bool verify_server_certificate: True if the master's common name value is checked during the SSL handshake.
|
3852
3894
|
"""
|
3853
3895
|
pulumi.set(__self__, "ca_certificate", ca_certificate)
|
3896
|
+
pulumi.set(__self__, "cascadable_replica", cascadable_replica)
|
3854
3897
|
pulumi.set(__self__, "client_certificate", client_certificate)
|
3855
3898
|
pulumi.set(__self__, "client_key", client_key)
|
3856
3899
|
pulumi.set(__self__, "connect_retry_interval", connect_retry_interval)
|
@@ -3870,6 +3913,14 @@ class GetDatabaseInstancesInstanceReplicaConfigurationResult(dict):
|
|
3870
3913
|
"""
|
3871
3914
|
return pulumi.get(self, "ca_certificate")
|
3872
3915
|
|
3916
|
+
@property
|
3917
|
+
@pulumi.getter(name="cascadableReplica")
|
3918
|
+
def cascadable_replica(self) -> bool:
|
3919
|
+
"""
|
3920
|
+
Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.
|
3921
|
+
"""
|
3922
|
+
return pulumi.get(self, "cascadable_replica")
|
3923
|
+
|
3873
3924
|
@property
|
3874
3925
|
@pulumi.getter(name="clientCertificate")
|
3875
3926
|
def client_certificate(self) -> str:
|
pulumi_gcp/storage/_inputs.py
CHANGED
@@ -1683,7 +1683,7 @@ if not MYPY:
|
|
1683
1683
|
"""
|
1684
1684
|
storage_filters: NotRequired[pulumi.Input['InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgsDict']]
|
1685
1685
|
"""
|
1686
|
-
A nested object resource
|
1686
|
+
A nested object resource.
|
1687
1687
|
Structure is documented below.
|
1688
1688
|
"""
|
1689
1689
|
elif False:
|
@@ -1699,7 +1699,7 @@ class InsightsReportConfigObjectMetadataReportOptionsArgs:
|
|
1699
1699
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] metadata_fields: The metadata fields included in an inventory report.
|
1700
1700
|
:param pulumi.Input['InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs'] storage_destination_options: Options for where the inventory reports are stored.
|
1701
1701
|
Structure is documented below.
|
1702
|
-
:param pulumi.Input['InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs'] storage_filters: A nested object resource
|
1702
|
+
:param pulumi.Input['InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs'] storage_filters: A nested object resource.
|
1703
1703
|
Structure is documented below.
|
1704
1704
|
"""
|
1705
1705
|
pulumi.set(__self__, "metadata_fields", metadata_fields)
|
@@ -1736,7 +1736,7 @@ class InsightsReportConfigObjectMetadataReportOptionsArgs:
|
|
1736
1736
|
@pulumi.getter(name="storageFilters")
|
1737
1737
|
def storage_filters(self) -> Optional[pulumi.Input['InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs']]:
|
1738
1738
|
"""
|
1739
|
-
A nested object resource
|
1739
|
+
A nested object resource.
|
1740
1740
|
Structure is documented below.
|
1741
1741
|
"""
|
1742
1742
|
return pulumi.get(self, "storage_filters")
|
pulumi_gcp/storage/outputs.py
CHANGED
@@ -1338,7 +1338,7 @@ class InsightsReportConfigObjectMetadataReportOptions(dict):
|
|
1338
1338
|
:param Sequence[str] metadata_fields: The metadata fields included in an inventory report.
|
1339
1339
|
:param 'InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs' storage_destination_options: Options for where the inventory reports are stored.
|
1340
1340
|
Structure is documented below.
|
1341
|
-
:param 'InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs' storage_filters: A nested object resource
|
1341
|
+
:param 'InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs' storage_filters: A nested object resource.
|
1342
1342
|
Structure is documented below.
|
1343
1343
|
"""
|
1344
1344
|
pulumi.set(__self__, "metadata_fields", metadata_fields)
|
@@ -1367,7 +1367,7 @@ class InsightsReportConfigObjectMetadataReportOptions(dict):
|
|
1367
1367
|
@pulumi.getter(name="storageFilters")
|
1368
1368
|
def storage_filters(self) -> Optional['outputs.InsightsReportConfigObjectMetadataReportOptionsStorageFilters']:
|
1369
1369
|
"""
|
1370
|
-
A nested object resource
|
1370
|
+
A nested object resource.
|
1371
1371
|
Structure is documented below.
|
1372
1372
|
"""
|
1373
1373
|
return pulumi.get(self, "storage_filters")
|