pulumi-gcp 8.7.0a1729200523__py3-none-any.whl → 8.7.0a1730196225__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 (111) hide show
  1. pulumi_gcp/__init__.py +70 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  8. pulumi_gcp/apigee/__init__.py +2 -0
  9. pulumi_gcp/apigee/_inputs.py +108 -0
  10. pulumi_gcp/apigee/app_group.py +811 -0
  11. pulumi_gcp/apigee/developer.py +757 -0
  12. pulumi_gcp/apigee/outputs.py +64 -0
  13. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  14. pulumi_gcp/bigquery/connection.py +12 -12
  15. pulumi_gcp/bigquery/job.py +6 -6
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/service.py +92 -0
  18. pulumi_gcp/compute/_inputs.py +214 -116
  19. pulumi_gcp/compute/backend_service.py +76 -0
  20. pulumi_gcp/compute/get_backend_service.py +12 -1
  21. pulumi_gcp/compute/get_instance.py +29 -1
  22. pulumi_gcp/compute/get_instance_template.py +29 -1
  23. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  24. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  25. pulumi_gcp/compute/instance.py +89 -0
  26. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  27. pulumi_gcp/compute/instance_from_template.py +82 -0
  28. pulumi_gcp/compute/instance_template.py +75 -0
  29. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  30. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  31. pulumi_gcp/compute/outputs.py +170 -80
  32. pulumi_gcp/compute/region_backend_service.py +94 -0
  33. pulumi_gcp/compute/region_instance_template.py +75 -0
  34. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  36. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  37. pulumi_gcp/config/__init__.pyi +4 -0
  38. pulumi_gcp/config/vars.py +8 -0
  39. pulumi_gcp/container/attached_cluster.py +9 -6
  40. pulumi_gcp/container/outputs.py +2 -2
  41. pulumi_gcp/datastream/stream.py +2 -2
  42. pulumi_gcp/diagflow/_inputs.py +472 -2
  43. pulumi_gcp/diagflow/cx_agent.py +64 -4
  44. pulumi_gcp/diagflow/cx_flow.py +30 -0
  45. pulumi_gcp/diagflow/outputs.py +378 -2
  46. pulumi_gcp/gkehub/feature.py +2 -4
  47. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  48. pulumi_gcp/looker/instance.py +104 -2
  49. pulumi_gcp/monitoring/_inputs.py +23 -0
  50. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  51. pulumi_gcp/monitoring/outputs.py +16 -0
  52. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  53. pulumi_gcp/networkconnectivity/_inputs.py +148 -0
  54. pulumi_gcp/networkconnectivity/group.py +764 -0
  55. pulumi_gcp/networkconnectivity/outputs.py +125 -0
  56. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  57. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  58. pulumi_gcp/oracledatabase/__init__.py +20 -0
  59. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  60. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  61. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  62. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  63. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  64. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  65. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  66. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  67. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  68. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  69. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  70. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  71. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  72. pulumi_gcp/organizations/folder.py +7 -7
  73. pulumi_gcp/organizations/project.py +7 -7
  74. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  75. pulumi_gcp/orgpolicy/outputs.py +2 -2
  76. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  77. pulumi_gcp/provider.py +40 -0
  78. pulumi_gcp/pulumi-plugin.json +1 -1
  79. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  80. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  81. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  82. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  83. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  84. pulumi_gcp/siteverification/get_token.py +0 -16
  85. pulumi_gcp/siteverification/owner.py +0 -16
  86. pulumi_gcp/spanner/_inputs.py +29 -5
  87. pulumi_gcp/spanner/outputs.py +20 -3
  88. pulumi_gcp/sql/_inputs.py +6 -6
  89. pulumi_gcp/sql/outputs.py +4 -4
  90. pulumi_gcp/sql/user.py +28 -21
  91. pulumi_gcp/storage/_inputs.py +36 -0
  92. pulumi_gcp/storage/bucket.py +47 -0
  93. pulumi_gcp/storage/get_bucket.py +12 -1
  94. pulumi_gcp/storage/outputs.py +40 -0
  95. pulumi_gcp/transcoder/__init__.py +11 -0
  96. pulumi_gcp/transcoder/_inputs.py +3991 -0
  97. pulumi_gcp/transcoder/job.py +2134 -0
  98. pulumi_gcp/transcoder/job_template.py +1524 -0
  99. pulumi_gcp/transcoder/outputs.py +2918 -0
  100. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  101. pulumi_gcp/vmwareengine/_inputs.py +440 -0
  102. pulumi_gcp/vmwareengine/cluster.py +100 -2
  103. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  104. pulumi_gcp/vmwareengine/outputs.py +615 -0
  105. pulumi_gcp/workstations/_inputs.py +54 -0
  106. pulumi_gcp/workstations/outputs.py +32 -0
  107. pulumi_gcp/workstations/workstation_config.py +205 -0
  108. {pulumi_gcp-8.7.0a1729200523.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/METADATA +1 -1
  109. {pulumi_gcp-8.7.0a1729200523.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/RECORD +111 -89
  110. {pulumi_gcp-8.7.0a1729200523.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/WHEEL +1 -1
  111. {pulumi_gcp-8.7.0a1729200523.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,8 @@ __all__ = [
22
22
  'AddonsConfigAddonsConfigConnectorsPlatformConfig',
23
23
  'AddonsConfigAddonsConfigIntegrationConfig',
24
24
  'AddonsConfigAddonsConfigMonetizationConfig',
25
+ 'AppGroupAttribute',
26
+ 'DeveloperAttribute',
25
27
  'EnvironmentIamBindingCondition',
26
28
  'EnvironmentIamMemberCondition',
27
29
  'EnvironmentNodeConfig',
@@ -299,6 +301,68 @@ class AddonsConfigAddonsConfigMonetizationConfig(dict):
299
301
  return pulumi.get(self, "enabled")
300
302
 
301
303
 
304
+ @pulumi.output_type
305
+ class AppGroupAttribute(dict):
306
+ def __init__(__self__, *,
307
+ name: Optional[str] = None,
308
+ value: Optional[str] = None):
309
+ """
310
+ :param str name: Key of the attribute
311
+ :param str value: Value of the attribute
312
+ """
313
+ if name is not None:
314
+ pulumi.set(__self__, "name", name)
315
+ if value is not None:
316
+ pulumi.set(__self__, "value", value)
317
+
318
+ @property
319
+ @pulumi.getter
320
+ def name(self) -> Optional[str]:
321
+ """
322
+ Key of the attribute
323
+ """
324
+ return pulumi.get(self, "name")
325
+
326
+ @property
327
+ @pulumi.getter
328
+ def value(self) -> Optional[str]:
329
+ """
330
+ Value of the attribute
331
+ """
332
+ return pulumi.get(self, "value")
333
+
334
+
335
+ @pulumi.output_type
336
+ class DeveloperAttribute(dict):
337
+ def __init__(__self__, *,
338
+ name: Optional[str] = None,
339
+ value: Optional[str] = None):
340
+ """
341
+ :param str name: Key of the attribute
342
+ :param str value: Value of the attribute
343
+ """
344
+ if name is not None:
345
+ pulumi.set(__self__, "name", name)
346
+ if value is not None:
347
+ pulumi.set(__self__, "value", value)
348
+
349
+ @property
350
+ @pulumi.getter
351
+ def name(self) -> Optional[str]:
352
+ """
353
+ Key of the attribute
354
+ """
355
+ return pulumi.get(self, "name")
356
+
357
+ @property
358
+ @pulumi.getter
359
+ def value(self) -> Optional[str]:
360
+ """
361
+ Value of the attribute
362
+ """
363
+ return pulumi.get(self, "value")
364
+
365
+
302
366
  @pulumi.output_type
303
367
  class EnvironmentIamBindingCondition(dict):
304
368
  def __init__(__self__, *,
@@ -198,6 +198,26 @@ def get_docker_image(image_name: Optional[str] = None,
198
198
  > **Note**
199
199
  Requires one of the following OAuth scopes: `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/cloud-platform.read-only`.
200
200
 
201
+ ## Example Usage
202
+
203
+ ```python
204
+ import pulumi
205
+ import pulumi_gcp as gcp
206
+
207
+ my_repo = gcp.artifactregistry.Repository("my_repo",
208
+ location="us-west1",
209
+ repository_id="my-repository",
210
+ format="DOCKER")
211
+ my_image = gcp.artifactregistry.get_docker_image_output(location=my_repo.location,
212
+ repository_id=my_repo.repository_id,
213
+ image_name="my-image:my-tag")
214
+ default = gcp.cloudrunv2.Service("default", template={
215
+ "containers": [{
216
+ "image": my_image.self_link,
217
+ }],
218
+ })
219
+ ```
220
+
201
221
 
202
222
  :param str image_name: The image name to fetch. If no digest or tag is provided, then the latest modified image will be used.
203
223
  :param str location: The location of the artifact registry.
@@ -237,6 +257,26 @@ def get_docker_image_output(image_name: Optional[pulumi.Input[str]] = None,
237
257
  > **Note**
238
258
  Requires one of the following OAuth scopes: `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/cloud-platform.read-only`.
239
259
 
260
+ ## Example Usage
261
+
262
+ ```python
263
+ import pulumi
264
+ import pulumi_gcp as gcp
265
+
266
+ my_repo = gcp.artifactregistry.Repository("my_repo",
267
+ location="us-west1",
268
+ repository_id="my-repository",
269
+ format="DOCKER")
270
+ my_image = gcp.artifactregistry.get_docker_image_output(location=my_repo.location,
271
+ repository_id=my_repo.repository_id,
272
+ image_name="my-image:my-tag")
273
+ default = gcp.cloudrunv2.Service("default", template={
274
+ "containers": [{
275
+ "image": my_image.self_link,
276
+ }],
277
+ })
278
+ ```
279
+
240
280
 
241
281
  :param str image_name: The image name to fetch. If no digest or tag is provided, then the latest modified image will be used.
242
282
  :param str location: The location of the artifact registry.
@@ -730,7 +730,7 @@ class Connection(pulumi.CustomResource):
730
730
  },
731
731
  })
732
732
  ```
733
- ### Bigquery Connection Kms
733
+ ### Bigquery Connection Sql With Cmek
734
734
 
735
735
  ```python
736
736
  import pulumi
@@ -738,8 +738,8 @@ class Connection(pulumi.CustomResource):
738
738
 
739
739
  instance = gcp.sql.DatabaseInstance("instance",
740
740
  name="my-database-instance",
741
- database_version="POSTGRES_11",
742
741
  region="us-central1",
742
+ database_version="POSTGRES_11",
743
743
  settings={
744
744
  "tier": "db-f1-micro",
745
745
  },
@@ -752,9 +752,8 @@ class Connection(pulumi.CustomResource):
752
752
  instance=instance.name,
753
753
  password="tf-test-my-password_77884")
754
754
  bq_sa = gcp.bigquery.get_default_service_account()
755
- project = gcp.organizations.get_project()
756
- key_sa_user = gcp.projects.IAMMember("key_sa_user",
757
- project=project.project_id,
755
+ key_sa_user = gcp.kms.CryptoKeyIAMMember("key_sa_user",
756
+ crypto_key_id="projects/project/locations/us-central1/keyRings/us-central1/cryptoKeys/bq-key",
758
757
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
759
758
  member=f"serviceAccount:{bq_sa.email}")
760
759
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
@@ -770,7 +769,8 @@ class Connection(pulumi.CustomResource):
770
769
  "username": user.name,
771
770
  "password": user.password,
772
771
  },
773
- })
772
+ },
773
+ opts = pulumi.ResourceOptions(depends_on=[key_sa_user]))
774
774
  ```
775
775
 
776
776
  ## Import
@@ -1036,7 +1036,7 @@ class Connection(pulumi.CustomResource):
1036
1036
  },
1037
1037
  })
1038
1038
  ```
1039
- ### Bigquery Connection Kms
1039
+ ### Bigquery Connection Sql With Cmek
1040
1040
 
1041
1041
  ```python
1042
1042
  import pulumi
@@ -1044,8 +1044,8 @@ class Connection(pulumi.CustomResource):
1044
1044
 
1045
1045
  instance = gcp.sql.DatabaseInstance("instance",
1046
1046
  name="my-database-instance",
1047
- database_version="POSTGRES_11",
1048
1047
  region="us-central1",
1048
+ database_version="POSTGRES_11",
1049
1049
  settings={
1050
1050
  "tier": "db-f1-micro",
1051
1051
  },
@@ -1058,9 +1058,8 @@ class Connection(pulumi.CustomResource):
1058
1058
  instance=instance.name,
1059
1059
  password="tf-test-my-password_77884")
1060
1060
  bq_sa = gcp.bigquery.get_default_service_account()
1061
- project = gcp.organizations.get_project()
1062
- key_sa_user = gcp.projects.IAMMember("key_sa_user",
1063
- project=project.project_id,
1061
+ key_sa_user = gcp.kms.CryptoKeyIAMMember("key_sa_user",
1062
+ crypto_key_id="projects/project/locations/us-central1/keyRings/us-central1/cryptoKeys/bq-key",
1064
1063
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1065
1064
  member=f"serviceAccount:{bq_sa.email}")
1066
1065
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
@@ -1076,7 +1075,8 @@ class Connection(pulumi.CustomResource):
1076
1075
  "username": user.name,
1077
1076
  "password": user.password,
1078
1077
  },
1079
- })
1078
+ },
1079
+ opts = pulumi.ResourceOptions(depends_on=[key_sa_user]))
1080
1080
  ```
1081
1081
 
1082
1082
  ## Import
@@ -661,9 +661,9 @@ class Job(pulumi.CustomResource):
661
661
  source = []
662
662
  for range in [{"value": i} for i in range(0, count)]:
663
663
  source.append(gcp.bigquery.Table(f"source-{range['value']}",
664
- deletion_protection=False,
665
664
  dataset_id=source_dataset[range["value"]].dataset_id,
666
665
  table_id=f"job_copy_{range['value']}_table",
666
+ deletion_protection=False,
667
667
  schema=\"\"\"[
668
668
  {
669
669
  "name": "name",
@@ -694,8 +694,8 @@ class Job(pulumi.CustomResource):
694
694
  name="example-key",
695
695
  key_ring=key_ring.id)
696
696
  project = gcp.organizations.get_project(project_id="my-project-name")
697
- encrypt_role = gcp.projects.IAMMember("encrypt_role",
698
- project=project.project_id,
697
+ encrypt_role = gcp.kms.CryptoKeyIAMMember("encrypt_role",
698
+ crypto_key_id=crypto_key.id,
699
699
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
700
700
  member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
701
701
  dest = gcp.bigquery.Table("dest",
@@ -1097,9 +1097,9 @@ class Job(pulumi.CustomResource):
1097
1097
  source = []
1098
1098
  for range in [{"value": i} for i in range(0, count)]:
1099
1099
  source.append(gcp.bigquery.Table(f"source-{range['value']}",
1100
- deletion_protection=False,
1101
1100
  dataset_id=source_dataset[range["value"]].dataset_id,
1102
1101
  table_id=f"job_copy_{range['value']}_table",
1102
+ deletion_protection=False,
1103
1103
  schema=\"\"\"[
1104
1104
  {
1105
1105
  "name": "name",
@@ -1130,8 +1130,8 @@ class Job(pulumi.CustomResource):
1130
1130
  name="example-key",
1131
1131
  key_ring=key_ring.id)
1132
1132
  project = gcp.organizations.get_project(project_id="my-project-name")
1133
- encrypt_role = gcp.projects.IAMMember("encrypt_role",
1134
- project=project.project_id,
1133
+ encrypt_role = gcp.kms.CryptoKeyIAMMember("encrypt_role",
1134
+ crypto_key_id=crypto_key.id,
1135
1135
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1136
1136
  member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
1137
1137
  dest = gcp.bigquery.Table("dest",
@@ -27,7 +27,7 @@ class GetServiceResult:
27
27
  """
28
28
  A collection of values returned by getService.
29
29
  """
30
- def __init__(__self__, annotations=None, binary_authorizations=None, client=None, client_version=None, conditions=None, create_time=None, creator=None, custom_audiences=None, default_uri_disabled=None, delete_time=None, deletion_protection=None, description=None, effective_annotations=None, effective_labels=None, etag=None, expire_time=None, generation=None, id=None, ingress=None, labels=None, last_modifier=None, latest_created_revision=None, latest_ready_revision=None, launch_stage=None, location=None, name=None, observed_generation=None, project=None, pulumi_labels=None, reconciling=None, scalings=None, templates=None, terminal_conditions=None, traffic_statuses=None, traffics=None, uid=None, update_time=None, uri=None):
30
+ def __init__(__self__, annotations=None, binary_authorizations=None, client=None, client_version=None, conditions=None, create_time=None, creator=None, custom_audiences=None, default_uri_disabled=None, delete_time=None, deletion_protection=None, description=None, effective_annotations=None, effective_labels=None, etag=None, expire_time=None, generation=None, id=None, ingress=None, invoker_iam_disabled=None, labels=None, last_modifier=None, latest_created_revision=None, latest_ready_revision=None, launch_stage=None, location=None, name=None, observed_generation=None, project=None, pulumi_labels=None, reconciling=None, scalings=None, templates=None, terminal_conditions=None, traffic_statuses=None, traffics=None, uid=None, update_time=None, uri=None):
31
31
  if annotations and not isinstance(annotations, dict):
32
32
  raise TypeError("Expected argument 'annotations' to be a dict")
33
33
  pulumi.set(__self__, "annotations", annotations)
@@ -85,6 +85,9 @@ class GetServiceResult:
85
85
  if ingress and not isinstance(ingress, str):
86
86
  raise TypeError("Expected argument 'ingress' to be a str")
87
87
  pulumi.set(__self__, "ingress", ingress)
88
+ if invoker_iam_disabled and not isinstance(invoker_iam_disabled, bool):
89
+ raise TypeError("Expected argument 'invoker_iam_disabled' to be a bool")
90
+ pulumi.set(__self__, "invoker_iam_disabled", invoker_iam_disabled)
88
91
  if labels and not isinstance(labels, dict):
89
92
  raise TypeError("Expected argument 'labels' to be a dict")
90
93
  pulumi.set(__self__, "labels", labels)
@@ -241,6 +244,11 @@ class GetServiceResult:
241
244
  def ingress(self) -> str:
242
245
  return pulumi.get(self, "ingress")
243
246
 
247
+ @property
248
+ @pulumi.getter(name="invokerIamDisabled")
249
+ def invoker_iam_disabled(self) -> bool:
250
+ return pulumi.get(self, "invoker_iam_disabled")
251
+
244
252
  @property
245
253
  @pulumi.getter
246
254
  def labels(self) -> Mapping[str, str]:
@@ -362,6 +370,7 @@ class AwaitableGetServiceResult(GetServiceResult):
362
370
  generation=self.generation,
363
371
  id=self.id,
364
372
  ingress=self.ingress,
373
+ invoker_iam_disabled=self.invoker_iam_disabled,
365
374
  labels=self.labels,
366
375
  last_modifier=self.last_modifier,
367
376
  latest_created_revision=self.latest_created_revision,
@@ -437,6 +446,7 @@ def get_service(location: Optional[str] = None,
437
446
  generation=pulumi.get(__ret__, 'generation'),
438
447
  id=pulumi.get(__ret__, 'id'),
439
448
  ingress=pulumi.get(__ret__, 'ingress'),
449
+ invoker_iam_disabled=pulumi.get(__ret__, 'invoker_iam_disabled'),
440
450
  labels=pulumi.get(__ret__, 'labels'),
441
451
  last_modifier=pulumi.get(__ret__, 'last_modifier'),
442
452
  latest_created_revision=pulumi.get(__ret__, 'latest_created_revision'),
@@ -509,6 +519,7 @@ def get_service_output(location: Optional[pulumi.Input[Optional[str]]] = None,
509
519
  generation=pulumi.get(__response__, 'generation'),
510
520
  id=pulumi.get(__response__, 'id'),
511
521
  ingress=pulumi.get(__response__, 'ingress'),
522
+ invoker_iam_disabled=pulumi.get(__response__, 'invoker_iam_disabled'),
512
523
  labels=pulumi.get(__response__, 'labels'),
513
524
  last_modifier=pulumi.get(__response__, 'last_modifier'),
514
525
  latest_created_revision=pulumi.get(__response__, 'latest_created_revision'),
@@ -32,6 +32,7 @@ class ServiceArgs:
32
32
  deletion_protection: Optional[pulumi.Input[bool]] = None,
33
33
  description: Optional[pulumi.Input[str]] = None,
34
34
  ingress: Optional[pulumi.Input[str]] = None,
35
+ invoker_iam_disabled: Optional[pulumi.Input[bool]] = None,
35
36
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
36
37
  launch_stage: Optional[pulumi.Input[str]] = None,
37
38
  name: Optional[pulumi.Input[str]] = None,
@@ -61,6 +62,8 @@ class ServiceArgs:
61
62
  :param pulumi.Input[str] ingress: Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or
62
63
  INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. Possible values: ["INGRESS_TRAFFIC_ALL",
63
64
  "INGRESS_TRAFFIC_INTERNAL_ONLY", "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER"]
65
+ :param pulumi.Input[bool] invoker_iam_disabled: Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
66
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
64
67
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with
65
68
  Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment,
66
69
  state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or
@@ -100,6 +103,8 @@ class ServiceArgs:
100
103
  pulumi.set(__self__, "description", description)
101
104
  if ingress is not None:
102
105
  pulumi.set(__self__, "ingress", ingress)
106
+ if invoker_iam_disabled is not None:
107
+ pulumi.set(__self__, "invoker_iam_disabled", invoker_iam_disabled)
103
108
  if labels is not None:
104
109
  pulumi.set(__self__, "labels", labels)
105
110
  if launch_stage is not None:
@@ -253,6 +258,19 @@ class ServiceArgs:
253
258
  def ingress(self, value: Optional[pulumi.Input[str]]):
254
259
  pulumi.set(self, "ingress", value)
255
260
 
261
+ @property
262
+ @pulumi.getter(name="invokerIamDisabled")
263
+ def invoker_iam_disabled(self) -> Optional[pulumi.Input[bool]]:
264
+ """
265
+ Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
266
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
267
+ """
268
+ return pulumi.get(self, "invoker_iam_disabled")
269
+
270
+ @invoker_iam_disabled.setter
271
+ def invoker_iam_disabled(self, value: Optional[pulumi.Input[bool]]):
272
+ pulumi.set(self, "invoker_iam_disabled", value)
273
+
256
274
  @property
257
275
  @pulumi.getter
258
276
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -357,6 +375,7 @@ class _ServiceState:
357
375
  expire_time: Optional[pulumi.Input[str]] = None,
358
376
  generation: Optional[pulumi.Input[str]] = None,
359
377
  ingress: Optional[pulumi.Input[str]] = None,
378
+ invoker_iam_disabled: Optional[pulumi.Input[bool]] = None,
360
379
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
361
380
  last_modifier: Optional[pulumi.Input[str]] = None,
362
381
  latest_created_revision: Optional[pulumi.Input[str]] = None,
@@ -405,6 +424,8 @@ class _ServiceState:
405
424
  :param pulumi.Input[str] ingress: Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or
406
425
  INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. Possible values: ["INGRESS_TRAFFIC_ALL",
407
426
  "INGRESS_TRAFFIC_INTERNAL_ONLY", "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER"]
427
+ :param pulumi.Input[bool] invoker_iam_disabled: Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
428
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
408
429
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with
409
430
  Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment,
410
431
  state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or
@@ -481,6 +502,8 @@ class _ServiceState:
481
502
  pulumi.set(__self__, "generation", generation)
482
503
  if ingress is not None:
483
504
  pulumi.set(__self__, "ingress", ingress)
505
+ if invoker_iam_disabled is not None:
506
+ pulumi.set(__self__, "invoker_iam_disabled", invoker_iam_disabled)
484
507
  if labels is not None:
485
508
  pulumi.set(__self__, "labels", labels)
486
509
  if last_modifier is not None:
@@ -741,6 +764,19 @@ class _ServiceState:
741
764
  def ingress(self, value: Optional[pulumi.Input[str]]):
742
765
  pulumi.set(self, "ingress", value)
743
766
 
767
+ @property
768
+ @pulumi.getter(name="invokerIamDisabled")
769
+ def invoker_iam_disabled(self) -> Optional[pulumi.Input[bool]]:
770
+ """
771
+ Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
772
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
773
+ """
774
+ return pulumi.get(self, "invoker_iam_disabled")
775
+
776
+ @invoker_iam_disabled.setter
777
+ def invoker_iam_disabled(self, value: Optional[pulumi.Input[bool]]):
778
+ pulumi.set(self, "invoker_iam_disabled", value)
779
+
744
780
  @property
745
781
  @pulumi.getter
746
782
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -1002,6 +1038,7 @@ class Service(pulumi.CustomResource):
1002
1038
  deletion_protection: Optional[pulumi.Input[bool]] = None,
1003
1039
  description: Optional[pulumi.Input[str]] = None,
1004
1040
  ingress: Optional[pulumi.Input[str]] = None,
1041
+ invoker_iam_disabled: Optional[pulumi.Input[bool]] = None,
1005
1042
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1006
1043
  launch_stage: Optional[pulumi.Input[str]] = None,
1007
1044
  location: Optional[pulumi.Input[str]] = None,
@@ -1461,6 +1498,25 @@ class Service(pulumi.CustomResource):
1461
1498
  },
1462
1499
  opts = pulumi.ResourceOptions(depends_on=[wait_for_mesh]))
1463
1500
  ```
1501
+ ### Cloudrunv2 Service Invokeriam
1502
+
1503
+ ```python
1504
+ import pulumi
1505
+ import pulumi_gcp as gcp
1506
+
1507
+ default = gcp.cloudrunv2.Service("default",
1508
+ name="cloudrun-service",
1509
+ location="us-central1",
1510
+ deletion_protection=False,
1511
+ invoker_iam_disabled=True,
1512
+ description="The serving URL of this service will not perform any IAM check when invoked",
1513
+ ingress="INGRESS_TRAFFIC_ALL",
1514
+ template={
1515
+ "containers": [{
1516
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
1517
+ }],
1518
+ })
1519
+ ```
1464
1520
 
1465
1521
  ## Import
1466
1522
 
@@ -1506,6 +1562,8 @@ class Service(pulumi.CustomResource):
1506
1562
  :param pulumi.Input[str] ingress: Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or
1507
1563
  INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. Possible values: ["INGRESS_TRAFFIC_ALL",
1508
1564
  "INGRESS_TRAFFIC_INTERNAL_ONLY", "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER"]
1565
+ :param pulumi.Input[bool] invoker_iam_disabled: Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
1566
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
1509
1567
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with
1510
1568
  Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment,
1511
1569
  state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or
@@ -1984,6 +2042,25 @@ class Service(pulumi.CustomResource):
1984
2042
  },
1985
2043
  opts = pulumi.ResourceOptions(depends_on=[wait_for_mesh]))
1986
2044
  ```
2045
+ ### Cloudrunv2 Service Invokeriam
2046
+
2047
+ ```python
2048
+ import pulumi
2049
+ import pulumi_gcp as gcp
2050
+
2051
+ default = gcp.cloudrunv2.Service("default",
2052
+ name="cloudrun-service",
2053
+ location="us-central1",
2054
+ deletion_protection=False,
2055
+ invoker_iam_disabled=True,
2056
+ description="The serving URL of this service will not perform any IAM check when invoked",
2057
+ ingress="INGRESS_TRAFFIC_ALL",
2058
+ template={
2059
+ "containers": [{
2060
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
2061
+ }],
2062
+ })
2063
+ ```
1987
2064
 
1988
2065
  ## Import
1989
2066
 
@@ -2033,6 +2110,7 @@ class Service(pulumi.CustomResource):
2033
2110
  deletion_protection: Optional[pulumi.Input[bool]] = None,
2034
2111
  description: Optional[pulumi.Input[str]] = None,
2035
2112
  ingress: Optional[pulumi.Input[str]] = None,
2113
+ invoker_iam_disabled: Optional[pulumi.Input[bool]] = None,
2036
2114
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
2037
2115
  launch_stage: Optional[pulumi.Input[str]] = None,
2038
2116
  location: Optional[pulumi.Input[str]] = None,
@@ -2059,6 +2137,7 @@ class Service(pulumi.CustomResource):
2059
2137
  __props__.__dict__["deletion_protection"] = deletion_protection
2060
2138
  __props__.__dict__["description"] = description
2061
2139
  __props__.__dict__["ingress"] = ingress
2140
+ __props__.__dict__["invoker_iam_disabled"] = invoker_iam_disabled
2062
2141
  __props__.__dict__["labels"] = labels
2063
2142
  __props__.__dict__["launch_stage"] = launch_stage
2064
2143
  if location is None and not opts.urn:
@@ -2121,6 +2200,7 @@ class Service(pulumi.CustomResource):
2121
2200
  expire_time: Optional[pulumi.Input[str]] = None,
2122
2201
  generation: Optional[pulumi.Input[str]] = None,
2123
2202
  ingress: Optional[pulumi.Input[str]] = None,
2203
+ invoker_iam_disabled: Optional[pulumi.Input[bool]] = None,
2124
2204
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
2125
2205
  last_modifier: Optional[pulumi.Input[str]] = None,
2126
2206
  latest_created_revision: Optional[pulumi.Input[str]] = None,
@@ -2174,6 +2254,8 @@ class Service(pulumi.CustomResource):
2174
2254
  :param pulumi.Input[str] ingress: Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or
2175
2255
  INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. Possible values: ["INGRESS_TRAFFIC_ALL",
2176
2256
  "INGRESS_TRAFFIC_INTERNAL_ONLY", "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER"]
2257
+ :param pulumi.Input[bool] invoker_iam_disabled: Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
2258
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
2177
2259
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with
2178
2260
  Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment,
2179
2261
  state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or
@@ -2236,6 +2318,7 @@ class Service(pulumi.CustomResource):
2236
2318
  __props__.__dict__["expire_time"] = expire_time
2237
2319
  __props__.__dict__["generation"] = generation
2238
2320
  __props__.__dict__["ingress"] = ingress
2321
+ __props__.__dict__["invoker_iam_disabled"] = invoker_iam_disabled
2239
2322
  __props__.__dict__["labels"] = labels
2240
2323
  __props__.__dict__["last_modifier"] = last_modifier
2241
2324
  __props__.__dict__["latest_created_revision"] = latest_created_revision
@@ -2406,6 +2489,15 @@ class Service(pulumi.CustomResource):
2406
2489
  """
2407
2490
  return pulumi.get(self, "ingress")
2408
2491
 
2492
+ @property
2493
+ @pulumi.getter(name="invokerIamDisabled")
2494
+ def invoker_iam_disabled(self) -> pulumi.Output[Optional[bool]]:
2495
+ """
2496
+ Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation
2497
+ only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
2498
+ """
2499
+ return pulumi.get(self, "invoker_iam_disabled")
2500
+
2409
2501
  @property
2410
2502
  @pulumi.getter
2411
2503
  def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]: