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
@@ -333,6 +333,10 @@ if not MYPY:
333
333
  Git repo configuration for the cluster
334
334
  Structure is documented below.
335
335
  """
336
+ metrics_gcp_service_account_email: NotRequired[pulumi.Input[str]]
337
+ """
338
+ The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.
339
+ """
336
340
  oci: NotRequired[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgsDict']]
337
341
  """
338
342
  OCI repo configuration for the cluster
@@ -354,6 +358,7 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs:
354
358
  def __init__(__self__, *,
355
359
  enabled: Optional[pulumi.Input[bool]] = None,
356
360
  git: Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs']] = None,
361
+ metrics_gcp_service_account_email: Optional[pulumi.Input[str]] = None,
357
362
  oci: Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs']] = None,
358
363
  prevent_drift: Optional[pulumi.Input[bool]] = None,
359
364
  source_format: Optional[pulumi.Input[str]] = None):
@@ -361,6 +366,7 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs:
361
366
  :param pulumi.Input[bool] enabled: Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
362
367
  :param pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs'] git: Git repo configuration for the cluster
363
368
  Structure is documented below.
369
+ :param pulumi.Input[str] metrics_gcp_service_account_email: The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.
364
370
  :param pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs'] oci: OCI repo configuration for the cluster
365
371
  Structure is documented below.
366
372
  :param pulumi.Input[bool] prevent_drift: Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.
@@ -370,6 +376,8 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs:
370
376
  pulumi.set(__self__, "enabled", enabled)
371
377
  if git is not None:
372
378
  pulumi.set(__self__, "git", git)
379
+ if metrics_gcp_service_account_email is not None:
380
+ pulumi.set(__self__, "metrics_gcp_service_account_email", metrics_gcp_service_account_email)
373
381
  if oci is not None:
374
382
  pulumi.set(__self__, "oci", oci)
375
383
  if prevent_drift is not None:
@@ -402,6 +410,18 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs:
402
410
  def git(self, value: Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs']]):
403
411
  pulumi.set(self, "git", value)
404
412
 
413
+ @property
414
+ @pulumi.getter(name="metricsGcpServiceAccountEmail")
415
+ def metrics_gcp_service_account_email(self) -> Optional[pulumi.Input[str]]:
416
+ """
417
+ The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.
418
+ """
419
+ return pulumi.get(self, "metrics_gcp_service_account_email")
420
+
421
+ @metrics_gcp_service_account_email.setter
422
+ def metrics_gcp_service_account_email(self, value: Optional[pulumi.Input[str]]):
423
+ pulumi.set(self, "metrics_gcp_service_account_email", value)
424
+
405
425
  @property
406
426
  @pulumi.getter
407
427
  def oci(self) -> Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs']]:
@@ -423,16 +423,16 @@ class MembershipBinding(pulumi.CustomResource):
423
423
  network="default",
424
424
  subnetwork="default")
425
425
  membership = gcp.gkehub.Membership("membership",
426
- membership_id="tf-test-membership_75223",
426
+ membership_id="tf-test-membership_41819",
427
427
  endpoint={
428
428
  "gke_cluster": {
429
429
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
430
430
  },
431
431
  },
432
432
  opts = pulumi.ResourceOptions(depends_on=[primary]))
433
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_41819")
433
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_75092")
434
434
  membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
435
- membership_binding_id="tf-test-membership-binding_75092",
435
+ membership_binding_id="tf-test-membership-binding_2605",
436
436
  scope=scope.name,
437
437
  membership_id=membership.membership_id,
438
438
  location="global",
@@ -519,16 +519,16 @@ class MembershipBinding(pulumi.CustomResource):
519
519
  network="default",
520
520
  subnetwork="default")
521
521
  membership = gcp.gkehub.Membership("membership",
522
- membership_id="tf-test-membership_75223",
522
+ membership_id="tf-test-membership_41819",
523
523
  endpoint={
524
524
  "gke_cluster": {
525
525
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
526
526
  },
527
527
  },
528
528
  opts = pulumi.ResourceOptions(depends_on=[primary]))
529
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_41819")
529
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_75092")
530
530
  membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
531
- membership_binding_id="tf-test-membership-binding_75092",
531
+ membership_binding_id="tf-test-membership-binding_2605",
532
532
  scope=scope.name,
533
533
  membership_id=membership.membership_id,
534
534
  location="global",
@@ -356,7 +356,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
356
356
  network="default",
357
357
  subnetwork="default")
358
358
  membership = gcp.gkehub.Membership("membership",
359
- membership_id="tf-test-membership_2605",
359
+ membership_id="tf-test-membership_34535",
360
360
  endpoint={
361
361
  "gke_cluster": {
362
362
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
@@ -365,7 +365,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
365
365
  opts = pulumi.ResourceOptions(depends_on=[primary]))
366
366
  project = gcp.organizations.get_project()
367
367
  membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
368
- membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_34535",
368
+ membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_22375",
369
369
  membership_id=membership.membership_id,
370
370
  user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
371
371
  role={
@@ -434,7 +434,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
434
434
  network="default",
435
435
  subnetwork="default")
436
436
  membership = gcp.gkehub.Membership("membership",
437
- membership_id="tf-test-membership_2605",
437
+ membership_id="tf-test-membership_34535",
438
438
  endpoint={
439
439
  "gke_cluster": {
440
440
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
@@ -443,7 +443,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
443
443
  opts = pulumi.ResourceOptions(depends_on=[primary]))
444
444
  project = gcp.organizations.get_project()
445
445
  membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
446
- membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_34535",
446
+ membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_22375",
447
447
  membership_id=membership.membership_id,
448
448
  user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
449
449
  role={
@@ -428,9 +428,9 @@ class Namespace(pulumi.CustomResource):
428
428
  import pulumi
429
429
  import pulumi_gcp as gcp
430
430
 
431
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_22375")
431
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_29439")
432
432
  namespace = gcp.gkehub.Namespace("namespace",
433
- scope_namespace_id="tf-test-namespace_29439",
433
+ scope_namespace_id="tf-test-namespace_87786",
434
434
  scope_id=scope.scope_id,
435
435
  scope=scope.name,
436
436
  namespace_labels={
@@ -513,9 +513,9 @@ class Namespace(pulumi.CustomResource):
513
513
  import pulumi
514
514
  import pulumi_gcp as gcp
515
515
 
516
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_22375")
516
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_29439")
517
517
  namespace = gcp.gkehub.Namespace("namespace",
518
- scope_namespace_id="tf-test-namespace_29439",
518
+ scope_namespace_id="tf-test-namespace_87786",
519
519
  scope_id=scope.scope_id,
520
520
  scope=scope.name,
521
521
  namespace_labels={
@@ -240,7 +240,9 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSync(dict):
240
240
  @staticmethod
241
241
  def __key_warning(key: str):
242
242
  suggest = None
243
- if key == "preventDrift":
243
+ if key == "metricsGcpServiceAccountEmail":
244
+ suggest = "metrics_gcp_service_account_email"
245
+ elif key == "preventDrift":
244
246
  suggest = "prevent_drift"
245
247
  elif key == "sourceFormat":
246
248
  suggest = "source_format"
@@ -259,6 +261,7 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSync(dict):
259
261
  def __init__(__self__, *,
260
262
  enabled: Optional[bool] = None,
261
263
  git: Optional['outputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGit'] = None,
264
+ metrics_gcp_service_account_email: Optional[str] = None,
262
265
  oci: Optional['outputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci'] = None,
263
266
  prevent_drift: Optional[bool] = None,
264
267
  source_format: Optional[str] = None):
@@ -266,6 +269,7 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSync(dict):
266
269
  :param bool enabled: Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
267
270
  :param 'FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs' git: Git repo configuration for the cluster
268
271
  Structure is documented below.
272
+ :param str metrics_gcp_service_account_email: The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.
269
273
  :param 'FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs' oci: OCI repo configuration for the cluster
270
274
  Structure is documented below.
271
275
  :param bool prevent_drift: Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.
@@ -275,6 +279,8 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSync(dict):
275
279
  pulumi.set(__self__, "enabled", enabled)
276
280
  if git is not None:
277
281
  pulumi.set(__self__, "git", git)
282
+ if metrics_gcp_service_account_email is not None:
283
+ pulumi.set(__self__, "metrics_gcp_service_account_email", metrics_gcp_service_account_email)
278
284
  if oci is not None:
279
285
  pulumi.set(__self__, "oci", oci)
280
286
  if prevent_drift is not None:
@@ -299,6 +305,14 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSync(dict):
299
305
  """
300
306
  return pulumi.get(self, "git")
301
307
 
308
+ @property
309
+ @pulumi.getter(name="metricsGcpServiceAccountEmail")
310
+ def metrics_gcp_service_account_email(self) -> Optional[str]:
311
+ """
312
+ The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.
313
+ """
314
+ return pulumi.get(self, "metrics_gcp_service_account_email")
315
+
302
316
  @property
303
317
  @pulumi.getter
304
318
  def oci(self) -> Optional['outputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci']:
@@ -3773,18 +3787,21 @@ class GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncResult(dict):
3773
3787
  def __init__(__self__, *,
3774
3788
  enabled: bool,
3775
3789
  gits: Sequence['outputs.GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitResult'],
3790
+ metrics_gcp_service_account_email: str,
3776
3791
  ocis: Sequence['outputs.GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciResult'],
3777
3792
  prevent_drift: bool,
3778
3793
  source_format: str):
3779
3794
  """
3780
3795
  :param bool enabled: Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
3781
3796
  :param Sequence['GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs'] gits: Git repo configuration for the cluster
3797
+ :param str metrics_gcp_service_account_email: The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount 'default' in the namespace 'config-management-monitoring' should be bound to the GSA.
3782
3798
  :param Sequence['GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs'] ocis: OCI repo configuration for the cluster
3783
3799
  :param bool prevent_drift: Set to true to enable the Config Sync admission webhook to prevent drifts. If set to 'false', disables the Config Sync admission webhook and does not prevent drifts.
3784
3800
  :param str source_format: Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
3785
3801
  """
3786
3802
  pulumi.set(__self__, "enabled", enabled)
3787
3803
  pulumi.set(__self__, "gits", gits)
3804
+ pulumi.set(__self__, "metrics_gcp_service_account_email", metrics_gcp_service_account_email)
3788
3805
  pulumi.set(__self__, "ocis", ocis)
3789
3806
  pulumi.set(__self__, "prevent_drift", prevent_drift)
3790
3807
  pulumi.set(__self__, "source_format", source_format)
@@ -3805,6 +3822,14 @@ class GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncResult(dict):
3805
3822
  """
3806
3823
  return pulumi.get(self, "gits")
3807
3824
 
3825
+ @property
3826
+ @pulumi.getter(name="metricsGcpServiceAccountEmail")
3827
+ def metrics_gcp_service_account_email(self) -> str:
3828
+ """
3829
+ The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring. The GSA should have the Monitoring Metric Writer(roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount 'default' in the namespace 'config-management-monitoring' should be bound to the GSA.
3830
+ """
3831
+ return pulumi.get(self, "metrics_gcp_service_account_email")
3832
+
3808
3833
  @property
3809
3834
  @pulumi.getter
3810
3835
  def ocis(self) -> Sequence['outputs.GetFeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciResult']:
@@ -429,9 +429,9 @@ class ScopeRbacRoleBinding(pulumi.CustomResource):
429
429
  import pulumi
430
430
  import pulumi_gcp as gcp
431
431
 
432
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_87786")
432
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_2067")
433
433
  scope_rbac_role_binding = gcp.gkehub.ScopeRbacRoleBinding("scope_rbac_role_binding",
434
- scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_2067",
434
+ scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_40785",
435
435
  scope_id=scope.scope_id,
436
436
  user="test-email@gmail.com",
437
437
  role={
@@ -504,9 +504,9 @@ class ScopeRbacRoleBinding(pulumi.CustomResource):
504
504
  import pulumi
505
505
  import pulumi_gcp as gcp
506
506
 
507
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_87786")
507
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_2067")
508
508
  scope_rbac_role_binding = gcp.gkehub.ScopeRbacRoleBinding("scope_rbac_role_binding",
509
- scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_2067",
509
+ scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_40785",
510
510
  scope_id=scope.scope_id,
511
511
  user="test-email@gmail.com",
512
512
  role={
@@ -253,7 +253,7 @@ class TunnelDestGroup(pulumi.CustomResource):
253
253
 
254
254
  dest_group = gcp.iap.TunnelDestGroup("dest_group",
255
255
  region="us-central1",
256
- group_name="testgroup_40785",
256
+ group_name="testgroup_79169",
257
257
  cidrs=[
258
258
  "10.1.0.0/16",
259
259
  "192.168.10.0/24",
@@ -339,7 +339,7 @@ class TunnelDestGroup(pulumi.CustomResource):
339
339
 
340
340
  dest_group = gcp.iap.TunnelDestGroup("dest_group",
341
341
  region="us-central1",
342
- group_name="testgroup_40785",
342
+ group_name="testgroup_79169",
343
343
  cidrs=[
344
344
  "10.1.0.0/16",
345
345
  "192.168.10.0/24",
@@ -378,8 +378,8 @@ class ManagedZone(pulumi.CustomResource):
378
378
  import pulumi_gcp as gcp
379
379
 
380
380
  target_project = gcp.organizations.Project("target_project",
381
- project_id="tf-test_79169",
382
- name="tf-test_56529",
381
+ project_id="tf-test_56529",
382
+ name="tf-test_75413",
383
383
  org_id="123456789",
384
384
  billing_account="000000-0000000-0000000-000000",
385
385
  deletion_policy="DELETE")
@@ -400,8 +400,8 @@ class ManagedZone(pulumi.CustomResource):
400
400
  auto_create_subnetworks=False,
401
401
  opts = pulumi.ResourceOptions(depends_on=[compute]))
402
402
  zone = gcp.dns.ManagedZone("zone",
403
- name="tf-test-dns_75413",
404
- dns_name="private_55138.example.com.",
403
+ name="tf-test-dns_55138",
404
+ dns_name="private_37559.example.com.",
405
405
  visibility="private",
406
406
  private_visibility_config={
407
407
  "networks": [{
@@ -489,8 +489,8 @@ class ManagedZone(pulumi.CustomResource):
489
489
  import pulumi_gcp as gcp
490
490
 
491
491
  target_project = gcp.organizations.Project("target_project",
492
- project_id="tf-test_79169",
493
- name="tf-test_56529",
492
+ project_id="tf-test_56529",
493
+ name="tf-test_75413",
494
494
  org_id="123456789",
495
495
  billing_account="000000-0000000-0000000-000000",
496
496
  deletion_policy="DELETE")
@@ -511,8 +511,8 @@ class ManagedZone(pulumi.CustomResource):
511
511
  auto_create_subnetworks=False,
512
512
  opts = pulumi.ResourceOptions(depends_on=[compute]))
513
513
  zone = gcp.dns.ManagedZone("zone",
514
- name="tf-test-dns_75413",
515
- dns_name="private_55138.example.com.",
514
+ name="tf-test-dns_55138",
515
+ dns_name="private_37559.example.com.",
516
516
  visibility="private",
517
517
  private_visibility_config={
518
518
  "networks": [{
@@ -19,6 +19,12 @@ __all__ = [
19
19
  'InstanceDesiredPscAutoConnectionArgsDict',
20
20
  'InstanceDiscoveryEndpointArgs',
21
21
  'InstanceDiscoveryEndpointArgsDict',
22
+ 'InstanceEndpointArgs',
23
+ 'InstanceEndpointArgsDict',
24
+ 'InstanceEndpointConnectionArgs',
25
+ 'InstanceEndpointConnectionArgsDict',
26
+ 'InstanceEndpointConnectionPscAutoConnectionArgs',
27
+ 'InstanceEndpointConnectionPscAutoConnectionArgsDict',
22
28
  'InstanceNodeConfigArgs',
23
29
  'InstanceNodeConfigArgsDict',
24
30
  'InstancePersistenceConfigArgs',
@@ -182,6 +188,296 @@ class InstanceDiscoveryEndpointArgs:
182
188
  pulumi.set(self, "port", value)
183
189
 
184
190
 
191
+ if not MYPY:
192
+ class InstanceEndpointArgsDict(TypedDict):
193
+ connections: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointConnectionArgsDict']]]]
194
+ """
195
+ A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.
196
+ Structure is documented below.
197
+ """
198
+ elif False:
199
+ InstanceEndpointArgsDict: TypeAlias = Mapping[str, Any]
200
+
201
+ @pulumi.input_type
202
+ class InstanceEndpointArgs:
203
+ def __init__(__self__, *,
204
+ connections: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointConnectionArgs']]]] = None):
205
+ """
206
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceEndpointConnectionArgs']]] connections: A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.
207
+ Structure is documented below.
208
+ """
209
+ if connections is not None:
210
+ pulumi.set(__self__, "connections", connections)
211
+
212
+ @property
213
+ @pulumi.getter
214
+ def connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointConnectionArgs']]]]:
215
+ """
216
+ A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.
217
+ Structure is documented below.
218
+ """
219
+ return pulumi.get(self, "connections")
220
+
221
+ @connections.setter
222
+ def connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointConnectionArgs']]]]):
223
+ pulumi.set(self, "connections", value)
224
+
225
+
226
+ if not MYPY:
227
+ class InstanceEndpointConnectionArgsDict(TypedDict):
228
+ psc_auto_connection: NotRequired[pulumi.Input['InstanceEndpointConnectionPscAutoConnectionArgsDict']]
229
+ """
230
+ Detailed information of a PSC connection that is created through service connectivity automation.
231
+ Structure is documented below.
232
+ """
233
+ elif False:
234
+ InstanceEndpointConnectionArgsDict: TypeAlias = Mapping[str, Any]
235
+
236
+ @pulumi.input_type
237
+ class InstanceEndpointConnectionArgs:
238
+ def __init__(__self__, *,
239
+ psc_auto_connection: Optional[pulumi.Input['InstanceEndpointConnectionPscAutoConnectionArgs']] = None):
240
+ """
241
+ :param pulumi.Input['InstanceEndpointConnectionPscAutoConnectionArgs'] psc_auto_connection: Detailed information of a PSC connection that is created through service connectivity automation.
242
+ Structure is documented below.
243
+ """
244
+ if psc_auto_connection is not None:
245
+ pulumi.set(__self__, "psc_auto_connection", psc_auto_connection)
246
+
247
+ @property
248
+ @pulumi.getter(name="pscAutoConnection")
249
+ def psc_auto_connection(self) -> Optional[pulumi.Input['InstanceEndpointConnectionPscAutoConnectionArgs']]:
250
+ """
251
+ Detailed information of a PSC connection that is created through service connectivity automation.
252
+ Structure is documented below.
253
+ """
254
+ return pulumi.get(self, "psc_auto_connection")
255
+
256
+ @psc_auto_connection.setter
257
+ def psc_auto_connection(self, value: Optional[pulumi.Input['InstanceEndpointConnectionPscAutoConnectionArgs']]):
258
+ pulumi.set(self, "psc_auto_connection", value)
259
+
260
+
261
+ if not MYPY:
262
+ class InstanceEndpointConnectionPscAutoConnectionArgsDict(TypedDict):
263
+ connection_type: NotRequired[pulumi.Input[str]]
264
+ """
265
+ (Output)
266
+ Output Only. Type of a PSC Connection.
267
+ Possible values:
268
+ CONNECTION_TYPE_DISCOVERY
269
+ CONNECTION_TYPE_PRIMARY
270
+ CONNECTION_TYPE_READER
271
+ """
272
+ forwarding_rule: NotRequired[pulumi.Input[str]]
273
+ """
274
+ (Output)
275
+ Output only. The URI of the consumer side forwarding rule.
276
+ Format:
277
+ projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
278
+ """
279
+ ip_address: NotRequired[pulumi.Input[str]]
280
+ """
281
+ (Output)
282
+ Output only. The IP allocated on the consumer network for the PSC forwarding rule.
283
+ """
284
+ network: NotRequired[pulumi.Input[str]]
285
+ """
286
+ (Output)
287
+ Output only. The consumer network where the IP address resides, in the form of
288
+ projects/{project_id}/global/networks/{network_id}.
289
+ """
290
+ port: NotRequired[pulumi.Input[int]]
291
+ """
292
+ (Output)
293
+ Output only. Ports of the exposed endpoint.
294
+ """
295
+ project_id: NotRequired[pulumi.Input[str]]
296
+ """
297
+ (Output)
298
+ Output only. The consumer project_id where the forwarding rule is created from.
299
+ """
300
+ psc_connection_id: NotRequired[pulumi.Input[str]]
301
+ """
302
+ (Output)
303
+ Output only. The PSC connection id of the forwarding rule connected to the
304
+ service attachment.
305
+ """
306
+ service_attachment: NotRequired[pulumi.Input[str]]
307
+ """
308
+ (Output)
309
+ Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.
310
+ """
311
+ elif False:
312
+ InstanceEndpointConnectionPscAutoConnectionArgsDict: TypeAlias = Mapping[str, Any]
313
+
314
+ @pulumi.input_type
315
+ class InstanceEndpointConnectionPscAutoConnectionArgs:
316
+ def __init__(__self__, *,
317
+ connection_type: Optional[pulumi.Input[str]] = None,
318
+ forwarding_rule: Optional[pulumi.Input[str]] = None,
319
+ ip_address: Optional[pulumi.Input[str]] = None,
320
+ network: Optional[pulumi.Input[str]] = None,
321
+ port: Optional[pulumi.Input[int]] = None,
322
+ project_id: Optional[pulumi.Input[str]] = None,
323
+ psc_connection_id: Optional[pulumi.Input[str]] = None,
324
+ service_attachment: Optional[pulumi.Input[str]] = None):
325
+ """
326
+ :param pulumi.Input[str] connection_type: (Output)
327
+ Output Only. Type of a PSC Connection.
328
+ Possible values:
329
+ CONNECTION_TYPE_DISCOVERY
330
+ CONNECTION_TYPE_PRIMARY
331
+ CONNECTION_TYPE_READER
332
+ :param pulumi.Input[str] forwarding_rule: (Output)
333
+ Output only. The URI of the consumer side forwarding rule.
334
+ Format:
335
+ projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
336
+ :param pulumi.Input[str] ip_address: (Output)
337
+ Output only. The IP allocated on the consumer network for the PSC forwarding rule.
338
+ :param pulumi.Input[str] network: (Output)
339
+ Output only. The consumer network where the IP address resides, in the form of
340
+ projects/{project_id}/global/networks/{network_id}.
341
+ :param pulumi.Input[int] port: (Output)
342
+ Output only. Ports of the exposed endpoint.
343
+ :param pulumi.Input[str] project_id: (Output)
344
+ Output only. The consumer project_id where the forwarding rule is created from.
345
+ :param pulumi.Input[str] psc_connection_id: (Output)
346
+ Output only. The PSC connection id of the forwarding rule connected to the
347
+ service attachment.
348
+ :param pulumi.Input[str] service_attachment: (Output)
349
+ Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.
350
+ """
351
+ if connection_type is not None:
352
+ pulumi.set(__self__, "connection_type", connection_type)
353
+ if forwarding_rule is not None:
354
+ pulumi.set(__self__, "forwarding_rule", forwarding_rule)
355
+ if ip_address is not None:
356
+ pulumi.set(__self__, "ip_address", ip_address)
357
+ if network is not None:
358
+ pulumi.set(__self__, "network", network)
359
+ if port is not None:
360
+ pulumi.set(__self__, "port", port)
361
+ if project_id is not None:
362
+ pulumi.set(__self__, "project_id", project_id)
363
+ if psc_connection_id is not None:
364
+ pulumi.set(__self__, "psc_connection_id", psc_connection_id)
365
+ if service_attachment is not None:
366
+ pulumi.set(__self__, "service_attachment", service_attachment)
367
+
368
+ @property
369
+ @pulumi.getter(name="connectionType")
370
+ def connection_type(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ (Output)
373
+ Output Only. Type of a PSC Connection.
374
+ Possible values:
375
+ CONNECTION_TYPE_DISCOVERY
376
+ CONNECTION_TYPE_PRIMARY
377
+ CONNECTION_TYPE_READER
378
+ """
379
+ return pulumi.get(self, "connection_type")
380
+
381
+ @connection_type.setter
382
+ def connection_type(self, value: Optional[pulumi.Input[str]]):
383
+ pulumi.set(self, "connection_type", value)
384
+
385
+ @property
386
+ @pulumi.getter(name="forwardingRule")
387
+ def forwarding_rule(self) -> Optional[pulumi.Input[str]]:
388
+ """
389
+ (Output)
390
+ Output only. The URI of the consumer side forwarding rule.
391
+ Format:
392
+ projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
393
+ """
394
+ return pulumi.get(self, "forwarding_rule")
395
+
396
+ @forwarding_rule.setter
397
+ def forwarding_rule(self, value: Optional[pulumi.Input[str]]):
398
+ pulumi.set(self, "forwarding_rule", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="ipAddress")
402
+ def ip_address(self) -> Optional[pulumi.Input[str]]:
403
+ """
404
+ (Output)
405
+ Output only. The IP allocated on the consumer network for the PSC forwarding rule.
406
+ """
407
+ return pulumi.get(self, "ip_address")
408
+
409
+ @ip_address.setter
410
+ def ip_address(self, value: Optional[pulumi.Input[str]]):
411
+ pulumi.set(self, "ip_address", value)
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def network(self) -> Optional[pulumi.Input[str]]:
416
+ """
417
+ (Output)
418
+ Output only. The consumer network where the IP address resides, in the form of
419
+ projects/{project_id}/global/networks/{network_id}.
420
+ """
421
+ return pulumi.get(self, "network")
422
+
423
+ @network.setter
424
+ def network(self, value: Optional[pulumi.Input[str]]):
425
+ pulumi.set(self, "network", value)
426
+
427
+ @property
428
+ @pulumi.getter
429
+ def port(self) -> Optional[pulumi.Input[int]]:
430
+ """
431
+ (Output)
432
+ Output only. Ports of the exposed endpoint.
433
+ """
434
+ return pulumi.get(self, "port")
435
+
436
+ @port.setter
437
+ def port(self, value: Optional[pulumi.Input[int]]):
438
+ pulumi.set(self, "port", value)
439
+
440
+ @property
441
+ @pulumi.getter(name="projectId")
442
+ def project_id(self) -> Optional[pulumi.Input[str]]:
443
+ """
444
+ (Output)
445
+ Output only. The consumer project_id where the forwarding rule is created from.
446
+ """
447
+ return pulumi.get(self, "project_id")
448
+
449
+ @project_id.setter
450
+ def project_id(self, value: Optional[pulumi.Input[str]]):
451
+ pulumi.set(self, "project_id", value)
452
+
453
+ @property
454
+ @pulumi.getter(name="pscConnectionId")
455
+ def psc_connection_id(self) -> Optional[pulumi.Input[str]]:
456
+ """
457
+ (Output)
458
+ Output only. The PSC connection id of the forwarding rule connected to the
459
+ service attachment.
460
+ """
461
+ return pulumi.get(self, "psc_connection_id")
462
+
463
+ @psc_connection_id.setter
464
+ def psc_connection_id(self, value: Optional[pulumi.Input[str]]):
465
+ pulumi.set(self, "psc_connection_id", value)
466
+
467
+ @property
468
+ @pulumi.getter(name="serviceAttachment")
469
+ def service_attachment(self) -> Optional[pulumi.Input[str]]:
470
+ """
471
+ (Output)
472
+ Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.
473
+ """
474
+ return pulumi.get(self, "service_attachment")
475
+
476
+ @service_attachment.setter
477
+ def service_attachment(self, value: Optional[pulumi.Input[str]]):
478
+ pulumi.set(self, "service_attachment", value)
479
+
480
+
185
481
  if not MYPY:
186
482
  class InstanceNodeConfigArgsDict(TypedDict):
187
483
  size_gb: NotRequired[pulumi.Input[float]]