pulumi-gcp 8.19.0a1739290509__py3-none-any.whl → 8.19.1a1739444689__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 (76) hide show
  1. pulumi_gcp/__init__.py +80 -0
  2. pulumi_gcp/_utilities.py +8 -4
  3. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  4. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  5. pulumi_gcp/appengine/_inputs.py +3 -0
  6. pulumi_gcp/appengine/outputs.py +2 -0
  7. pulumi_gcp/beyondcorp/__init__.py +5 -0
  8. pulumi_gcp/beyondcorp/_inputs.py +189 -0
  9. pulumi_gcp/beyondcorp/application.py +604 -0
  10. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  11. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  12. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  13. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  14. pulumi_gcp/beyondcorp/outputs.py +111 -0
  15. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  16. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  17. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  18. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  19. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  20. pulumi_gcp/certificateauthority/authority.py +149 -3
  21. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  22. pulumi_gcp/certificateauthority/outputs.py +81 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  24. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  25. pulumi_gcp/cloudrunv2/service.py +2 -0
  26. pulumi_gcp/colab/__init__.py +2 -0
  27. pulumi_gcp/colab/_inputs.py +655 -0
  28. pulumi_gcp/colab/notebook_execution.py +1259 -0
  29. pulumi_gcp/colab/outputs.py +512 -0
  30. pulumi_gcp/colab/runtime.py +266 -2
  31. pulumi_gcp/colab/runtime_template.py +79 -3
  32. pulumi_gcp/colab/schedule.py +1318 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +204 -0
  35. pulumi_gcp/compute/firewall_policy.py +54 -43
  36. pulumi_gcp/compute/forwarding_rule.py +103 -0
  37. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  38. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  39. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  40. pulumi_gcp/compute/outputs.py +187 -0
  41. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  42. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  43. pulumi_gcp/compute/region_resize_request.py +21 -22
  44. pulumi_gcp/compute/resize_request.py +22 -23
  45. pulumi_gcp/compute/subnetwork.py +14 -7
  46. pulumi_gcp/container/_inputs.py +54 -1
  47. pulumi_gcp/container/outputs.py +79 -1
  48. pulumi_gcp/datastream/connection_profile.py +120 -46
  49. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  50. pulumi_gcp/filestore/_inputs.py +222 -0
  51. pulumi_gcp/filestore/get_instance.py +23 -1
  52. pulumi_gcp/filestore/instance.py +86 -0
  53. pulumi_gcp/filestore/outputs.py +282 -0
  54. pulumi_gcp/gemini/__init__.py +2 -0
  55. pulumi_gcp/gemini/logging_setting.py +671 -0
  56. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  57. pulumi_gcp/memorystore/_inputs.py +296 -0
  58. pulumi_gcp/memorystore/instance.py +32 -28
  59. pulumi_gcp/memorystore/outputs.py +224 -0
  60. pulumi_gcp/monitoring/_inputs.py +12 -9
  61. pulumi_gcp/monitoring/outputs.py +8 -6
  62. pulumi_gcp/networkservices/_inputs.py +89 -0
  63. pulumi_gcp/networkservices/outputs.py +75 -0
  64. pulumi_gcp/parametermanager/__init__.py +2 -0
  65. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  66. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  67. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  68. pulumi_gcp/pulumi-plugin.json +1 -1
  69. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  70. pulumi_gcp/securesourcemanager/repository.py +4 -0
  71. pulumi_gcp/storage/bucket_object.py +8 -0
  72. pulumi_gcp/workbench/instance.py +70 -2
  73. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/RECORD +76 -63
  75. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/top_level.txt +0 -0
@@ -15,10 +15,18 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'InstanceEffectiveReplicationArgs',
19
+ 'InstanceEffectiveReplicationArgsDict',
20
+ 'InstanceEffectiveReplicationReplicaArgs',
21
+ 'InstanceEffectiveReplicationReplicaArgsDict',
18
22
  'InstanceFileSharesArgs',
19
23
  'InstanceFileSharesArgsDict',
20
24
  'InstanceFileSharesNfsExportOptionArgs',
21
25
  'InstanceFileSharesNfsExportOptionArgsDict',
26
+ 'InstanceInitialReplicationArgs',
27
+ 'InstanceInitialReplicationArgsDict',
28
+ 'InstanceInitialReplicationReplicaArgs',
29
+ 'InstanceInitialReplicationReplicaArgsDict',
22
30
  'InstanceNetworkArgs',
23
31
  'InstanceNetworkArgsDict',
24
32
  'InstancePerformanceConfigArgs',
@@ -31,6 +39,128 @@ __all__ = [
31
39
 
32
40
  MYPY = False
33
41
 
42
+ if not MYPY:
43
+ class InstanceEffectiveReplicationArgsDict(TypedDict):
44
+ replicas: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationReplicaArgsDict']]]]
45
+ """
46
+ The replication role.
47
+ Structure is documented below.
48
+ """
49
+ elif False:
50
+ InstanceEffectiveReplicationArgsDict: TypeAlias = Mapping[str, Any]
51
+
52
+ @pulumi.input_type
53
+ class InstanceEffectiveReplicationArgs:
54
+ def __init__(__self__, *,
55
+ replicas: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationReplicaArgs']]]] = None):
56
+ """
57
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationReplicaArgs']]] replicas: The replication role.
58
+ Structure is documented below.
59
+ """
60
+ if replicas is not None:
61
+ pulumi.set(__self__, "replicas", replicas)
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def replicas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationReplicaArgs']]]]:
66
+ """
67
+ The replication role.
68
+ Structure is documented below.
69
+ """
70
+ return pulumi.get(self, "replicas")
71
+
72
+ @replicas.setter
73
+ def replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationReplicaArgs']]]]):
74
+ pulumi.set(self, "replicas", value)
75
+
76
+
77
+ if not MYPY:
78
+ class InstanceEffectiveReplicationReplicaArgsDict(TypedDict):
79
+ last_active_sync_time: NotRequired[pulumi.Input[str]]
80
+ """
81
+ (Output)
82
+ Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
83
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
84
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
85
+ """
86
+ state: NotRequired[pulumi.Input[str]]
87
+ """
88
+ (Output)
89
+ Output only. The replica state
90
+ """
91
+ state_reasons: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
92
+ """
93
+ (Output)
94
+ Output only. Additional information about the replication state, if available.
95
+ """
96
+ elif False:
97
+ InstanceEffectiveReplicationReplicaArgsDict: TypeAlias = Mapping[str, Any]
98
+
99
+ @pulumi.input_type
100
+ class InstanceEffectiveReplicationReplicaArgs:
101
+ def __init__(__self__, *,
102
+ last_active_sync_time: Optional[pulumi.Input[str]] = None,
103
+ state: Optional[pulumi.Input[str]] = None,
104
+ state_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
105
+ """
106
+ :param pulumi.Input[str] last_active_sync_time: (Output)
107
+ Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
108
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
109
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
110
+ :param pulumi.Input[str] state: (Output)
111
+ Output only. The replica state
112
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] state_reasons: (Output)
113
+ Output only. Additional information about the replication state, if available.
114
+ """
115
+ if last_active_sync_time is not None:
116
+ pulumi.set(__self__, "last_active_sync_time", last_active_sync_time)
117
+ if state is not None:
118
+ pulumi.set(__self__, "state", state)
119
+ if state_reasons is not None:
120
+ pulumi.set(__self__, "state_reasons", state_reasons)
121
+
122
+ @property
123
+ @pulumi.getter(name="lastActiveSyncTime")
124
+ def last_active_sync_time(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ (Output)
127
+ Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
128
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
129
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
130
+ """
131
+ return pulumi.get(self, "last_active_sync_time")
132
+
133
+ @last_active_sync_time.setter
134
+ def last_active_sync_time(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "last_active_sync_time", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def state(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ (Output)
142
+ Output only. The replica state
143
+ """
144
+ return pulumi.get(self, "state")
145
+
146
+ @state.setter
147
+ def state(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "state", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="stateReasons")
152
+ def state_reasons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
153
+ """
154
+ (Output)
155
+ Output only. Additional information about the replication state, if available.
156
+ """
157
+ return pulumi.get(self, "state_reasons")
158
+
159
+ @state_reasons.setter
160
+ def state_reasons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
161
+ pulumi.set(self, "state_reasons", value)
162
+
163
+
34
164
  if not MYPY:
35
165
  class InstanceFileSharesArgsDict(TypedDict):
36
166
  capacity_gb: pulumi.Input[int]
@@ -281,6 +411,98 @@ class InstanceFileSharesNfsExportOptionArgs:
281
411
  pulumi.set(self, "squash_mode", value)
282
412
 
283
413
 
414
+ if not MYPY:
415
+ class InstanceInitialReplicationArgsDict(TypedDict):
416
+ replicas: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceInitialReplicationReplicaArgsDict']]]]
417
+ """
418
+ The replication role.
419
+ Structure is documented below.
420
+ """
421
+ role: NotRequired[pulumi.Input[str]]
422
+ """
423
+ The replication role.
424
+ Default value is `STANDBY`.
425
+ Possible values are: `ROLE_UNSPECIFIED`, `ACTIVE`, `STANDBY`.
426
+ """
427
+ elif False:
428
+ InstanceInitialReplicationArgsDict: TypeAlias = Mapping[str, Any]
429
+
430
+ @pulumi.input_type
431
+ class InstanceInitialReplicationArgs:
432
+ def __init__(__self__, *,
433
+ replicas: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceInitialReplicationReplicaArgs']]]] = None,
434
+ role: Optional[pulumi.Input[str]] = None):
435
+ """
436
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceInitialReplicationReplicaArgs']]] replicas: The replication role.
437
+ Structure is documented below.
438
+ :param pulumi.Input[str] role: The replication role.
439
+ Default value is `STANDBY`.
440
+ Possible values are: `ROLE_UNSPECIFIED`, `ACTIVE`, `STANDBY`.
441
+ """
442
+ if replicas is not None:
443
+ pulumi.set(__self__, "replicas", replicas)
444
+ if role is not None:
445
+ pulumi.set(__self__, "role", role)
446
+
447
+ @property
448
+ @pulumi.getter
449
+ def replicas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceInitialReplicationReplicaArgs']]]]:
450
+ """
451
+ The replication role.
452
+ Structure is documented below.
453
+ """
454
+ return pulumi.get(self, "replicas")
455
+
456
+ @replicas.setter
457
+ def replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceInitialReplicationReplicaArgs']]]]):
458
+ pulumi.set(self, "replicas", value)
459
+
460
+ @property
461
+ @pulumi.getter
462
+ def role(self) -> Optional[pulumi.Input[str]]:
463
+ """
464
+ The replication role.
465
+ Default value is `STANDBY`.
466
+ Possible values are: `ROLE_UNSPECIFIED`, `ACTIVE`, `STANDBY`.
467
+ """
468
+ return pulumi.get(self, "role")
469
+
470
+ @role.setter
471
+ def role(self, value: Optional[pulumi.Input[str]]):
472
+ pulumi.set(self, "role", value)
473
+
474
+
475
+ if not MYPY:
476
+ class InstanceInitialReplicationReplicaArgsDict(TypedDict):
477
+ peer_instance: pulumi.Input[str]
478
+ """
479
+ The peer instance.
480
+ """
481
+ elif False:
482
+ InstanceInitialReplicationReplicaArgsDict: TypeAlias = Mapping[str, Any]
483
+
484
+ @pulumi.input_type
485
+ class InstanceInitialReplicationReplicaArgs:
486
+ def __init__(__self__, *,
487
+ peer_instance: pulumi.Input[str]):
488
+ """
489
+ :param pulumi.Input[str] peer_instance: The peer instance.
490
+ """
491
+ pulumi.set(__self__, "peer_instance", peer_instance)
492
+
493
+ @property
494
+ @pulumi.getter(name="peerInstance")
495
+ def peer_instance(self) -> pulumi.Input[str]:
496
+ """
497
+ The peer instance.
498
+ """
499
+ return pulumi.get(self, "peer_instance")
500
+
501
+ @peer_instance.setter
502
+ def peer_instance(self, value: pulumi.Input[str]):
503
+ pulumi.set(self, "peer_instance", value)
504
+
505
+
284
506
  if not MYPY:
285
507
  class InstanceNetworkArgsDict(TypedDict):
286
508
  modes: pulumi.Input[Sequence[pulumi.Input[str]]]
@@ -27,7 +27,7 @@ class GetInstanceResult:
27
27
  """
28
28
  A collection of values returned by getInstance.
29
29
  """
30
- def __init__(__self__, create_time=None, deletion_protection_enabled=None, deletion_protection_reason=None, description=None, effective_labels=None, etag=None, file_shares=None, id=None, kms_key_name=None, labels=None, location=None, name=None, networks=None, performance_configs=None, project=None, protocol=None, pulumi_labels=None, tags=None, tier=None, zone=None):
30
+ def __init__(__self__, create_time=None, deletion_protection_enabled=None, deletion_protection_reason=None, description=None, effective_labels=None, effective_replications=None, etag=None, file_shares=None, id=None, initial_replications=None, kms_key_name=None, labels=None, location=None, name=None, networks=None, performance_configs=None, project=None, protocol=None, pulumi_labels=None, tags=None, tier=None, zone=None):
31
31
  if create_time and not isinstance(create_time, str):
32
32
  raise TypeError("Expected argument 'create_time' to be a str")
33
33
  pulumi.set(__self__, "create_time", create_time)
@@ -43,6 +43,9 @@ class GetInstanceResult:
43
43
  if effective_labels and not isinstance(effective_labels, dict):
44
44
  raise TypeError("Expected argument 'effective_labels' to be a dict")
45
45
  pulumi.set(__self__, "effective_labels", effective_labels)
46
+ if effective_replications and not isinstance(effective_replications, list):
47
+ raise TypeError("Expected argument 'effective_replications' to be a list")
48
+ pulumi.set(__self__, "effective_replications", effective_replications)
46
49
  if etag and not isinstance(etag, str):
47
50
  raise TypeError("Expected argument 'etag' to be a str")
48
51
  pulumi.set(__self__, "etag", etag)
@@ -52,6 +55,9 @@ class GetInstanceResult:
52
55
  if id and not isinstance(id, str):
53
56
  raise TypeError("Expected argument 'id' to be a str")
54
57
  pulumi.set(__self__, "id", id)
58
+ if initial_replications and not isinstance(initial_replications, list):
59
+ raise TypeError("Expected argument 'initial_replications' to be a list")
60
+ pulumi.set(__self__, "initial_replications", initial_replications)
55
61
  if kms_key_name and not isinstance(kms_key_name, str):
56
62
  raise TypeError("Expected argument 'kms_key_name' to be a str")
57
63
  pulumi.set(__self__, "kms_key_name", kms_key_name)
@@ -114,6 +120,11 @@ class GetInstanceResult:
114
120
  def effective_labels(self) -> Mapping[str, str]:
115
121
  return pulumi.get(self, "effective_labels")
116
122
 
123
+ @property
124
+ @pulumi.getter(name="effectiveReplications")
125
+ def effective_replications(self) -> Sequence['outputs.GetInstanceEffectiveReplicationResult']:
126
+ return pulumi.get(self, "effective_replications")
127
+
117
128
  @property
118
129
  @pulumi.getter
119
130
  def etag(self) -> str:
@@ -132,6 +143,11 @@ class GetInstanceResult:
132
143
  """
133
144
  return pulumi.get(self, "id")
134
145
 
146
+ @property
147
+ @pulumi.getter(name="initialReplications")
148
+ def initial_replications(self) -> Sequence['outputs.GetInstanceInitialReplicationResult']:
149
+ return pulumi.get(self, "initial_replications")
150
+
135
151
  @property
136
152
  @pulumi.getter(name="kmsKeyName")
137
153
  def kms_key_name(self) -> str:
@@ -204,9 +220,11 @@ class AwaitableGetInstanceResult(GetInstanceResult):
204
220
  deletion_protection_reason=self.deletion_protection_reason,
205
221
  description=self.description,
206
222
  effective_labels=self.effective_labels,
223
+ effective_replications=self.effective_replications,
207
224
  etag=self.etag,
208
225
  file_shares=self.file_shares,
209
226
  id=self.id,
227
+ initial_replications=self.initial_replications,
210
228
  kms_key_name=self.kms_key_name,
211
229
  labels=self.labels,
212
230
  location=self.location,
@@ -263,9 +281,11 @@ def get_instance(location: Optional[str] = None,
263
281
  deletion_protection_reason=pulumi.get(__ret__, 'deletion_protection_reason'),
264
282
  description=pulumi.get(__ret__, 'description'),
265
283
  effective_labels=pulumi.get(__ret__, 'effective_labels'),
284
+ effective_replications=pulumi.get(__ret__, 'effective_replications'),
266
285
  etag=pulumi.get(__ret__, 'etag'),
267
286
  file_shares=pulumi.get(__ret__, 'file_shares'),
268
287
  id=pulumi.get(__ret__, 'id'),
288
+ initial_replications=pulumi.get(__ret__, 'initial_replications'),
269
289
  kms_key_name=pulumi.get(__ret__, 'kms_key_name'),
270
290
  labels=pulumi.get(__ret__, 'labels'),
271
291
  location=pulumi.get(__ret__, 'location'),
@@ -319,9 +339,11 @@ def get_instance_output(location: Optional[pulumi.Input[Optional[str]]] = None,
319
339
  deletion_protection_reason=pulumi.get(__response__, 'deletion_protection_reason'),
320
340
  description=pulumi.get(__response__, 'description'),
321
341
  effective_labels=pulumi.get(__response__, 'effective_labels'),
342
+ effective_replications=pulumi.get(__response__, 'effective_replications'),
322
343
  etag=pulumi.get(__response__, 'etag'),
323
344
  file_shares=pulumi.get(__response__, 'file_shares'),
324
345
  id=pulumi.get(__response__, 'id'),
346
+ initial_replications=pulumi.get(__response__, 'initial_replications'),
325
347
  kms_key_name=pulumi.get(__response__, 'kms_key_name'),
326
348
  labels=pulumi.get(__response__, 'labels'),
327
349
  location=pulumi.get(__response__, 'location'),
@@ -27,6 +27,7 @@ class InstanceArgs:
27
27
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
28
28
  deletion_protection_reason: Optional[pulumi.Input[str]] = None,
29
29
  description: Optional[pulumi.Input[str]] = None,
30
+ initial_replication: Optional[pulumi.Input['InstanceInitialReplicationArgs']] = None,
30
31
  kms_key_name: Optional[pulumi.Input[str]] = None,
31
32
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
32
33
  location: Optional[pulumi.Input[str]] = None,
@@ -49,6 +50,8 @@ class InstanceArgs:
49
50
  :param pulumi.Input[bool] deletion_protection_enabled: Indicates whether the instance is protected against deletion.
50
51
  :param pulumi.Input[str] deletion_protection_reason: The reason for enabling deletion protection.
51
52
  :param pulumi.Input[str] description: A description of the instance.
53
+ :param pulumi.Input['InstanceInitialReplicationArgs'] initial_replication: Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
54
+ instance only, indicating the active as the peer_instance
52
55
  :param pulumi.Input[str] kms_key_name: KMS key name used for data encryption.
53
56
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
54
57
  labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
@@ -75,6 +78,8 @@ class InstanceArgs:
75
78
  pulumi.set(__self__, "deletion_protection_reason", deletion_protection_reason)
76
79
  if description is not None:
77
80
  pulumi.set(__self__, "description", description)
81
+ if initial_replication is not None:
82
+ pulumi.set(__self__, "initial_replication", initial_replication)
78
83
  if kms_key_name is not None:
79
84
  pulumi.set(__self__, "kms_key_name", kms_key_name)
80
85
  if labels is not None:
@@ -174,6 +179,19 @@ class InstanceArgs:
174
179
  def description(self, value: Optional[pulumi.Input[str]]):
175
180
  pulumi.set(self, "description", value)
176
181
 
182
+ @property
183
+ @pulumi.getter(name="initialReplication")
184
+ def initial_replication(self) -> Optional[pulumi.Input['InstanceInitialReplicationArgs']]:
185
+ """
186
+ Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
187
+ instance only, indicating the active as the peer_instance
188
+ """
189
+ return pulumi.get(self, "initial_replication")
190
+
191
+ @initial_replication.setter
192
+ def initial_replication(self, value: Optional[pulumi.Input['InstanceInitialReplicationArgs']]):
193
+ pulumi.set(self, "initial_replication", value)
194
+
177
195
  @property
178
196
  @pulumi.getter(name="kmsKeyName")
179
197
  def kms_key_name(self) -> Optional[pulumi.Input[str]]:
@@ -297,8 +315,10 @@ class _InstanceState:
297
315
  deletion_protection_reason: Optional[pulumi.Input[str]] = None,
298
316
  description: Optional[pulumi.Input[str]] = None,
299
317
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
318
+ effective_replications: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationArgs']]]] = None,
300
319
  etag: Optional[pulumi.Input[str]] = None,
301
320
  file_shares: Optional[pulumi.Input['InstanceFileSharesArgs']] = None,
321
+ initial_replication: Optional[pulumi.Input['InstanceInitialReplicationArgs']] = None,
302
322
  kms_key_name: Optional[pulumi.Input[str]] = None,
303
323
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
304
324
  location: Optional[pulumi.Input[str]] = None,
@@ -318,11 +338,15 @@ class _InstanceState:
318
338
  :param pulumi.Input[str] deletion_protection_reason: The reason for enabling deletion protection.
319
339
  :param pulumi.Input[str] description: A description of the instance.
320
340
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
341
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationArgs']]] effective_replications: Output only fields for replication configuration.
342
+ Structure is documented below.
321
343
  :param pulumi.Input[str] etag: Server-specified ETag for the instance resource to prevent
322
344
  simultaneous updates from overwriting each other.
323
345
  :param pulumi.Input['InstanceFileSharesArgs'] file_shares: File system shares on the instance. For this version, only a
324
346
  single file share is supported.
325
347
  Structure is documented below.
348
+ :param pulumi.Input['InstanceInitialReplicationArgs'] initial_replication: Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
349
+ instance only, indicating the active as the peer_instance
326
350
  :param pulumi.Input[str] kms_key_name: KMS key name used for data encryption.
327
351
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
328
352
  labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
@@ -357,10 +381,14 @@ class _InstanceState:
357
381
  pulumi.set(__self__, "description", description)
358
382
  if effective_labels is not None:
359
383
  pulumi.set(__self__, "effective_labels", effective_labels)
384
+ if effective_replications is not None:
385
+ pulumi.set(__self__, "effective_replications", effective_replications)
360
386
  if etag is not None:
361
387
  pulumi.set(__self__, "etag", etag)
362
388
  if file_shares is not None:
363
389
  pulumi.set(__self__, "file_shares", file_shares)
390
+ if initial_replication is not None:
391
+ pulumi.set(__self__, "initial_replication", initial_replication)
364
392
  if kms_key_name is not None:
365
393
  pulumi.set(__self__, "kms_key_name", kms_key_name)
366
394
  if labels is not None:
@@ -449,6 +477,19 @@ class _InstanceState:
449
477
  def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
450
478
  pulumi.set(self, "effective_labels", value)
451
479
 
480
+ @property
481
+ @pulumi.getter(name="effectiveReplications")
482
+ def effective_replications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationArgs']]]]:
483
+ """
484
+ Output only fields for replication configuration.
485
+ Structure is documented below.
486
+ """
487
+ return pulumi.get(self, "effective_replications")
488
+
489
+ @effective_replications.setter
490
+ def effective_replications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEffectiveReplicationArgs']]]]):
491
+ pulumi.set(self, "effective_replications", value)
492
+
452
493
  @property
453
494
  @pulumi.getter
454
495
  def etag(self) -> Optional[pulumi.Input[str]]:
@@ -476,6 +517,19 @@ class _InstanceState:
476
517
  def file_shares(self, value: Optional[pulumi.Input['InstanceFileSharesArgs']]):
477
518
  pulumi.set(self, "file_shares", value)
478
519
 
520
+ @property
521
+ @pulumi.getter(name="initialReplication")
522
+ def initial_replication(self) -> Optional[pulumi.Input['InstanceInitialReplicationArgs']]:
523
+ """
524
+ Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
525
+ instance only, indicating the active as the peer_instance
526
+ """
527
+ return pulumi.get(self, "initial_replication")
528
+
529
+ @initial_replication.setter
530
+ def initial_replication(self, value: Optional[pulumi.Input['InstanceInitialReplicationArgs']]):
531
+ pulumi.set(self, "initial_replication", value)
532
+
479
533
  @property
480
534
  @pulumi.getter(name="kmsKeyName")
481
535
  def kms_key_name(self) -> Optional[pulumi.Input[str]]:
@@ -640,6 +694,7 @@ class Instance(pulumi.CustomResource):
640
694
  deletion_protection_reason: Optional[pulumi.Input[str]] = None,
641
695
  description: Optional[pulumi.Input[str]] = None,
642
696
  file_shares: Optional[pulumi.Input[Union['InstanceFileSharesArgs', 'InstanceFileSharesArgsDict']]] = None,
697
+ initial_replication: Optional[pulumi.Input[Union['InstanceInitialReplicationArgs', 'InstanceInitialReplicationArgsDict']]] = None,
643
698
  kms_key_name: Optional[pulumi.Input[str]] = None,
644
699
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
645
700
  location: Optional[pulumi.Input[str]] = None,
@@ -797,6 +852,8 @@ class Instance(pulumi.CustomResource):
797
852
  :param pulumi.Input[Union['InstanceFileSharesArgs', 'InstanceFileSharesArgsDict']] file_shares: File system shares on the instance. For this version, only a
798
853
  single file share is supported.
799
854
  Structure is documented below.
855
+ :param pulumi.Input[Union['InstanceInitialReplicationArgs', 'InstanceInitialReplicationArgsDict']] initial_replication: Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
856
+ instance only, indicating the active as the peer_instance
800
857
  :param pulumi.Input[str] kms_key_name: KMS key name used for data encryption.
801
858
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
802
859
  labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
@@ -981,6 +1038,7 @@ class Instance(pulumi.CustomResource):
981
1038
  deletion_protection_reason: Optional[pulumi.Input[str]] = None,
982
1039
  description: Optional[pulumi.Input[str]] = None,
983
1040
  file_shares: Optional[pulumi.Input[Union['InstanceFileSharesArgs', 'InstanceFileSharesArgsDict']]] = None,
1041
+ initial_replication: Optional[pulumi.Input[Union['InstanceInitialReplicationArgs', 'InstanceInitialReplicationArgsDict']]] = None,
984
1042
  kms_key_name: Optional[pulumi.Input[str]] = None,
985
1043
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
986
1044
  location: Optional[pulumi.Input[str]] = None,
@@ -1007,6 +1065,7 @@ class Instance(pulumi.CustomResource):
1007
1065
  if file_shares is None and not opts.urn:
1008
1066
  raise TypeError("Missing required property 'file_shares'")
1009
1067
  __props__.__dict__["file_shares"] = file_shares
1068
+ __props__.__dict__["initial_replication"] = initial_replication
1010
1069
  __props__.__dict__["kms_key_name"] = kms_key_name
1011
1070
  __props__.__dict__["labels"] = labels
1012
1071
  __props__.__dict__["location"] = location
@@ -1024,6 +1083,7 @@ class Instance(pulumi.CustomResource):
1024
1083
  __props__.__dict__["zone"] = zone
1025
1084
  __props__.__dict__["create_time"] = None
1026
1085
  __props__.__dict__["effective_labels"] = None
1086
+ __props__.__dict__["effective_replications"] = None
1027
1087
  __props__.__dict__["etag"] = None
1028
1088
  __props__.__dict__["pulumi_labels"] = None
1029
1089
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
@@ -1043,8 +1103,10 @@ class Instance(pulumi.CustomResource):
1043
1103
  deletion_protection_reason: Optional[pulumi.Input[str]] = None,
1044
1104
  description: Optional[pulumi.Input[str]] = None,
1045
1105
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1106
+ effective_replications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEffectiveReplicationArgs', 'InstanceEffectiveReplicationArgsDict']]]]] = None,
1046
1107
  etag: Optional[pulumi.Input[str]] = None,
1047
1108
  file_shares: Optional[pulumi.Input[Union['InstanceFileSharesArgs', 'InstanceFileSharesArgsDict']]] = None,
1109
+ initial_replication: Optional[pulumi.Input[Union['InstanceInitialReplicationArgs', 'InstanceInitialReplicationArgsDict']]] = None,
1048
1110
  kms_key_name: Optional[pulumi.Input[str]] = None,
1049
1111
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1050
1112
  location: Optional[pulumi.Input[str]] = None,
@@ -1069,11 +1131,15 @@ class Instance(pulumi.CustomResource):
1069
1131
  :param pulumi.Input[str] deletion_protection_reason: The reason for enabling deletion protection.
1070
1132
  :param pulumi.Input[str] description: A description of the instance.
1071
1133
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1134
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEffectiveReplicationArgs', 'InstanceEffectiveReplicationArgsDict']]]] effective_replications: Output only fields for replication configuration.
1135
+ Structure is documented below.
1072
1136
  :param pulumi.Input[str] etag: Server-specified ETag for the instance resource to prevent
1073
1137
  simultaneous updates from overwriting each other.
1074
1138
  :param pulumi.Input[Union['InstanceFileSharesArgs', 'InstanceFileSharesArgsDict']] file_shares: File system shares on the instance. For this version, only a
1075
1139
  single file share is supported.
1076
1140
  Structure is documented below.
1141
+ :param pulumi.Input[Union['InstanceInitialReplicationArgs', 'InstanceInitialReplicationArgsDict']] initial_replication: Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
1142
+ instance only, indicating the active as the peer_instance
1077
1143
  :param pulumi.Input[str] kms_key_name: KMS key name used for data encryption.
1078
1144
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
1079
1145
  labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
@@ -1107,8 +1173,10 @@ class Instance(pulumi.CustomResource):
1107
1173
  __props__.__dict__["deletion_protection_reason"] = deletion_protection_reason
1108
1174
  __props__.__dict__["description"] = description
1109
1175
  __props__.__dict__["effective_labels"] = effective_labels
1176
+ __props__.__dict__["effective_replications"] = effective_replications
1110
1177
  __props__.__dict__["etag"] = etag
1111
1178
  __props__.__dict__["file_shares"] = file_shares
1179
+ __props__.__dict__["initial_replication"] = initial_replication
1112
1180
  __props__.__dict__["kms_key_name"] = kms_key_name
1113
1181
  __props__.__dict__["labels"] = labels
1114
1182
  __props__.__dict__["location"] = location
@@ -1163,6 +1231,15 @@ class Instance(pulumi.CustomResource):
1163
1231
  """
1164
1232
  return pulumi.get(self, "effective_labels")
1165
1233
 
1234
+ @property
1235
+ @pulumi.getter(name="effectiveReplications")
1236
+ def effective_replications(self) -> pulumi.Output[Sequence['outputs.InstanceEffectiveReplication']]:
1237
+ """
1238
+ Output only fields for replication configuration.
1239
+ Structure is documented below.
1240
+ """
1241
+ return pulumi.get(self, "effective_replications")
1242
+
1166
1243
  @property
1167
1244
  @pulumi.getter
1168
1245
  def etag(self) -> pulumi.Output[str]:
@@ -1182,6 +1259,15 @@ class Instance(pulumi.CustomResource):
1182
1259
  """
1183
1260
  return pulumi.get(self, "file_shares")
1184
1261
 
1262
+ @property
1263
+ @pulumi.getter(name="initialReplication")
1264
+ def initial_replication(self) -> pulumi.Output[Optional['outputs.InstanceInitialReplication']]:
1265
+ """
1266
+ Replication configuration, once set, this cannot be updated. Addtionally this should be specified on the replica
1267
+ instance only, indicating the active as the peer_instance
1268
+ """
1269
+ return pulumi.get(self, "initial_replication")
1270
+
1185
1271
  @property
1186
1272
  @pulumi.getter(name="kmsKeyName")
1187
1273
  def kms_key_name(self) -> pulumi.Output[Optional[str]]: