pulumi-gcp 8.18.0a1738650987__py3-none-any.whl → 8.19.0__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 (130) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  3. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  5. pulumi_gcp/alloydb/user.py +10 -1
  6. pulumi_gcp/appengine/_inputs.py +3 -0
  7. pulumi_gcp/appengine/outputs.py +2 -0
  8. pulumi_gcp/assuredworkloads/workload.py +7 -7
  9. pulumi_gcp/beyondcorp/__init__.py +9 -0
  10. pulumi_gcp/beyondcorp/_inputs.py +319 -0
  11. pulumi_gcp/beyondcorp/application.py +604 -0
  12. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  13. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  14. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  15. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  16. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  17. pulumi_gcp/beyondcorp/outputs.py +187 -0
  18. pulumi_gcp/beyondcorp/security_gateway.py +52 -25
  19. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
  20. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
  21. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
  22. pulumi_gcp/bigquery/_inputs.py +33 -0
  23. pulumi_gcp/bigquery/dataset.py +7 -7
  24. pulumi_gcp/bigquery/outputs.py +36 -0
  25. pulumi_gcp/bigquery/table.py +61 -7
  26. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  27. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  28. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  29. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  30. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  31. pulumi_gcp/certificateauthority/authority.py +149 -3
  32. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  33. pulumi_gcp/certificateauthority/outputs.py +81 -0
  34. pulumi_gcp/chronicle/retrohunt.py +0 -16
  35. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  36. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  37. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  38. pulumi_gcp/cloudrunv2/service.py +2 -0
  39. pulumi_gcp/colab/__init__.py +2 -0
  40. pulumi_gcp/colab/_inputs.py +655 -0
  41. pulumi_gcp/colab/notebook_execution.py +1259 -0
  42. pulumi_gcp/colab/outputs.py +512 -0
  43. pulumi_gcp/colab/runtime.py +266 -2
  44. pulumi_gcp/colab/runtime_template.py +79 -3
  45. pulumi_gcp/colab/schedule.py +1318 -0
  46. pulumi_gcp/compute/__init__.py +1 -0
  47. pulumi_gcp/compute/_inputs.py +213 -9
  48. pulumi_gcp/compute/firewall_policy.py +54 -43
  49. pulumi_gcp/compute/forwarding_rule.py +103 -0
  50. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  51. pulumi_gcp/compute/get_network.py +3 -3
  52. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  53. pulumi_gcp/compute/network.py +7 -7
  54. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  55. pulumi_gcp/compute/outputs.py +193 -6
  56. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  57. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  58. pulumi_gcp/compute/region_resize_request.py +21 -22
  59. pulumi_gcp/compute/resize_request.py +22 -23
  60. pulumi_gcp/compute/router_peer.py +112 -0
  61. pulumi_gcp/compute/subnetwork.py +14 -7
  62. pulumi_gcp/container/_inputs.py +133 -21
  63. pulumi_gcp/container/outputs.py +154 -13
  64. pulumi_gcp/dataproc/_inputs.py +34 -0
  65. pulumi_gcp/dataproc/outputs.py +37 -0
  66. pulumi_gcp/dataproc/workflow_template.py +47 -0
  67. pulumi_gcp/datastream/connection_profile.py +120 -46
  68. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  69. pulumi_gcp/filestore/_inputs.py +222 -0
  70. pulumi_gcp/filestore/get_instance.py +23 -1
  71. pulumi_gcp/filestore/instance.py +86 -0
  72. pulumi_gcp/filestore/outputs.py +282 -0
  73. pulumi_gcp/firestore/field.py +60 -0
  74. pulumi_gcp/gemini/__init__.py +2 -0
  75. pulumi_gcp/gemini/logging_setting.py +671 -0
  76. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  77. pulumi_gcp/gkehub/_inputs.py +20 -0
  78. pulumi_gcp/gkehub/membership_binding.py +6 -6
  79. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  80. pulumi_gcp/gkehub/namespace.py +4 -4
  81. pulumi_gcp/gkehub/outputs.py +26 -1
  82. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  83. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  84. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  85. pulumi_gcp/memorystore/_inputs.py +296 -0
  86. pulumi_gcp/memorystore/instance.py +32 -28
  87. pulumi_gcp/memorystore/outputs.py +224 -0
  88. pulumi_gcp/monitoring/_inputs.py +12 -9
  89. pulumi_gcp/monitoring/outputs.py +8 -6
  90. pulumi_gcp/netapp/storage_pool.py +1 -1
  91. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  92. pulumi_gcp/networkservices/_inputs.py +89 -0
  93. pulumi_gcp/networkservices/outputs.py +75 -0
  94. pulumi_gcp/orgpolicy/policy.py +2 -2
  95. pulumi_gcp/parametermanager/__init__.py +5 -0
  96. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  97. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  98. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  99. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  100. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  101. pulumi_gcp/parametermanager/outputs.py +156 -0
  102. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  103. pulumi_gcp/pubsub/_inputs.py +264 -0
  104. pulumi_gcp/pubsub/outputs.py +353 -0
  105. pulumi_gcp/pubsub/subscription.py +6 -6
  106. pulumi_gcp/pubsub/topic.py +70 -0
  107. pulumi_gcp/pulumi-plugin.json +1 -1
  108. pulumi_gcp/resourcemanager/lien.py +12 -0
  109. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  111. pulumi_gcp/secretmanager/secret.py +4 -0
  112. pulumi_gcp/secretmanager/secret_version.py +12 -0
  113. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  114. pulumi_gcp/securesourcemanager/repository.py +4 -0
  115. pulumi_gcp/securityposture/posture.py +4 -0
  116. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  117. pulumi_gcp/serviceaccount/get_s.py +98 -8
  118. pulumi_gcp/spanner/_inputs.py +68 -0
  119. pulumi_gcp/spanner/backup_schedule.py +70 -4
  120. pulumi_gcp/spanner/outputs.py +60 -0
  121. pulumi_gcp/storage/bucket_object.py +8 -0
  122. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  123. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  124. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  125. pulumi_gcp/workbench/instance.py +70 -2
  126. pulumi_gcp/workflows/workflow.py +175 -0
  127. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/METADATA +1 -1
  128. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/RECORD +130 -110
  129. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/WHEEL +0 -0
  130. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/top_level.txt +0 -0
@@ -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]]:
@@ -16,20 +16,121 @@ from .. import _utilities
16
16
  from . import outputs
17
17
 
18
18
  __all__ = [
19
+ 'InstanceEffectiveReplication',
20
+ 'InstanceEffectiveReplicationReplica',
19
21
  'InstanceFileShares',
20
22
  'InstanceFileSharesNfsExportOption',
23
+ 'InstanceInitialReplication',
24
+ 'InstanceInitialReplicationReplica',
21
25
  'InstanceNetwork',
22
26
  'InstancePerformanceConfig',
23
27
  'InstancePerformanceConfigFixedIops',
24
28
  'InstancePerformanceConfigIopsPerTb',
29
+ 'GetInstanceEffectiveReplicationResult',
30
+ 'GetInstanceEffectiveReplicationReplicaResult',
25
31
  'GetInstanceFileShareResult',
26
32
  'GetInstanceFileShareNfsExportOptionResult',
33
+ 'GetInstanceInitialReplicationResult',
34
+ 'GetInstanceInitialReplicationReplicaResult',
27
35
  'GetInstanceNetworkResult',
28
36
  'GetInstancePerformanceConfigResult',
29
37
  'GetInstancePerformanceConfigFixedIopResult',
30
38
  'GetInstancePerformanceConfigIopsPerTbResult',
31
39
  ]
32
40
 
