pulumi-gcp 8.9.0a1731366299__py3-none-any.whl → 8.9.0a1731480835__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/activedirectory/domain.py +24 -0
  3. pulumi_gcp/apigee/__init__.py +1 -0
  4. pulumi_gcp/apigee/_inputs.py +74 -0
  5. pulumi_gcp/apigee/api.py +456 -0
  6. pulumi_gcp/apigee/outputs.py +65 -0
  7. pulumi_gcp/applicationintegration/auth_config.py +24 -0
  8. pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
  9. pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
  11. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
  12. pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
  13. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
  15. pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
  16. pulumi_gcp/bigquery/data_transfer_config.py +24 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +46 -0
  18. pulumi_gcp/cloudrunv2/job.py +0 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +60 -2
  20. pulumi_gcp/cloudrunv2/service.py +0 -2
  21. pulumi_gcp/compute/__init__.py +1 -0
  22. pulumi_gcp/compute/_inputs.py +2163 -256
  23. pulumi_gcp/compute/disk.py +7 -7
  24. pulumi_gcp/compute/firewall_policy_rule.py +108 -54
  25. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  26. pulumi_gcp/compute/health_check.py +42 -42
  27. pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
  28. pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
  29. pulumi_gcp/compute/node_template.py +95 -0
  30. pulumi_gcp/compute/outputs.py +1639 -213
  31. pulumi_gcp/compute/region_disk.py +7 -7
  32. pulumi_gcp/compute/region_health_check.py +42 -42
  33. pulumi_gcp/compute/region_instance_group_manager.py +54 -14
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
  36. pulumi_gcp/compute/region_resize_request.py +772 -0
  37. pulumi_gcp/compute/region_security_policy.py +120 -0
  38. pulumi_gcp/compute/region_security_policy_rule.py +6 -6
  39. pulumi_gcp/compute/router_peer.py +56 -35
  40. pulumi_gcp/compute/security_scan_config.py +8 -8
  41. pulumi_gcp/config/__init__.pyi +4 -0
  42. pulumi_gcp/config/vars.py +8 -0
  43. pulumi_gcp/container/_inputs.py +345 -10
  44. pulumi_gcp/container/cluster.py +101 -0
  45. pulumi_gcp/container/get_cluster.py +23 -1
  46. pulumi_gcp/container/outputs.py +456 -8
  47. pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
  48. pulumi_gcp/dataproc/__init__.py +2 -0
  49. pulumi_gcp/dataproc/_inputs.py +101 -0
  50. pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
  51. pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
  52. pulumi_gcp/dataproc/outputs.py +94 -0
  53. pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
  54. pulumi_gcp/firebase/android_app.py +2 -2
  55. pulumi_gcp/firebase/apple_app.py +2 -2
  56. pulumi_gcp/firebase/web_app.py +2 -2
  57. pulumi_gcp/firestore/index.py +44 -0
  58. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  59. pulumi_gcp/gkeonprem/outputs.py +10 -10
  60. pulumi_gcp/healthcare/dataset.py +7 -7
  61. pulumi_gcp/healthcare/dicom_store.py +7 -7
  62. pulumi_gcp/healthcare/fhir_store.py +7 -7
  63. pulumi_gcp/healthcare/hl7_store.py +14 -14
  64. pulumi_gcp/iam/__init__.py +1 -0
  65. pulumi_gcp/iam/_inputs.py +161 -0
  66. pulumi_gcp/iam/outputs.py +114 -0
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
  68. pulumi_gcp/logging/metric.py +2 -2
  69. pulumi_gcp/looker/_inputs.py +6 -0
  70. pulumi_gcp/looker/instance.py +169 -321
  71. pulumi_gcp/looker/outputs.py +4 -0
  72. pulumi_gcp/memorystore/instance.py +4 -0
  73. pulumi_gcp/monitoring/alert_policy.py +24 -0
  74. pulumi_gcp/monitoring/custom_service.py +24 -0
  75. pulumi_gcp/monitoring/group.py +24 -0
  76. pulumi_gcp/monitoring/metric_descriptor.py +24 -0
  77. pulumi_gcp/monitoring/slo.py +24 -0
  78. pulumi_gcp/monitoring/uptime_check_config.py +24 -0
  79. pulumi_gcp/networkmanagement/__init__.py +1 -0
  80. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
  81. pulumi_gcp/osconfig/patch_deployment.py +8 -8
  82. pulumi_gcp/provider.py +40 -0
  83. pulumi_gcp/pulumi-plugin.json +1 -1
  84. pulumi_gcp/redis/_inputs.py +3 -3
  85. pulumi_gcp/redis/outputs.py +2 -2
  86. pulumi_gcp/securitycenter/notification_config.py +4 -16
  87. pulumi_gcp/securitycenter/project_notification_config.py +0 -24
  88. pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
  89. pulumi_gcp/spanner/__init__.py +1 -0
  90. pulumi_gcp/spanner/_inputs.py +9 -9
  91. pulumi_gcp/spanner/get_database.py +229 -0
  92. pulumi_gcp/spanner/get_instance.py +12 -1
  93. pulumi_gcp/spanner/instance.py +70 -0
  94. pulumi_gcp/spanner/outputs.py +46 -12
  95. pulumi_gcp/sql/_inputs.py +26 -0
  96. pulumi_gcp/sql/database_instance.py +124 -11
  97. pulumi_gcp/sql/get_database_instance.py +12 -1
  98. pulumi_gcp/sql/outputs.py +51 -0
  99. pulumi_gcp/storage/_inputs.py +3 -3
  100. pulumi_gcp/storage/outputs.py +2 -2
  101. pulumi_gcp/tags/tag_binding.py +4 -4
  102. pulumi_gcp/tags/tag_value.py +2 -2
  103. pulumi_gcp/transcoder/job.py +24 -0
  104. pulumi_gcp/vertex/_inputs.py +184 -0
  105. pulumi_gcp/vertex/ai_endpoint.py +394 -8
  106. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  107. pulumi_gcp/vertex/outputs.py +166 -0
  108. pulumi_gcp/workbench/instance.py +21 -7
  109. pulumi_gcp/workflows/workflow.py +36 -0
  110. pulumi_gcp/workstations/workstation_config.py +8 -8
  111. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/METADATA +1 -1
  112. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/RECORD +114 -103
  113. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/WHEEL +0 -0
  114. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,229 @@
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
+
18
+ __all__ = [
19
+ 'GetDatabaseResult',
20
+ 'AwaitableGetDatabaseResult',
21
+ 'get_database',
22
+ 'get_database_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetDatabaseResult:
27
+ """
28
+ A collection of values returned by getDatabase.
29
+ """
30
+ def __init__(__self__, database_dialect=None, ddls=None, deletion_protection=None, enable_drop_protection=None, encryption_configs=None, id=None, instance=None, name=None, project=None, state=None, version_retention_period=None):
31
+ if database_dialect and not isinstance(database_dialect, str):
32
+ raise TypeError("Expected argument 'database_dialect' to be a str")
33
+ pulumi.set(__self__, "database_dialect", database_dialect)
34
+ if ddls and not isinstance(ddls, list):
35
+ raise TypeError("Expected argument 'ddls' to be a list")
36
+ pulumi.set(__self__, "ddls", ddls)
37
+ if deletion_protection and not isinstance(deletion_protection, bool):
38
+ raise TypeError("Expected argument 'deletion_protection' to be a bool")
39
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
40
+ if enable_drop_protection and not isinstance(enable_drop_protection, bool):
41
+ raise TypeError("Expected argument 'enable_drop_protection' to be a bool")
42
+ pulumi.set(__self__, "enable_drop_protection", enable_drop_protection)
43
+ if encryption_configs and not isinstance(encryption_configs, list):
44
+ raise TypeError("Expected argument 'encryption_configs' to be a list")
45
+ pulumi.set(__self__, "encryption_configs", encryption_configs)
46
+ if id and not isinstance(id, str):
47
+ raise TypeError("Expected argument 'id' to be a str")
48
+ pulumi.set(__self__, "id", id)
49
+ if instance and not isinstance(instance, str):
50
+ raise TypeError("Expected argument 'instance' to be a str")
51
+ pulumi.set(__self__, "instance", instance)
52
+ if name and not isinstance(name, str):
53
+ raise TypeError("Expected argument 'name' to be a str")
54
+ pulumi.set(__self__, "name", name)
55
+ if project and not isinstance(project, str):
56
+ raise TypeError("Expected argument 'project' to be a str")
57
+ pulumi.set(__self__, "project", project)
58
+ if state and not isinstance(state, str):
59
+ raise TypeError("Expected argument 'state' to be a str")
60
+ pulumi.set(__self__, "state", state)
61
+ if version_retention_period and not isinstance(version_retention_period, str):
62
+ raise TypeError("Expected argument 'version_retention_period' to be a str")
63
+ pulumi.set(__self__, "version_retention_period", version_retention_period)
64
+
65
+ @property
66
+ @pulumi.getter(name="databaseDialect")
67
+ def database_dialect(self) -> str:
68
+ return pulumi.get(self, "database_dialect")
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def ddls(self) -> Sequence[str]:
73
+ return pulumi.get(self, "ddls")
74
+
75
+ @property
76
+ @pulumi.getter(name="deletionProtection")
77
+ def deletion_protection(self) -> bool:
78
+ return pulumi.get(self, "deletion_protection")
79
+
80
+ @property
81
+ @pulumi.getter(name="enableDropProtection")
82
+ def enable_drop_protection(self) -> bool:
83
+ return pulumi.get(self, "enable_drop_protection")
84
+
85
+ @property
86
+ @pulumi.getter(name="encryptionConfigs")
87
+ def encryption_configs(self) -> Sequence['outputs.GetDatabaseEncryptionConfigResult']:
88
+ return pulumi.get(self, "encryption_configs")
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def id(self) -> str:
93
+ """
94
+ The provider-assigned unique ID for this managed resource.
95
+ """
96
+ return pulumi.get(self, "id")
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def instance(self) -> str:
101
+ return pulumi.get(self, "instance")
102
+
103
+ @property
104
+ @pulumi.getter
105
+ def name(self) -> str:
106
+ return pulumi.get(self, "name")
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def project(self) -> Optional[str]:
111
+ return pulumi.get(self, "project")
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def state(self) -> str:
116
+ return pulumi.get(self, "state")
117
+
118
+ @property
119
+ @pulumi.getter(name="versionRetentionPeriod")
120
+ def version_retention_period(self) -> str:
121
+ return pulumi.get(self, "version_retention_period")
122
+
123
+
124
+ class AwaitableGetDatabaseResult(GetDatabaseResult):
125
+ # pylint: disable=using-constant-test
126
+ def __await__(self):
127
+ if False:
128
+ yield self
129
+ return GetDatabaseResult(
130
+ database_dialect=self.database_dialect,
131
+ ddls=self.ddls,
132
+ deletion_protection=self.deletion_protection,
133
+ enable_drop_protection=self.enable_drop_protection,
134
+ encryption_configs=self.encryption_configs,
135
+ id=self.id,
136
+ instance=self.instance,
137
+ name=self.name,
138
+ project=self.project,
139
+ state=self.state,
140
+ version_retention_period=self.version_retention_period)
141
+
142
+
143
+ def get_database(instance: Optional[str] = None,
144
+ name: Optional[str] = None,
145
+ project: Optional[str] = None,
146
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabaseResult:
147
+ """
148
+ Get a spanner database from Google Cloud by its name and instance name.
149
+
150
+ ## Example Usage
151
+
152
+ ```python
153
+ import pulumi
154
+ import pulumi_gcp as gcp
155
+
156
+ foo = gcp.spanner.get_database(name="foo",
157
+ instance=instance["name"])
158
+ ```
159
+
160
+
161
+ :param str instance: The name of the database's spanner instance.
162
+
163
+ - - -
164
+ :param str name: The name of the spanner database.
165
+ :param str project: The project in which the resource belongs. If it
166
+ is not provided, the provider project is used.
167
+ """
168
+ __args__ = dict()
169
+ __args__['instance'] = instance
170
+ __args__['name'] = name
171
+ __args__['project'] = project
172
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
173
+ __ret__ = pulumi.runtime.invoke('gcp:spanner/getDatabase:getDatabase', __args__, opts=opts, typ=GetDatabaseResult).value
174
+
175
+ return AwaitableGetDatabaseResult(
176
+ database_dialect=pulumi.get(__ret__, 'database_dialect'),
177
+ ddls=pulumi.get(__ret__, 'ddls'),
178
+ deletion_protection=pulumi.get(__ret__, 'deletion_protection'),
179
+ enable_drop_protection=pulumi.get(__ret__, 'enable_drop_protection'),
180
+ encryption_configs=pulumi.get(__ret__, 'encryption_configs'),
181
+ id=pulumi.get(__ret__, 'id'),
182
+ instance=pulumi.get(__ret__, 'instance'),
183
+ name=pulumi.get(__ret__, 'name'),
184
+ project=pulumi.get(__ret__, 'project'),
185
+ state=pulumi.get(__ret__, 'state'),
186
+ version_retention_period=pulumi.get(__ret__, 'version_retention_period'))
187
+ def get_database_output(instance: Optional[pulumi.Input[str]] = None,
188
+ name: Optional[pulumi.Input[str]] = None,
189
+ project: Optional[pulumi.Input[Optional[str]]] = None,
190
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseResult]:
191
+ """
192
+ Get a spanner database from Google Cloud by its name and instance name.
193
+
194
+ ## Example Usage
195
+
196
+ ```python
197
+ import pulumi
198
+ import pulumi_gcp as gcp
199
+
200
+ foo = gcp.spanner.get_database(name="foo",
201
+ instance=instance["name"])
202
+ ```
203
+
204
+
205
+ :param str instance: The name of the database's spanner instance.
206
+
207
+ - - -
208
+ :param str name: The name of the spanner database.
209
+ :param str project: The project in which the resource belongs. If it
210
+ is not provided, the provider project is used.
211
+ """
212
+ __args__ = dict()
213
+ __args__['instance'] = instance
214
+ __args__['name'] = name
215
+ __args__['project'] = project
216
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
217
+ __ret__ = pulumi.runtime.invoke_output('gcp:spanner/getDatabase:getDatabase', __args__, opts=opts, typ=GetDatabaseResult)
218
+ return __ret__.apply(lambda __response__: GetDatabaseResult(
219
+ database_dialect=pulumi.get(__response__, 'database_dialect'),
220
+ ddls=pulumi.get(__response__, 'ddls'),
221
+ deletion_protection=pulumi.get(__response__, 'deletion_protection'),
222
+ enable_drop_protection=pulumi.get(__response__, 'enable_drop_protection'),
223
+ encryption_configs=pulumi.get(__response__, 'encryption_configs'),
224
+ id=pulumi.get(__response__, 'id'),
225
+ instance=pulumi.get(__response__, 'instance'),
226
+ name=pulumi.get(__response__, 'name'),
227
+ project=pulumi.get(__response__, 'project'),
228
+ state=pulumi.get(__response__, 'state'),
229
+ version_retention_period=pulumi.get(__response__, 'version_retention_period')))
@@ -27,13 +27,16 @@ class GetInstanceResult:
27
27
  """
28
28
  A collection of values returned by getInstance.
29
29
  """
30
- def __init__(__self__, autoscaling_configs=None, config=None, display_name=None, edition=None, effective_labels=None, force_destroy=None, id=None, labels=None, name=None, num_nodes=None, processing_units=None, project=None, pulumi_labels=None, state=None):
30
+ def __init__(__self__, autoscaling_configs=None, config=None, default_backup_schedule_type=None, display_name=None, edition=None, effective_labels=None, force_destroy=None, id=None, labels=None, name=None, num_nodes=None, processing_units=None, project=None, pulumi_labels=None, state=None):
31
31
  if autoscaling_configs and not isinstance(autoscaling_configs, list):
32
32
  raise TypeError("Expected argument 'autoscaling_configs' to be a list")
33
33
  pulumi.set(__self__, "autoscaling_configs", autoscaling_configs)
34
34
  if config and not isinstance(config, str):
35
35
  raise TypeError("Expected argument 'config' to be a str")
36
36
  pulumi.set(__self__, "config", config)
37
+ if default_backup_schedule_type and not isinstance(default_backup_schedule_type, str):
38
+ raise TypeError("Expected argument 'default_backup_schedule_type' to be a str")
39
+ pulumi.set(__self__, "default_backup_schedule_type", default_backup_schedule_type)
37
40
  if display_name and not isinstance(display_name, str):
38
41
  raise TypeError("Expected argument 'display_name' to be a str")
39
42
  pulumi.set(__self__, "display_name", display_name)
@@ -81,6 +84,11 @@ class GetInstanceResult:
81
84
  def config(self) -> Optional[str]:
82
85
  return pulumi.get(self, "config")
83
86
 
87
+ @property
88
+ @pulumi.getter(name="defaultBackupScheduleType")
89
+ def default_backup_schedule_type(self) -> str:
90
+ return pulumi.get(self, "default_backup_schedule_type")
91
+
84
92
  @property
85
93
  @pulumi.getter(name="displayName")
86
94
  def display_name(self) -> Optional[str]:
@@ -153,6 +161,7 @@ class AwaitableGetInstanceResult(GetInstanceResult):
153
161
  return GetInstanceResult(
154
162
  autoscaling_configs=self.autoscaling_configs,
155
163
  config=self.config,
164
+ default_backup_schedule_type=self.default_backup_schedule_type,
156
165
  display_name=self.display_name,
157
166
  edition=self.edition,
158
167
  effective_labels=self.effective_labels,
@@ -202,6 +211,7 @@ def get_instance(config: Optional[str] = None,
202
211
  return AwaitableGetInstanceResult(
203
212
  autoscaling_configs=pulumi.get(__ret__, 'autoscaling_configs'),
204
213
  config=pulumi.get(__ret__, 'config'),
214
+ default_backup_schedule_type=pulumi.get(__ret__, 'default_backup_schedule_type'),
205
215
  display_name=pulumi.get(__ret__, 'display_name'),
206
216
  edition=pulumi.get(__ret__, 'edition'),
207
217
  effective_labels=pulumi.get(__ret__, 'effective_labels'),
@@ -248,6 +258,7 @@ def get_instance_output(config: Optional[pulumi.Input[Optional[str]]] = None,
248
258
  return __ret__.apply(lambda __response__: GetInstanceResult(
249
259
  autoscaling_configs=pulumi.get(__response__, 'autoscaling_configs'),
250
260
  config=pulumi.get(__response__, 'config'),
261
+ default_backup_schedule_type=pulumi.get(__response__, 'default_backup_schedule_type'),
251
262
  display_name=pulumi.get(__response__, 'display_name'),
252
263
  edition=pulumi.get(__response__, 'edition'),
253
264
  effective_labels=pulumi.get(__response__, 'effective_labels'),
@@ -24,6 +24,7 @@ class InstanceArgs:
24
24
  config: pulumi.Input[str],
25
25
  display_name: pulumi.Input[str],
26
26
  autoscaling_config: Optional[pulumi.Input['InstanceAutoscalingConfigArgs']] = None,
27
+ default_backup_schedule_type: Optional[pulumi.Input[str]] = None,
27
28
  edition: Optional[pulumi.Input[str]] = None,
28
29
  force_destroy: Optional[pulumi.Input[bool]] = None,
29
30
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -49,6 +50,10 @@ class InstanceArgs:
49
50
  OUTPUT_ONLY fields and reflect the current compute capacity allocated to
50
51
  the instance.
51
52
  Structure is documented below.
53
+ :param pulumi.Input[str] default_backup_schedule_type: Controls the default backup behavior for new databases within the instance.
54
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
55
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
56
+ Possible values are: `NONE`, `AUTOMATIC`.
52
57
  :param pulumi.Input[str] edition: The edition selected for this instance. Different editions provide different capabilities at different price points.
53
58
  Possible values are: `EDITION_UNSPECIFIED`, `STANDARD`, `ENTERPRISE`, `ENTERPRISE_PLUS`.
54
59
  :param pulumi.Input[bool] force_destroy: When deleting a spanner instance, this boolean option will delete all backups of this instance.
@@ -69,6 +74,8 @@ class InstanceArgs:
69
74
  pulumi.set(__self__, "display_name", display_name)
70
75
  if autoscaling_config is not None:
71
76
  pulumi.set(__self__, "autoscaling_config", autoscaling_config)
77
+ if default_backup_schedule_type is not None:
78
+ pulumi.set(__self__, "default_backup_schedule_type", default_backup_schedule_type)
72
79
  if edition is not None:
73
80
  pulumi.set(__self__, "edition", edition)
74
81
  if force_destroy is not None:
@@ -133,6 +140,21 @@ class InstanceArgs:
133
140
  def autoscaling_config(self, value: Optional[pulumi.Input['InstanceAutoscalingConfigArgs']]):
134
141
  pulumi.set(self, "autoscaling_config", value)
135
142
 
143
+ @property
144
+ @pulumi.getter(name="defaultBackupScheduleType")
145
+ def default_backup_schedule_type(self) -> Optional[pulumi.Input[str]]:
146
+ """
147
+ Controls the default backup behavior for new databases within the instance.
148
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
149
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
150
+ Possible values are: `NONE`, `AUTOMATIC`.
151
+ """
152
+ return pulumi.get(self, "default_backup_schedule_type")
153
+
154
+ @default_backup_schedule_type.setter
155
+ def default_backup_schedule_type(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "default_backup_schedule_type", value)
157
+
136
158
  @property
137
159
  @pulumi.getter
138
160
  def edition(self) -> Optional[pulumi.Input[str]]:
@@ -227,6 +249,7 @@ class _InstanceState:
227
249
  def __init__(__self__, *,
228
250
  autoscaling_config: Optional[pulumi.Input['InstanceAutoscalingConfigArgs']] = None,
229
251
  config: Optional[pulumi.Input[str]] = None,
252
+ default_backup_schedule_type: Optional[pulumi.Input[str]] = None,
230
253
  display_name: Optional[pulumi.Input[str]] = None,
231
254
  edition: Optional[pulumi.Input[str]] = None,
232
255
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -251,6 +274,10 @@ class _InstanceState:
251
274
  is stored. Values are typically of the form `regional-europe-west1` , `us-central` etc.
252
275
  In order to obtain a valid list please consult the
253
276
  [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances).
277
+ :param pulumi.Input[str] default_backup_schedule_type: Controls the default backup behavior for new databases within the instance.
278
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
279
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
280
+ Possible values are: `NONE`, `AUTOMATIC`.
254
281
  :param pulumi.Input[str] display_name: The descriptive name for this instance as it appears in UIs. Must be
255
282
  unique per project and between 4 and 30 characters in length.
256
283
 
@@ -280,6 +307,8 @@ class _InstanceState:
280
307
  pulumi.set(__self__, "autoscaling_config", autoscaling_config)
281
308
  if config is not None:
282
309
  pulumi.set(__self__, "config", config)
310
+ if default_backup_schedule_type is not None:
311
+ pulumi.set(__self__, "default_backup_schedule_type", default_backup_schedule_type)
283
312
  if display_name is not None:
284
313
  pulumi.set(__self__, "display_name", display_name)
285
314
  if edition is not None:
@@ -336,6 +365,21 @@ class _InstanceState:
336
365
  def config(self, value: Optional[pulumi.Input[str]]):
337
366
  pulumi.set(self, "config", value)
338
367
 
368
+ @property
369
+ @pulumi.getter(name="defaultBackupScheduleType")
370
+ def default_backup_schedule_type(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ Controls the default backup behavior for new databases within the instance.
373
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
374
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
375
+ Possible values are: `NONE`, `AUTOMATIC`.
376
+ """
377
+ return pulumi.get(self, "default_backup_schedule_type")
378
+
379
+ @default_backup_schedule_type.setter
380
+ def default_backup_schedule_type(self, value: Optional[pulumi.Input[str]]):
381
+ pulumi.set(self, "default_backup_schedule_type", value)
382
+
339
383
  @property
340
384
  @pulumi.getter(name="displayName")
341
385
  def display_name(self) -> Optional[pulumi.Input[str]]:
@@ -485,6 +529,7 @@ class Instance(pulumi.CustomResource):
485
529
  opts: Optional[pulumi.ResourceOptions] = None,
486
530
  autoscaling_config: Optional[pulumi.Input[Union['InstanceAutoscalingConfigArgs', 'InstanceAutoscalingConfigArgsDict']]] = None,
487
531
  config: Optional[pulumi.Input[str]] = None,
532
+ default_backup_schedule_type: Optional[pulumi.Input[str]] = None,
488
533
  display_name: Optional[pulumi.Input[str]] = None,
489
534
  edition: Optional[pulumi.Input[str]] = None,
490
535
  force_destroy: Optional[pulumi.Input[bool]] = None,
@@ -517,6 +562,7 @@ class Instance(pulumi.CustomResource):
517
562
  display_name="Test Spanner Instance",
518
563
  num_nodes=2,
519
564
  edition="STANDARD",
565
+ default_backup_schedule_type="AUTOMATIC",
520
566
  labels={
521
567
  "foo": "bar",
522
568
  })
@@ -610,6 +656,10 @@ class Instance(pulumi.CustomResource):
610
656
  is stored. Values are typically of the form `regional-europe-west1` , `us-central` etc.
611
657
  In order to obtain a valid list please consult the
612
658
  [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances).
659
+ :param pulumi.Input[str] default_backup_schedule_type: Controls the default backup behavior for new databases within the instance.
660
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
661
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
662
+ Possible values are: `NONE`, `AUTOMATIC`.
613
663
  :param pulumi.Input[str] display_name: The descriptive name for this instance as it appears in UIs. Must be
614
664
  unique per project and between 4 and 30 characters in length.
615
665
 
@@ -660,6 +710,7 @@ class Instance(pulumi.CustomResource):
660
710
  display_name="Test Spanner Instance",
661
711
  num_nodes=2,
662
712
  edition="STANDARD",
713
+ default_backup_schedule_type="AUTOMATIC",
663
714
  labels={
664
715
  "foo": "bar",
665
716
  })
@@ -757,6 +808,7 @@ class Instance(pulumi.CustomResource):
757
808
  opts: Optional[pulumi.ResourceOptions] = None,
758
809
  autoscaling_config: Optional[pulumi.Input[Union['InstanceAutoscalingConfigArgs', 'InstanceAutoscalingConfigArgsDict']]] = None,
759
810
  config: Optional[pulumi.Input[str]] = None,
811
+ default_backup_schedule_type: Optional[pulumi.Input[str]] = None,
760
812
  display_name: Optional[pulumi.Input[str]] = None,
761
813
  edition: Optional[pulumi.Input[str]] = None,
762
814
  force_destroy: Optional[pulumi.Input[bool]] = None,
@@ -778,6 +830,7 @@ class Instance(pulumi.CustomResource):
778
830
  if config is None and not opts.urn:
779
831
  raise TypeError("Missing required property 'config'")
780
832
  __props__.__dict__["config"] = config
833
+ __props__.__dict__["default_backup_schedule_type"] = default_backup_schedule_type
781
834
  if display_name is None and not opts.urn:
782
835
  raise TypeError("Missing required property 'display_name'")
783
836
  __props__.__dict__["display_name"] = display_name
@@ -805,6 +858,7 @@ class Instance(pulumi.CustomResource):
805
858
  opts: Optional[pulumi.ResourceOptions] = None,
806
859
  autoscaling_config: Optional[pulumi.Input[Union['InstanceAutoscalingConfigArgs', 'InstanceAutoscalingConfigArgsDict']]] = None,
807
860
  config: Optional[pulumi.Input[str]] = None,
861
+ default_backup_schedule_type: Optional[pulumi.Input[str]] = None,
808
862
  display_name: Optional[pulumi.Input[str]] = None,
809
863
  edition: Optional[pulumi.Input[str]] = None,
810
864
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -834,6 +888,10 @@ class Instance(pulumi.CustomResource):
834
888
  is stored. Values are typically of the form `regional-europe-west1` , `us-central` etc.
835
889
  In order to obtain a valid list please consult the
836
890
  [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances).
891
+ :param pulumi.Input[str] default_backup_schedule_type: Controls the default backup behavior for new databases within the instance.
892
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
893
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
894
+ Possible values are: `NONE`, `AUTOMATIC`.
837
895
  :param pulumi.Input[str] display_name: The descriptive name for this instance as it appears in UIs. Must be
838
896
  unique per project and between 4 and 30 characters in length.
839
897
 
@@ -865,6 +923,7 @@ class Instance(pulumi.CustomResource):
865
923
 
866
924
  __props__.__dict__["autoscaling_config"] = autoscaling_config
867
925
  __props__.__dict__["config"] = config
926
+ __props__.__dict__["default_backup_schedule_type"] = default_backup_schedule_type
868
927
  __props__.__dict__["display_name"] = display_name
869
928
  __props__.__dict__["edition"] = edition
870
929
  __props__.__dict__["effective_labels"] = effective_labels
@@ -903,6 +962,17 @@ class Instance(pulumi.CustomResource):
903
962
  """
904
963
  return pulumi.get(self, "config")
905
964
 
965
+ @property
966
+ @pulumi.getter(name="defaultBackupScheduleType")
967
+ def default_backup_schedule_type(self) -> pulumi.Output[str]:
968
+ """
969
+ Controls the default backup behavior for new databases within the instance.
970
+ Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances.
971
+ if unset or NONE, no default backup schedule will be created for new databases within the instance.
972
+ Possible values are: `NONE`, `AUTOMATIC`.
973
+ """
974
+ return pulumi.get(self, "default_backup_schedule_type")
975
+
906
976
  @property
907
977
  @pulumi.getter(name="displayName")
908
978
  def display_name(self) -> pulumi.Output[str]:
@@ -33,6 +33,7 @@ __all__ = [
33
33
  'InstanceConfigReplica',
34
34
  'InstanceIAMBindingCondition',
35
35
  'InstanceIAMMemberCondition',
36
+ 'GetDatabaseEncryptionConfigResult',
36
37
  'GetInstanceAutoscalingConfigResult',
37
38
  'GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionResult',
38
39
  'GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideResult',
@@ -364,9 +365,9 @@ class InstanceAutoscalingConfigAsymmetricAutoscalingOption(dict):
364
365
  overrides: 'outputs.InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrides',
365
366
  replica_selection: 'outputs.InstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelection'):
366
367
  """
367
- :param 'InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverridesArgs' overrides: A nested object resource
368
+ :param 'InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverridesArgs' overrides: A nested object resource.
368
369
  Structure is documented below.
369
- :param 'InstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelectionArgs' replica_selection: A nested object resource
370
+ :param 'InstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelectionArgs' replica_selection: A nested object resource.
370
371
  Structure is documented below.
371
372
  """
372
373
  pulumi.set(__self__, "overrides", overrides)
@@ -376,7 +377,7 @@ class InstanceAutoscalingConfigAsymmetricAutoscalingOption(dict):
376
377
  @pulumi.getter
377
378
  def overrides(self) -> 'outputs.InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrides':
378
379
  """
379
- A nested object resource
380
+ A nested object resource.
380
381
  Structure is documented below.
381
382
  """
382
383
  return pulumi.get(self, "overrides")
@@ -385,7 +386,7 @@ class InstanceAutoscalingConfigAsymmetricAutoscalingOption(dict):
385
386
  @pulumi.getter(name="replicaSelection")
386
387
  def replica_selection(self) -> 'outputs.InstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelection':
387
388
  """
388
- A nested object resource
389
+ A nested object resource.
389
390
  Structure is documented below.
390
391
  """
391
392
  return pulumi.get(self, "replica_selection")
@@ -413,7 +414,7 @@ class InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrides(dict):
413
414
  def __init__(__self__, *,
414
415
  autoscaling_limits: 'outputs.InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverridesAutoscalingLimits'):
415
416
  """
416
- :param 'InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverridesAutoscalingLimitsArgs' autoscaling_limits: A nested object resource
417
+ :param 'InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverridesAutoscalingLimitsArgs' autoscaling_limits: A nested object resource.
417
418
  Structure is documented below.
418
419
  """
419
420
  pulumi.set(__self__, "autoscaling_limits", autoscaling_limits)
@@ -422,7 +423,7 @@ class InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrides(dict):
422
423
  @pulumi.getter(name="autoscalingLimits")
423
424
  def autoscaling_limits(self) -> 'outputs.InstanceAutoscalingConfigAsymmetricAutoscalingOptionOverridesAutoscalingLimits':
424
425
  """
425
- A nested object resource
426
+ A nested object resource.
426
427
  Structure is documented below.
427
428
  """
428
429
  return pulumi.get(self, "autoscaling_limits")
@@ -762,6 +763,39 @@ class InstanceIAMMemberCondition(dict):
762
763
  return pulumi.get(self, "description")
763
764
 
764
765
 
766
+ @pulumi.output_type
767
+ class GetDatabaseEncryptionConfigResult(dict):
768
+ def __init__(__self__, *,
769
+ kms_key_name: str,
770
+ kms_key_names: Sequence[str]):
771
+ """
772
+ :param str kms_key_name: Fully qualified name of the KMS key to use to encrypt this database. This key must exist
773
+ in the same location as the Spanner Database.
774
+ :param Sequence[str] kms_key_names: Fully qualified name of the KMS keys to use to encrypt this database. The keys must exist
775
+ in the same locations as the Spanner Database.
776
+ """
777
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
778
+ pulumi.set(__self__, "kms_key_names", kms_key_names)
779
+
780
+ @property
781
+ @pulumi.getter(name="kmsKeyName")
782
+ def kms_key_name(self) -> str:
783
+ """
784
+ Fully qualified name of the KMS key to use to encrypt this database. This key must exist
785
+ in the same location as the Spanner Database.
786
+ """
787
+ return pulumi.get(self, "kms_key_name")
788
+
789
+ @property
790
+ @pulumi.getter(name="kmsKeyNames")
791
+ def kms_key_names(self) -> Sequence[str]:
792
+ """
793
+ Fully qualified name of the KMS keys to use to encrypt this database. The keys must exist
794
+ in the same locations as the Spanner Database.
795
+ """
796
+ return pulumi.get(self, "kms_key_names")
797
+
798
+
765
799
  @pulumi.output_type
766
800
  class GetInstanceAutoscalingConfigResult(dict):
767
801
  def __init__(__self__, *,
@@ -820,8 +854,8 @@ class GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionResult(dict):
820
854
  overrides: Sequence['outputs.GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideResult'],
821
855
  replica_selections: Sequence['outputs.GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelectionResult']):
822
856
  """
823
- :param Sequence['GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideArgs'] overrides: A nested object resource
824
- :param Sequence['GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelectionArgs'] replica_selections: A nested object resource
857
+ :param Sequence['GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideArgs'] overrides: A nested object resource.
858
+ :param Sequence['GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelectionArgs'] replica_selections: A nested object resource.
825
859
  """
826
860
  pulumi.set(__self__, "overrides", overrides)
827
861
  pulumi.set(__self__, "replica_selections", replica_selections)
@@ -830,7 +864,7 @@ class GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionResult(dict):
830
864
  @pulumi.getter
831
865
  def overrides(self) -> Sequence['outputs.GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideResult']:
832
866
  """
833
- A nested object resource
867
+ A nested object resource.
834
868
  """
835
869
  return pulumi.get(self, "overrides")
836
870
 
@@ -838,7 +872,7 @@ class GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionResult(dict):
838
872
  @pulumi.getter(name="replicaSelections")
839
873
  def replica_selections(self) -> Sequence['outputs.GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionReplicaSelectionResult']:
840
874
  """
841
- A nested object resource
875
+ A nested object resource.
842
876
  """
843
877
  return pulumi.get(self, "replica_selections")
844
878
 
@@ -848,7 +882,7 @@ class GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideResult(dict
848
882
  def __init__(__self__, *,
849
883
  autoscaling_limits: Sequence['outputs.GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideAutoscalingLimitResult']):
850
884
  """
851
- :param Sequence['GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideAutoscalingLimitArgs'] autoscaling_limits: A nested object resource
885
+ :param Sequence['GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideAutoscalingLimitArgs'] autoscaling_limits: A nested object resource.
852
886
  """
853
887
  pulumi.set(__self__, "autoscaling_limits", autoscaling_limits)
854
888
 
@@ -856,7 +890,7 @@ class GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideResult(dict
856
890
  @pulumi.getter(name="autoscalingLimits")
857
891
  def autoscaling_limits(self) -> Sequence['outputs.GetInstanceAutoscalingConfigAsymmetricAutoscalingOptionOverrideAutoscalingLimitResult']:
858
892
  """
859
- A nested object resource
893
+ A nested object resource.
860
894
  """
861
895
  return pulumi.get(self, "autoscaling_limits")
862
896