pulumi-gcp 8.16.0a1738080576__py3-none-any.whl → 8.17.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 (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,7 @@ class ServiceArgs:
25
25
  template: pulumi.Input['ServiceTemplateArgs'],
26
26
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
27
  binary_authorization: Optional[pulumi.Input['ServiceBinaryAuthorizationArgs']] = None,
28
+ build_config: Optional[pulumi.Input['ServiceBuildConfigArgs']] = None,
28
29
  client: Optional[pulumi.Input[str]] = None,
29
30
  client_version: Optional[pulumi.Input[str]] = None,
30
31
  custom_audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -52,6 +53,7 @@ class ServiceArgs:
52
53
  annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
53
54
  present on the resource.
54
55
  :param pulumi.Input['ServiceBinaryAuthorizationArgs'] binary_authorization: Settings for the Binary Authorization feature.
56
+ :param pulumi.Input['ServiceBuildConfigArgs'] build_config: Configuration for building a Cloud Run function.
55
57
  :param pulumi.Input[str] client: Arbitrary identifier for the API client.
56
58
  :param pulumi.Input[str] client_version: Arbitrary version identifier for the API client.
57
59
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_audiences: One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a
@@ -89,6 +91,8 @@ class ServiceArgs:
89
91
  pulumi.set(__self__, "annotations", annotations)
90
92
  if binary_authorization is not None:
91
93
  pulumi.set(__self__, "binary_authorization", binary_authorization)
94
+ if build_config is not None:
95
+ pulumi.set(__self__, "build_config", build_config)
92
96
  if client is not None:
93
97
  pulumi.set(__self__, "client", client)
94
98
  if client_version is not None:
@@ -173,6 +177,18 @@ class ServiceArgs:
173
177
  def binary_authorization(self, value: Optional[pulumi.Input['ServiceBinaryAuthorizationArgs']]):
174
178
  pulumi.set(self, "binary_authorization", value)
175
179
 
180
+ @property
181
+ @pulumi.getter(name="buildConfig")
182
+ def build_config(self) -> Optional[pulumi.Input['ServiceBuildConfigArgs']]:
183
+ """
184
+ Configuration for building a Cloud Run function.
185
+ """
186
+ return pulumi.get(self, "build_config")
187
+
188
+ @build_config.setter
189
+ def build_config(self, value: Optional[pulumi.Input['ServiceBuildConfigArgs']]):
190
+ pulumi.set(self, "build_config", value)
191
+
176
192
  @property
177
193
  @pulumi.getter
178
194
  def client(self) -> Optional[pulumi.Input[str]]:
@@ -359,6 +375,7 @@ class _ServiceState:
359
375
  def __init__(__self__, *,
360
376
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
361
377
  binary_authorization: Optional[pulumi.Input['ServiceBinaryAuthorizationArgs']] = None,
378
+ build_config: Optional[pulumi.Input['ServiceBuildConfigArgs']] = None,
362
379
  client: Optional[pulumi.Input[str]] = None,
363
380
  client_version: Optional[pulumi.Input[str]] = None,
364
381
  conditions: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceConditionArgs']]]] = None,
@@ -406,6 +423,7 @@ class _ServiceState:
406
423
  annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
407
424
  present on the resource.
408
425
  :param pulumi.Input['ServiceBinaryAuthorizationArgs'] binary_authorization: Settings for the Binary Authorization feature.
426
+ :param pulumi.Input['ServiceBuildConfigArgs'] build_config: Configuration for building a Cloud Run function.
409
427
  :param pulumi.Input[str] client: Arbitrary identifier for the API client.
410
428
  :param pulumi.Input[str] client_version: Arbitrary version identifier for the API client.
411
429
  :param pulumi.Input[Sequence[pulumi.Input['ServiceConditionArgs']]] conditions: The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Service does not reach its Serving state. See comments in reconciling for additional information on reconciliation process in Cloud Run.
@@ -472,6 +490,8 @@ class _ServiceState:
472
490
  pulumi.set(__self__, "annotations", annotations)
473
491
  if binary_authorization is not None:
474
492
  pulumi.set(__self__, "binary_authorization", binary_authorization)
493
+ if build_config is not None:
494
+ pulumi.set(__self__, "build_config", build_config)
475
495
  if client is not None:
476
496
  pulumi.set(__self__, "client", client)
477
497
  if client_version is not None:
@@ -577,6 +597,18 @@ class _ServiceState:
577
597
  def binary_authorization(self, value: Optional[pulumi.Input['ServiceBinaryAuthorizationArgs']]):
578
598
  pulumi.set(self, "binary_authorization", value)
579
599
 
600
+ @property
601
+ @pulumi.getter(name="buildConfig")
602
+ def build_config(self) -> Optional[pulumi.Input['ServiceBuildConfigArgs']]:
603
+ """
604
+ Configuration for building a Cloud Run function.
605
+ """
606
+ return pulumi.get(self, "build_config")
607
+
608
+ @build_config.setter
609
+ def build_config(self, value: Optional[pulumi.Input['ServiceBuildConfigArgs']]):
610
+ pulumi.set(self, "build_config", value)
611
+
580
612
  @property
581
613
  @pulumi.getter
582
614
  def client(self) -> Optional[pulumi.Input[str]]:
@@ -1047,6 +1079,7 @@ class Service(pulumi.CustomResource):
1047
1079
  opts: Optional[pulumi.ResourceOptions] = None,
1048
1080
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1049
1081
  binary_authorization: Optional[pulumi.Input[Union['ServiceBinaryAuthorizationArgs', 'ServiceBinaryAuthorizationArgsDict']]] = None,
1082
+ build_config: Optional[pulumi.Input[Union['ServiceBuildConfigArgs', 'ServiceBuildConfigArgsDict']]] = None,
1050
1083
  client: Optional[pulumi.Input[str]] = None,
1051
1084
  client_version: Optional[pulumi.Input[str]] = None,
1052
1085
  custom_audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1532,6 +1565,62 @@ class Service(pulumi.CustomResource):
1532
1565
  }],
1533
1566
  })
1534
1567
  ```
1568
+ ### Cloudrunv2 Service Function
1569
+
1570
+ ```python
1571
+ import pulumi
1572
+ import pulumi_gcp as gcp
1573
+
1574
+ project = gcp.organizations.get_project()
1575
+ bucket = gcp.storage.Bucket("bucket",
1576
+ name=f"{project.project_id}-gcf-source",
1577
+ location="US",
1578
+ uniform_bucket_level_access=True)
1579
+ object = gcp.storage.BucketObject("object",
1580
+ name="function-source.zip",
1581
+ bucket=bucket.name,
1582
+ source=pulumi.FileAsset("function_source.zip"))
1583
+ cloudbuild_service_account = gcp.serviceaccount.Account("cloudbuild_service_account", account_id="build-sa")
1584
+ act_as = gcp.projects.IAMMember("act_as",
1585
+ project=project.project_id,
1586
+ role="roles/iam.serviceAccountUser",
1587
+ member=cloudbuild_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
1588
+ logs_writer = gcp.projects.IAMMember("logs_writer",
1589
+ project=project.project_id,
1590
+ role="roles/logging.logWriter",
1591
+ member=cloudbuild_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
1592
+ default = gcp.cloudrunv2.Service("default",
1593
+ name="cloudrun-service",
1594
+ location="us-central1",
1595
+ deletion_protection=False,
1596
+ ingress="INGRESS_TRAFFIC_ALL",
1597
+ template={
1598
+ "containers": [{
1599
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
1600
+ }],
1601
+ },
1602
+ build_config={
1603
+ "source_location": pulumi.Output.all(
1604
+ bucketName=bucket.name,
1605
+ objectName=object.name
1606
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
1607
+ ,
1608
+ "function_target": "helloHttp",
1609
+ "image_uri": "us-docker.pkg.dev/cloudrun/container/hello",
1610
+ "base_image": "us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22",
1611
+ "enable_automatic_updates": True,
1612
+ "worker_pool": "worker-pool",
1613
+ "environment_variables": {
1614
+ "FOO_KEY": "FOO_VALUE",
1615
+ "BAR_KEY": "BAR_VALUE",
1616
+ },
1617
+ "service_account": cloudbuild_service_account.id,
1618
+ },
1619
+ opts = pulumi.ResourceOptions(depends_on=[
1620
+ act_as,
1621
+ logs_writer,
1622
+ ]))
1623
+ ```
1535
1624
 
1536
1625
  ## Import
1537
1626
 
@@ -1567,6 +1656,7 @@ class Service(pulumi.CustomResource):
1567
1656
  annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
1568
1657
  present on the resource.
1569
1658
  :param pulumi.Input[Union['ServiceBinaryAuthorizationArgs', 'ServiceBinaryAuthorizationArgsDict']] binary_authorization: Settings for the Binary Authorization feature.
1659
+ :param pulumi.Input[Union['ServiceBuildConfigArgs', 'ServiceBuildConfigArgsDict']] build_config: Configuration for building a Cloud Run function.
1570
1660
  :param pulumi.Input[str] client: Arbitrary identifier for the API client.
1571
1661
  :param pulumi.Input[str] client_version: Arbitrary version identifier for the API client.
1572
1662
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_audiences: One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a
@@ -2075,6 +2165,62 @@ class Service(pulumi.CustomResource):
2075
2165
  }],
2076
2166
  })
2077
2167
  ```
2168
+ ### Cloudrunv2 Service Function
2169
+
2170
+ ```python
2171
+ import pulumi
2172
+ import pulumi_gcp as gcp
2173
+
2174
+ project = gcp.organizations.get_project()
2175
+ bucket = gcp.storage.Bucket("bucket",
2176
+ name=f"{project.project_id}-gcf-source",
2177
+ location="US",
2178
+ uniform_bucket_level_access=True)
2179
+ object = gcp.storage.BucketObject("object",
2180
+ name="function-source.zip",
2181
+ bucket=bucket.name,
2182
+ source=pulumi.FileAsset("function_source.zip"))
2183
+ cloudbuild_service_account = gcp.serviceaccount.Account("cloudbuild_service_account", account_id="build-sa")
2184
+ act_as = gcp.projects.IAMMember("act_as",
2185
+ project=project.project_id,
2186
+ role="roles/iam.serviceAccountUser",
2187
+ member=cloudbuild_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
2188
+ logs_writer = gcp.projects.IAMMember("logs_writer",
2189
+ project=project.project_id,
2190
+ role="roles/logging.logWriter",
2191
+ member=cloudbuild_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
2192
+ default = gcp.cloudrunv2.Service("default",
2193
+ name="cloudrun-service",
2194
+ location="us-central1",
2195
+ deletion_protection=False,
2196
+ ingress="INGRESS_TRAFFIC_ALL",
2197
+ template={
2198
+ "containers": [{
2199
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
2200
+ }],
2201
+ },
2202
+ build_config={
2203
+ "source_location": pulumi.Output.all(
2204
+ bucketName=bucket.name,
2205
+ objectName=object.name
2206
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['objectName']}")
2207
+ ,
2208
+ "function_target": "helloHttp",
2209
+ "image_uri": "us-docker.pkg.dev/cloudrun/container/hello",
2210
+ "base_image": "us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22",
2211
+ "enable_automatic_updates": True,
2212
+ "worker_pool": "worker-pool",
2213
+ "environment_variables": {
2214
+ "FOO_KEY": "FOO_VALUE",
2215
+ "BAR_KEY": "BAR_VALUE",
2216
+ },
2217
+ "service_account": cloudbuild_service_account.id,
2218
+ },
2219
+ opts = pulumi.ResourceOptions(depends_on=[
2220
+ act_as,
2221
+ logs_writer,
2222
+ ]))
2223
+ ```
2078
2224
 
2079
2225
  ## Import
2080
2226
 
@@ -2117,6 +2263,7 @@ class Service(pulumi.CustomResource):
2117
2263
  opts: Optional[pulumi.ResourceOptions] = None,
2118
2264
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
2119
2265
  binary_authorization: Optional[pulumi.Input[Union['ServiceBinaryAuthorizationArgs', 'ServiceBinaryAuthorizationArgsDict']]] = None,
2266
+ build_config: Optional[pulumi.Input[Union['ServiceBuildConfigArgs', 'ServiceBuildConfigArgsDict']]] = None,
2120
2267
  client: Optional[pulumi.Input[str]] = None,
2121
2268
  client_version: Optional[pulumi.Input[str]] = None,
2122
2269
  custom_audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -2144,6 +2291,7 @@ class Service(pulumi.CustomResource):
2144
2291
 
2145
2292
  __props__.__dict__["annotations"] = annotations
2146
2293
  __props__.__dict__["binary_authorization"] = binary_authorization
2294
+ __props__.__dict__["build_config"] = build_config
2147
2295
  __props__.__dict__["client"] = client
2148
2296
  __props__.__dict__["client_version"] = client_version
2149
2297
  __props__.__dict__["custom_audiences"] = custom_audiences
@@ -2199,6 +2347,7 @@ class Service(pulumi.CustomResource):
2199
2347
  opts: Optional[pulumi.ResourceOptions] = None,
2200
2348
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
2201
2349
  binary_authorization: Optional[pulumi.Input[Union['ServiceBinaryAuthorizationArgs', 'ServiceBinaryAuthorizationArgsDict']]] = None,
2350
+ build_config: Optional[pulumi.Input[Union['ServiceBuildConfigArgs', 'ServiceBuildConfigArgsDict']]] = None,
2202
2351
  client: Optional[pulumi.Input[str]] = None,
2203
2352
  client_version: Optional[pulumi.Input[str]] = None,
2204
2353
  conditions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServiceConditionArgs', 'ServiceConditionArgsDict']]]]] = None,
@@ -2251,6 +2400,7 @@ class Service(pulumi.CustomResource):
2251
2400
  annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
2252
2401
  present on the resource.
2253
2402
  :param pulumi.Input[Union['ServiceBinaryAuthorizationArgs', 'ServiceBinaryAuthorizationArgsDict']] binary_authorization: Settings for the Binary Authorization feature.
2403
+ :param pulumi.Input[Union['ServiceBuildConfigArgs', 'ServiceBuildConfigArgsDict']] build_config: Configuration for building a Cloud Run function.
2254
2404
  :param pulumi.Input[str] client: Arbitrary identifier for the API client.
2255
2405
  :param pulumi.Input[str] client_version: Arbitrary version identifier for the API client.
2256
2406
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServiceConditionArgs', 'ServiceConditionArgsDict']]]] conditions: The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Service does not reach its Serving state. See comments in reconciling for additional information on reconciliation process in Cloud Run.
@@ -2319,6 +2469,7 @@ class Service(pulumi.CustomResource):
2319
2469
 
2320
2470
  __props__.__dict__["annotations"] = annotations
2321
2471
  __props__.__dict__["binary_authorization"] = binary_authorization
2472
+ __props__.__dict__["build_config"] = build_config
2322
2473
  __props__.__dict__["client"] = client
2323
2474
  __props__.__dict__["client_version"] = client_version
2324
2475
  __props__.__dict__["conditions"] = conditions
@@ -2380,6 +2531,14 @@ class Service(pulumi.CustomResource):
2380
2531
  """
2381
2532
  return pulumi.get(self, "binary_authorization")
2382
2533
 
2534
+ @property
2535
+ @pulumi.getter(name="buildConfig")
2536
+ def build_config(self) -> pulumi.Output[Optional['outputs.ServiceBuildConfig']]:
2537
+ """
2538
+ Configuration for building a Cloud Run function.
2539
+ """
2540
+ return pulumi.get(self, "build_config")
2541
+
2383
2542
  @property
2384
2543
  @pulumi.getter
2385
2544
  def client(self) -> pulumi.Output[Optional[str]]:
@@ -5,6 +5,11 @@
5
5
  from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .get_runtime_template_iam_policy import *
9
+ from .runtime import *
8
10
  from .runtime_template import *
11
+ from .runtime_template_iam_binding import *
12
+ from .runtime_template_iam_member import *
13
+ from .runtime_template_iam_policy import *
9
14
  from ._inputs import *
10
15
  from . import outputs
@@ -15,12 +15,18 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'RuntimeNotebookRuntimeTemplateRefArgs',
19
+ 'RuntimeNotebookRuntimeTemplateRefArgsDict',
18
20
  'RuntimeTemplateDataPersistentDiskSpecArgs',
19
21
  'RuntimeTemplateDataPersistentDiskSpecArgsDict',
20
22
  'RuntimeTemplateEncryptionSpecArgs',
21
23
  'RuntimeTemplateEncryptionSpecArgsDict',
22
24
  'RuntimeTemplateEucConfigArgs',
23
25
  'RuntimeTemplateEucConfigArgsDict',
26
+ 'RuntimeTemplateIamBindingConditionArgs',
27
+ 'RuntimeTemplateIamBindingConditionArgsDict',
28
+ 'RuntimeTemplateIamMemberConditionArgs',
29
+ 'RuntimeTemplateIamMemberConditionArgsDict',
24
30
  'RuntimeTemplateIdleShutdownConfigArgs',
25
31
  'RuntimeTemplateIdleShutdownConfigArgsDict',
26
32
  'RuntimeTemplateMachineSpecArgs',
@@ -33,6 +39,37 @@ __all__ = [
33
39
 
34
40
  MYPY = False
35
41
 
42
+ if not MYPY:
43
+ class RuntimeNotebookRuntimeTemplateRefArgsDict(TypedDict):
44
+ notebook_runtime_template: pulumi.Input[str]
45
+ """
46
+ The resource name of the NotebookRuntimeTemplate based on which a NotebookRuntime will be created.
47
+ """
48
+ elif False:
49
+ RuntimeNotebookRuntimeTemplateRefArgsDict: TypeAlias = Mapping[str, Any]
50
+
51
+ @pulumi.input_type
52
+ class RuntimeNotebookRuntimeTemplateRefArgs:
53
+ def __init__(__self__, *,
54
+ notebook_runtime_template: pulumi.Input[str]):
55
+ """
56
+ :param pulumi.Input[str] notebook_runtime_template: The resource name of the NotebookRuntimeTemplate based on which a NotebookRuntime will be created.
57
+ """
58
+ pulumi.set(__self__, "notebook_runtime_template", notebook_runtime_template)
59
+
60
+ @property
61
+ @pulumi.getter(name="notebookRuntimeTemplate")
62
+ def notebook_runtime_template(self) -> pulumi.Input[str]:
63
+ """
64
+ The resource name of the NotebookRuntimeTemplate based on which a NotebookRuntime will be created.
65
+ """
66
+ return pulumi.get(self, "notebook_runtime_template")
67
+
68
+ @notebook_runtime_template.setter
69
+ def notebook_runtime_template(self, value: pulumi.Input[str]):
70
+ pulumi.set(self, "notebook_runtime_template", value)
71
+
72
+
36
73
  if not MYPY:
37
74
  class RuntimeTemplateDataPersistentDiskSpecArgsDict(TypedDict):
38
75
  disk_size_gb: NotRequired[pulumi.Input[str]]
@@ -149,6 +186,100 @@ class RuntimeTemplateEucConfigArgs:
149
186
  pulumi.set(self, "euc_disabled", value)
150
187
 
151
188
 
189
+ if not MYPY:
190
+ class RuntimeTemplateIamBindingConditionArgsDict(TypedDict):
191
+ expression: pulumi.Input[str]
192
+ title: pulumi.Input[str]
193
+ description: NotRequired[pulumi.Input[str]]
194
+ elif False:
195
+ RuntimeTemplateIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
196
+
197
+ @pulumi.input_type
198
+ class RuntimeTemplateIamBindingConditionArgs:
199
+ def __init__(__self__, *,
200
+ expression: pulumi.Input[str],
201
+ title: pulumi.Input[str],
202
+ description: Optional[pulumi.Input[str]] = None):
203
+ pulumi.set(__self__, "expression", expression)
204
+ pulumi.set(__self__, "title", title)
205
+ if description is not None:
206
+ pulumi.set(__self__, "description", description)
207
+
208
+ @property
209
+ @pulumi.getter
210
+ def expression(self) -> pulumi.Input[str]:
211
+ return pulumi.get(self, "expression")
212
+
213
+ @expression.setter
214
+ def expression(self, value: pulumi.Input[str]):
215
+ pulumi.set(self, "expression", value)
216
+
217
+ @property
218
+ @pulumi.getter
219
+ def title(self) -> pulumi.Input[str]:
220
+ return pulumi.get(self, "title")
221
+
222
+ @title.setter
223
+ def title(self, value: pulumi.Input[str]):
224
+ pulumi.set(self, "title", value)
225
+
226
+ @property
227
+ @pulumi.getter
228
+ def description(self) -> Optional[pulumi.Input[str]]:
229
+ return pulumi.get(self, "description")
230
+
231
+ @description.setter
232
+ def description(self, value: Optional[pulumi.Input[str]]):
233
+ pulumi.set(self, "description", value)
234
+
235
+
236
+ if not MYPY:
237
+ class RuntimeTemplateIamMemberConditionArgsDict(TypedDict):
238
+ expression: pulumi.Input[str]
239
+ title: pulumi.Input[str]
240
+ description: NotRequired[pulumi.Input[str]]
241
+ elif False:
242
+ RuntimeTemplateIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
243
+
244
+ @pulumi.input_type
245
+ class RuntimeTemplateIamMemberConditionArgs:
246
+ def __init__(__self__, *,
247
+ expression: pulumi.Input[str],
248
+ title: pulumi.Input[str],
249
+ description: Optional[pulumi.Input[str]] = None):
250
+ pulumi.set(__self__, "expression", expression)
251
+ pulumi.set(__self__, "title", title)
252
+ if description is not None:
253
+ pulumi.set(__self__, "description", description)
254
+
255
+ @property
256
+ @pulumi.getter
257
+ def expression(self) -> pulumi.Input[str]:
258
+ return pulumi.get(self, "expression")
259
+
260
+ @expression.setter
261
+ def expression(self, value: pulumi.Input[str]):
262
+ pulumi.set(self, "expression", value)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def title(self) -> pulumi.Input[str]:
267
+ return pulumi.get(self, "title")
268
+
269
+ @title.setter
270
+ def title(self, value: pulumi.Input[str]):
271
+ pulumi.set(self, "title", value)
272
+
273
+ @property
274
+ @pulumi.getter
275
+ def description(self) -> Optional[pulumi.Input[str]]:
276
+ return pulumi.get(self, "description")
277
+
278
+ @description.setter
279
+ def description(self, value: Optional[pulumi.Input[str]]):
280
+ pulumi.set(self, "description", value)
281
+
282
+
152
283
  if not MYPY:
153
284
  class RuntimeTemplateIdleShutdownConfigArgsDict(TypedDict):
154
285
  idle_timeout: NotRequired[pulumi.Input[str]]
@@ -0,0 +1,182 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'GetRuntimeTemplateIamPolicyResult',
19
+ 'AwaitableGetRuntimeTemplateIamPolicyResult',
20
+ 'get_runtime_template_iam_policy',
21
+ 'get_runtime_template_iam_policy_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetRuntimeTemplateIamPolicyResult:
26
+ """
27
+ A collection of values returned by getRuntimeTemplateIamPolicy.
28
+ """
29
+ def __init__(__self__, etag=None, id=None, location=None, policy_data=None, project=None, runtime_template=None):
30
+ if etag and not isinstance(etag, str):
31
+ raise TypeError("Expected argument 'etag' to be a str")
32
+ pulumi.set(__self__, "etag", etag)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if location and not isinstance(location, str):
37
+ raise TypeError("Expected argument 'location' to be a str")
38
+ pulumi.set(__self__, "location", location)
39
+ if policy_data and not isinstance(policy_data, str):
40
+ raise TypeError("Expected argument 'policy_data' to be a str")
41
+ pulumi.set(__self__, "policy_data", policy_data)
42
+ if project and not isinstance(project, str):
43
+ raise TypeError("Expected argument 'project' to be a str")
44
+ pulumi.set(__self__, "project", project)
45
+ if runtime_template and not isinstance(runtime_template, str):
46
+ raise TypeError("Expected argument 'runtime_template' to be a str")
47
+ pulumi.set(__self__, "runtime_template", runtime_template)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def etag(self) -> str:
52
+ """
53
+ (Computed) The etag of the IAM policy.
54
+ """
55
+ return pulumi.get(self, "etag")
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def id(self) -> str:
60
+ """
61
+ The provider-assigned unique ID for this managed resource.
62
+ """
63
+ return pulumi.get(self, "id")
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def location(self) -> str:
68
+ return pulumi.get(self, "location")
69
+
70
+ @property
71
+ @pulumi.getter(name="policyData")
72
+ def policy_data(self) -> str:
73
+ """
74
+ (Required only by `colab.RuntimeTemplateIamPolicy`) The policy data generated by
75
+ a `organizations_get_iam_policy` data source.
76
+ """
77
+ return pulumi.get(self, "policy_data")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def project(self) -> str:
82
+ return pulumi.get(self, "project")
83
+
84
+ @property
85
+ @pulumi.getter(name="runtimeTemplate")
86
+ def runtime_template(self) -> str:
87
+ return pulumi.get(self, "runtime_template")
88
+
89
+
90
+ class AwaitableGetRuntimeTemplateIamPolicyResult(GetRuntimeTemplateIamPolicyResult):
91
+ # pylint: disable=using-constant-test
92
+ def __await__(self):
93
+ if False:
94
+ yield self
95
+ return GetRuntimeTemplateIamPolicyResult(
96
+ etag=self.etag,
97
+ id=self.id,
98
+ location=self.location,
99
+ policy_data=self.policy_data,
100
+ project=self.project,
101
+ runtime_template=self.runtime_template)
102
+
103
+
104
+ def get_runtime_template_iam_policy(location: Optional[str] = None,
105
+ project: Optional[str] = None,
106
+ runtime_template: Optional[str] = None,
107
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRuntimeTemplateIamPolicyResult:
108
+ """
109
+ Retrieves the current IAM policy data for runtimetemplate
110
+
111
+ ## example
112
+
113
+ ```python
114
+ import pulumi
115
+ import pulumi_gcp as gcp
116
+
117
+ policy = gcp.colab.get_runtime_template_iam_policy(project=runtime_template["project"],
118
+ location=runtime_template["location"],
119
+ runtime_template=runtime_template["name"])
120
+ ```
121
+
122
+
123
+ :param str location: The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
124
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
125
+ location is specified, it is taken from the provider configuration.
126
+ :param str project: The ID of the project in which the resource belongs.
127
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
128
+ :param str runtime_template: Used to find the parent resource to bind the IAM policy to
129
+ """
130
+ __args__ = dict()
131
+ __args__['location'] = location
132
+ __args__['project'] = project
133
+ __args__['runtimeTemplate'] = runtime_template
134
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
135
+ __ret__ = pulumi.runtime.invoke('gcp:colab/getRuntimeTemplateIamPolicy:getRuntimeTemplateIamPolicy', __args__, opts=opts, typ=GetRuntimeTemplateIamPolicyResult).value
136
+
137
+ return AwaitableGetRuntimeTemplateIamPolicyResult(
138
+ etag=pulumi.get(__ret__, 'etag'),
139
+ id=pulumi.get(__ret__, 'id'),
140
+ location=pulumi.get(__ret__, 'location'),
141
+ policy_data=pulumi.get(__ret__, 'policy_data'),
142
+ project=pulumi.get(__ret__, 'project'),
143
+ runtime_template=pulumi.get(__ret__, 'runtime_template'))
144
+ def get_runtime_template_iam_policy_output(location: Optional[pulumi.Input[Optional[str]]] = None,
145
+ project: Optional[pulumi.Input[Optional[str]]] = None,
146
+ runtime_template: Optional[pulumi.Input[str]] = None,
147
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRuntimeTemplateIamPolicyResult]:
148
+ """
149
+ Retrieves the current IAM policy data for runtimetemplate
150
+
151
+ ## example
152
+
153
+ ```python
154
+ import pulumi
155
+ import pulumi_gcp as gcp
156
+
157
+ policy = gcp.colab.get_runtime_template_iam_policy(project=runtime_template["project"],
158
+ location=runtime_template["location"],
159
+ runtime_template=runtime_template["name"])
160
+ ```
161
+
162
+
163
+ :param str location: The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
164
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
165
+ location is specified, it is taken from the provider configuration.
166
+ :param str project: The ID of the project in which the resource belongs.
167
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
168
+ :param str runtime_template: Used to find the parent resource to bind the IAM policy to
169
+ """
170
+ __args__ = dict()
171
+ __args__['location'] = location
172
+ __args__['project'] = project
173
+ __args__['runtimeTemplate'] = runtime_template
174
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
175
+ __ret__ = pulumi.runtime.invoke_output('gcp:colab/getRuntimeTemplateIamPolicy:getRuntimeTemplateIamPolicy', __args__, opts=opts, typ=GetRuntimeTemplateIamPolicyResult)
176
+ return __ret__.apply(lambda __response__: GetRuntimeTemplateIamPolicyResult(
177
+ etag=pulumi.get(__response__, 'etag'),
178
+ id=pulumi.get(__response__, 'id'),
179
+ location=pulumi.get(__response__, 'location'),
180
+ policy_data=pulumi.get(__response__, 'policy_data'),
181
+ project=pulumi.get(__response__, 'project'),
182
+ runtime_template=pulumi.get(__response__, 'runtime_template')))