41
+ @pulumi.output_type
42
+ class InstanceEffectiveReplication(dict):
43
+ def __init__(__self__, *,
44
+ replicas: Optional[Sequence['outputs.InstanceEffectiveReplicationReplica']] = None):
45
+ """
46
+ :param Sequence['InstanceEffectiveReplicationReplicaArgs'] replicas: The replication role.
47
+ Structure is documented below.
48
+ """
49
+ if replicas is not None:
50
+ pulumi.set(__self__, "replicas", replicas)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def replicas(self) -> Optional[Sequence['outputs.InstanceEffectiveReplicationReplica']]:
55
+ """
56
+ The replication role.
57
+ Structure is documented below.
58
+ """
59
+ return pulumi.get(self, "replicas")
60
+
61
+
62
+ @pulumi.output_type
63
+ class InstanceEffectiveReplicationReplica(dict):
64
+ @staticmethod
65
+ def __key_warning(key: str):
66
+ suggest = None
67
+ if key == "lastActiveSyncTime":
68
+ suggest = "last_active_sync_time"
69
+ elif key == "stateReasons":
70
+ suggest = "state_reasons"
71
+
72
+ if suggest:
73
+ pulumi.log.warn(f"Key '{key}' not found in InstanceEffectiveReplicationReplica. Access the value via the '{suggest}' property getter instead.")
74
+
75
+ def __getitem__(self, key: str) -> Any:
76
+ InstanceEffectiveReplicationReplica.__key_warning(key)
77
+ return super().__getitem__(key)
78
+
79
+ def get(self, key: str, default = None) -> Any:
80
+ InstanceEffectiveReplicationReplica.__key_warning(key)
81
+ return super().get(key, default)
82
+
83
+ def __init__(__self__, *,
84
+ last_active_sync_time: Optional[str] = None,
85
+ state: Optional[str] = None,
86
+ state_reasons: Optional[Sequence[str]] = None):
87
+ """
88
+ :param str last_active_sync_time: (Output)
89
+ Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
90
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
91
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
92
+ :param str state: (Output)
93
+ Output only. The replica state
94
+ :param Sequence[str] state_reasons: (Output)
95
+ Output only. Additional information about the replication state, if available.
96
+ """
97
+ if last_active_sync_time is not None:
98
+ pulumi.set(__self__, "last_active_sync_time", last_active_sync_time)
99
+ if state is not None:
100
+ pulumi.set(__self__, "state", state)
101
+ if state_reasons is not None:
102
+ pulumi.set(__self__, "state_reasons", state_reasons)
103
+
104
+ @property
105
+ @pulumi.getter(name="lastActiveSyncTime")
106
+ def last_active_sync_time(self) -> Optional[str]:
107
+ """
108
+ (Output)
109
+ Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
110
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
111
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
112
+ """
113
+ return pulumi.get(self, "last_active_sync_time")
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def state(self) -> Optional[str]:
118
+ """
119
+ (Output)
120
+ Output only. The replica state
121
+ """
122
+ return pulumi.get(self, "state")
123
+
124
+ @property
125
+ @pulumi.getter(name="stateReasons")
126
+ def state_reasons(self) -> Optional[Sequence[str]]:
127
+ """
128
+ (Output)
129
+ Output only. Additional information about the replication state, if available.
130
+ """
131
+ return pulumi.get(self, "state_reasons")
132
+
133
+
33
134
  @pulumi.output_type
34
135
  class InstanceFileShares(dict):
35
136
  @staticmethod
@@ -228,6 +329,78 @@ class InstanceFileSharesNfsExportOption(dict):
228
329
  return pulumi.get(self, "squash_mode")
229
330
 
230
331
 
332
+ @pulumi.output_type
333
+ class InstanceInitialReplication(dict):
334
+ def __init__(__self__, *,
335
+ replicas: Optional[Sequence['outputs.InstanceInitialReplicationReplica']] = None,
336
+ role: Optional[str] = None):
337
+ """
338
+ :param Sequence['InstanceInitialReplicationReplicaArgs'] replicas: The replication role.
339
+ Structure is documented below.
340
+ :param str role: The replication role.
341
+ Default value is `STANDBY`.
342
+ Possible values are: `ROLE_UNSPECIFIED`, `ACTIVE`, `STANDBY`.
343
+ """
344
+ if replicas is not None:
345
+ pulumi.set(__self__, "replicas", replicas)
346
+ if role is not None:
347
+ pulumi.set(__self__, "role", role)
348
+
349
+ @property
350
+ @pulumi.getter
351
+ def replicas(self) -> Optional[Sequence['outputs.InstanceInitialReplicationReplica']]:
352
+ """
353
+ The replication role.
354
+ Structure is documented below.
355
+ """
356
+ return pulumi.get(self, "replicas")
357
+
358
+ @property
359
+ @pulumi.getter
360
+ def role(self) -> Optional[str]:
361
+ """
362
+ The replication role.
363
+ Default value is `STANDBY`.
364
+ Possible values are: `ROLE_UNSPECIFIED`, `ACTIVE`, `STANDBY`.
365
+ """
366
+ return pulumi.get(self, "role")
367
+
368
+
369
+ @pulumi.output_type
370
+ class InstanceInitialReplicationReplica(dict):
371
+ @staticmethod
372
+ def __key_warning(key: str):
373
+ suggest = None
374
+ if key == "peerInstance":
375
+ suggest = "peer_instance"
376
+
377
+ if suggest:
378
+ pulumi.log.warn(f"Key '{key}' not found in InstanceInitialReplicationReplica. Access the value via the '{suggest}' property getter instead.")
379
+
380
+ def __getitem__(self, key: str) -> Any:
381
+ InstanceInitialReplicationReplica.__key_warning(key)
382
+ return super().__getitem__(key)
383
+
384
+ def get(self, key: str, default = None) -> Any:
385
+ InstanceInitialReplicationReplica.__key_warning(key)
386
+ return super().get(key, default)
387
+
388
+ def __init__(__self__, *,
389
+ peer_instance: str):
390
+ """
391
+ :param str peer_instance: The peer instance.
392
+ """
393
+ pulumi.set(__self__, "peer_instance", peer_instance)
394
+
395
+ @property
396
+ @pulumi.getter(name="peerInstance")
397
+ def peer_instance(self) -> str:
398
+ """
399
+ The peer instance.
400
+ """
401
+ return pulumi.get(self, "peer_instance")
402
+
403
+
231
404
  @pulumi.output_type
232
405
  class InstanceNetwork(dict):
233
406
  @staticmethod
@@ -478,6 +651,68 @@ class InstancePerformanceConfigIopsPerTb(dict):
478
651
  return pulumi.get(self, "max_iops_per_tb")
479
652
 
480
653
 
654
+ @pulumi.output_type
655
+ class GetInstanceEffectiveReplicationResult(dict):
656
+ def __init__(__self__, *,
657
+ replicas: Sequence['outputs.GetInstanceEffectiveReplicationReplicaResult']):
658
+ """
659
+ :param Sequence['GetInstanceEffectiveReplicationReplicaArgs'] replicas: The replication role.
660
+ """
661
+ pulumi.set(__self__, "replicas", replicas)
662
+
663
+ @property
664
+ @pulumi.getter
665
+ def replicas(self) -> Sequence['outputs.GetInstanceEffectiveReplicationReplicaResult']:
666
+ """
667
+ The replication role.
668
+ """
669
+ return pulumi.get(self, "replicas")
670
+
671
+
672
+ @pulumi.output_type
673
+ class GetInstanceEffectiveReplicationReplicaResult(dict):
674
+ def __init__(__self__, *,
675
+ last_active_sync_time: str,
676
+ state: str,
677
+ state_reasons: Sequence[str]):
678
+ """
679
+ :param str last_active_sync_time: Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
680
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
681
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
682
+ :param str state: Output only. The replica state
683
+ :param Sequence[str] state_reasons: Output only. Additional information about the replication state, if available.
684
+ """
685
+ pulumi.set(__self__, "last_active_sync_time", last_active_sync_time)
686
+ pulumi.set(__self__, "state", state)
687
+ pulumi.set(__self__, "state_reasons", state_reasons)
688
+
689
+ @property
690
+ @pulumi.getter(name="lastActiveSyncTime")
691
+ def last_active_sync_time(self) -> str:
692
+ """
693
+ Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
694
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
695
+ Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z"
696
+ """
697
+ return pulumi.get(self, "last_active_sync_time")
698
+
699
+ @property
700
+ @pulumi.getter
701
+ def state(self) -> str:
702
+ """
703
+ Output only. The replica state
704
+ """
705
+ return pulumi.get(self, "state")
706
+
707
+ @property
708
+ @pulumi.getter(name="stateReasons")
709
+ def state_reasons(self) -> Sequence[str]:
710
+ """
711
+ Output only. Additional information about the replication state, if available.
712
+ """
713
+ return pulumi.get(self, "state_reasons")
714
+
715
+
481
716
  @pulumi.output_type
482
717
  class GetInstanceFileShareResult(dict):
483
718
  def __init__(__self__, *,
@@ -617,6 +852,53 @@ class GetInstanceFileShareNfsExportOptionResult(dict):
617
852
  return pulumi.get(self, "squash_mode")
618
853
 
619
854
 
855
+ @pulumi.output_type
856
+ class GetInstanceInitialReplicationResult(dict):
857
+ def __init__(__self__, *,
858
+ replicas: Sequence['outputs.GetInstanceInitialReplicationReplicaResult'],
859
+ role: str):
860
+ """
861
+ :param Sequence['GetInstanceInitialReplicationReplicaArgs'] replicas: The replication role.
862
+ :param str role: The replication role. Default value: "STANDBY" Possible values: ["ROLE_UNSPECIFIED", "ACTIVE", "STANDBY"]
863
+ """
864
+ pulumi.set(__self__, "replicas", replicas)
865
+ pulumi.set(__self__, "role", role)
866
+
867
+ @property
868
+ @pulumi.getter
869
+ def replicas(self) -> Sequence['outputs.GetInstanceInitialReplicationReplicaResult']:
870
+ """
871
+ The replication role.
872
+ """
873
+ return pulumi.get(self, "replicas")
874
+
875
+ @property
876
+ @pulumi.getter
877
+ def role(self) -> str:
878
+ """
879
+ The replication role. Default value: "STANDBY" Possible values: ["ROLE_UNSPECIFIED", "ACTIVE", "STANDBY"]
880
+ """
881
+ return pulumi.get(self, "role")
882
+
883
+
884
+ @pulumi.output_type
885
+ class GetInstanceInitialReplicationReplicaResult(dict):
886
+ def __init__(__self__, *,
887
+ peer_instance: str):
888
+ """
889
+ :param str peer_instance: The peer instance.
890
+ """
891
+ pulumi.set(__self__, "peer_instance", peer_instance)
892
+
893
+ @property
894
+ @pulumi.getter(name="peerInstance")
895
+ def peer_instance(self) -> str:
896
+ """
897
+ The peer instance.
898
+ """
899
+ return pulumi.get(self, "peer_instance")
900
+
901
+
620
902
  @pulumi.output_type
621
903
  class GetInstanceNetworkResult(dict):
622
904
  def __init__(__self__, *,
@@ -391,6 +391,36 @@ class Field(pulumi.CustomResource):
391
391
  ],
392
392
  })
393
393
  ```
394
+ ### Firestore Field Wildcard
395
+
396
+ ```python
397
+ import pulumi
398
+ import pulumi_gcp as gcp
399
+
400
+ database = gcp.firestore.Database("database",
401
+ project="my-project-name",
402
+ name="database-id",
403
+ location_id="nam5",
404
+ type="FIRESTORE_NATIVE",
405
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
406
+ deletion_policy="DELETE")
407
+ wildcard = gcp.firestore.Field("wildcard",
408
+ project="my-project-name",
409
+ database=database.name,
410
+ collection="chatrooms__75223",
411
+ field="*",
412
+ index_config={
413
+ "indexes": [
414
+ {
415
+ "order": "ASCENDING",
416
+ "query_scope": "COLLECTION_GROUP",
417
+ },
418
+ {
419
+ "array_config": "CONTAINS",
420
+ },
421
+ ],
422
+ })
423
+ ```
394
424
 
395
425
  ## Import
396
426
 
@@ -529,6 +559,36 @@ class Field(pulumi.CustomResource):
529
559
  ],
530
560
  })
531
561
  ```
562
+ ### Firestore Field Wildcard
563
+
564
+ ```python
565
+ import pulumi
566
+ import pulumi_gcp as gcp
567
+
568
+ database = gcp.firestore.Database("database",
569
+ project="my-project-name",
570
+ name="database-id",
571
+ location_id="nam5",
572
+ type="FIRESTORE_NATIVE",
573
+ delete_protection_state="DELETE_PROTECTION_ENABLED",
574
+ deletion_policy="DELETE")
575
+ wildcard = gcp.firestore.Field("wildcard",
576
+ project="my-project-name",
577
+ database=database.name,
578
+ collection="chatrooms__75223",
579
+ field="*",
580
+ index_config={
581
+ "indexes": [
582
+ {
583
+ "order": "ASCENDING",
584
+ "query_scope": "COLLECTION_GROUP",
585
+ },
586
+ {
587
+ "array_config": "CONTAINS",
588
+ },
589
+ ],
590
+ })
591
+ ```
532
592
 
533
593
  ## Import
534
594
 
@@ -7,6 +7,8 @@ import typing
7
7
  # Export this package's modules as members:
8
8
  from .code_repository_index import *
9
9
  from .get_repository_group_iam_policy import *
10
+ from .logging_setting import *
11
+ from .release_channel_setting import *
10
12
  from .repository_group import *
11
13
  from .repository_group_iam_binding import *
12
14
  from .repository_group_iam_member import *