pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.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 (137) hide show
  1. pulumi_gcp/__init__.py +115 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  3. pulumi_gcp/alloydb/cluster.py +75 -7
  4. pulumi_gcp/alloydb/user.py +10 -1
  5. pulumi_gcp/apigee/_inputs.py +91 -0
  6. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  7. pulumi_gcp/apigee/environment.py +54 -0
  8. pulumi_gcp/apigee/outputs.py +54 -0
  9. pulumi_gcp/apihub/__init__.py +10 -0
  10. pulumi_gcp/apihub/_inputs.py +154 -0
  11. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  12. pulumi_gcp/apihub/outputs.py +124 -0
  13. pulumi_gcp/assuredworkloads/workload.py +7 -7
  14. pulumi_gcp/beyondcorp/__init__.py +4 -0
  15. pulumi_gcp/beyondcorp/_inputs.py +130 -0
  16. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  17. pulumi_gcp/beyondcorp/outputs.py +76 -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/chronicle/__init__.py +1 -0
  27. pulumi_gcp/chronicle/_inputs.py +124 -0
  28. pulumi_gcp/chronicle/outputs.py +112 -0
  29. pulumi_gcp/chronicle/retrohunt.py +629 -0
  30. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  31. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  32. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  33. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  34. pulumi_gcp/cloudrunv2/service.py +159 -0
  35. pulumi_gcp/colab/__init__.py +5 -0
  36. pulumi_gcp/colab/_inputs.py +131 -0
  37. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  38. pulumi_gcp/colab/outputs.py +92 -0
  39. pulumi_gcp/colab/runtime.py +696 -0
  40. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  41. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  42. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  43. pulumi_gcp/compute/__init__.py +4 -0
  44. pulumi_gcp/compute/_inputs.py +535 -9
  45. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  46. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  47. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  48. pulumi_gcp/compute/get_network.py +3 -3
  49. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  50. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  51. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  52. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  53. pulumi_gcp/compute/network.py +7 -7
  54. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  55. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  56. pulumi_gcp/compute/outputs.py +358 -6
  57. pulumi_gcp/compute/project_metadata_item.py +12 -0
  58. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  59. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  60. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  61. pulumi_gcp/compute/router_peer.py +227 -3
  62. pulumi_gcp/config/__init__.pyi +2 -0
  63. pulumi_gcp/config/vars.py +4 -0
  64. pulumi_gcp/container/_inputs.py +79 -20
  65. pulumi_gcp/container/outputs.py +75 -12
  66. pulumi_gcp/dataproc/_inputs.py +34 -0
  67. pulumi_gcp/dataproc/outputs.py +37 -0
  68. pulumi_gcp/dataproc/workflow_template.py +47 -0
  69. pulumi_gcp/filestore/get_instance.py +12 -1
  70. pulumi_gcp/filestore/instance.py +75 -0
  71. pulumi_gcp/firestore/field.py +60 -0
  72. pulumi_gcp/gemini/code_repository_index.py +29 -33
  73. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  74. pulumi_gcp/gemini/repository_group.py +76 -26
  75. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  76. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  77. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  78. pulumi_gcp/gkehub/_inputs.py +20 -0
  79. pulumi_gcp/gkehub/membership_binding.py +6 -6
  80. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  81. pulumi_gcp/gkehub/namespace.py +4 -4
  82. pulumi_gcp/gkehub/outputs.py +26 -1
  83. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  84. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  85. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  86. pulumi_gcp/kms/__init__.py +1 -0
  87. pulumi_gcp/kms/get_key_handles.py +172 -0
  88. pulumi_gcp/kms/outputs.py +45 -0
  89. pulumi_gcp/netapp/storage_pool.py +1 -1
  90. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  91. pulumi_gcp/networksecurity/_inputs.py +72 -0
  92. pulumi_gcp/networksecurity/outputs.py +76 -0
  93. pulumi_gcp/networksecurity/security_profile.py +233 -7
  94. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  95. pulumi_gcp/organizations/__init__.py +1 -0
  96. pulumi_gcp/organizations/get_s.py +128 -0
  97. pulumi_gcp/organizations/outputs.py +63 -0
  98. pulumi_gcp/orgpolicy/policy.py +2 -2
  99. pulumi_gcp/parametermanager/__init__.py +6 -0
  100. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  101. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  102. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  103. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  104. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  105. pulumi_gcp/parametermanager/outputs.py +366 -0
  106. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  107. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  108. pulumi_gcp/provider.py +20 -0
  109. pulumi_gcp/pubsub/_inputs.py +477 -1
  110. pulumi_gcp/pubsub/outputs.py +631 -2
  111. pulumi_gcp/pubsub/subscription.py +6 -6
  112. pulumi_gcp/pubsub/topic.py +112 -0
  113. pulumi_gcp/pulumi-plugin.json +1 -1
  114. pulumi_gcp/redis/__init__.py +1 -0
  115. pulumi_gcp/redis/_inputs.py +342 -6
  116. pulumi_gcp/redis/cluster.py +223 -102
  117. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  118. pulumi_gcp/redis/outputs.py +268 -4
  119. pulumi_gcp/resourcemanager/lien.py +12 -0
  120. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  121. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  122. pulumi_gcp/secretmanager/secret.py +4 -0
  123. pulumi_gcp/secretmanager/secret_version.py +12 -0
  124. pulumi_gcp/securityposture/posture.py +4 -0
  125. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  126. pulumi_gcp/serviceaccount/get_s.py +98 -8
  127. pulumi_gcp/spanner/_inputs.py +68 -0
  128. pulumi_gcp/spanner/backup_schedule.py +70 -4
  129. pulumi_gcp/spanner/outputs.py +60 -0
  130. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  131. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  132. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  133. pulumi_gcp/workflows/workflow.py +175 -0
  134. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/METADATA +1 -1
  135. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/RECORD +137 -110
  136. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/WHEEL +0 -0
  137. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/top_level.txt +0 -0
@@ -41,6 +41,7 @@ __all__ = [
41
41
  'JobTemplateTemplateVpcAccessNetworkInterface',
42
42
  'JobTerminalCondition',
43
43
  'ServiceBinaryAuthorization',
44
+ 'ServiceBuildConfig',
44
45
  'ServiceCondition',
45
46
  'ServiceIamBindingCondition',
46
47
  'ServiceIamMemberCondition',
@@ -101,6 +102,7 @@ __all__ = [
101
102
  'GetJobTemplateTemplateVpcAccessNetworkInterfaceResult',
102
103
  'GetJobTerminalConditionResult',
103
104
  'GetServiceBinaryAuthorizationResult',
105
+ 'GetServiceBuildConfigResult',
104
106
  'GetServiceConditionResult',
105
107
  'GetServiceScalingResult',
106
108
  'GetServiceTemplateResult',
@@ -1812,6 +1814,154 @@ class ServiceBinaryAuthorization(dict):
1812
1814
  return pulumi.get(self, "use_default")
1813
1815
 
1814
1816
 
1817
+ @pulumi.output_type
1818
+ class ServiceBuildConfig(dict):
1819
+ @staticmethod
1820
+ def __key_warning(key: str):
1821
+ suggest = None
1822
+ if key == "baseImage":
1823
+ suggest = "base_image"
1824
+ elif key == "enableAutomaticUpdates":
1825
+ suggest = "enable_automatic_updates"
1826
+ elif key == "environmentVariables":
1827
+ suggest = "environment_variables"
1828
+ elif key == "functionTarget":
1829
+ suggest = "function_target"
1830
+ elif key == "imageUri":
1831
+ suggest = "image_uri"
1832
+ elif key == "serviceAccount":
1833
+ suggest = "service_account"
1834
+ elif key == "sourceLocation":
1835
+ suggest = "source_location"
1836
+ elif key == "workerPool":
1837
+ suggest = "worker_pool"
1838
+
1839
+ if suggest:
1840
+ pulumi.log.warn(f"Key '{key}' not found in ServiceBuildConfig. Access the value via the '{suggest}' property getter instead.")
1841
+
1842
+ def __getitem__(self, key: str) -> Any:
1843
+ ServiceBuildConfig.__key_warning(key)
1844
+ return super().__getitem__(key)
1845
+
1846
+ def get(self, key: str, default = None) -> Any:
1847
+ ServiceBuildConfig.__key_warning(key)
1848
+ return super().get(key, default)
1849
+
1850
+ def __init__(__self__, *,
1851
+ base_image: Optional[str] = None,
1852
+ enable_automatic_updates: Optional[bool] = None,
1853
+ environment_variables: Optional[Mapping[str, str]] = None,
1854
+ function_target: Optional[str] = None,
1855
+ image_uri: Optional[str] = None,
1856
+ name: Optional[str] = None,
1857
+ service_account: Optional[str] = None,
1858
+ source_location: Optional[str] = None,
1859
+ worker_pool: Optional[str] = None):
1860
+ """
1861
+ :param str base_image: The base image used to build the function.
1862
+ :param bool enable_automatic_updates: Sets whether the function will receive automatic base image updates.
1863
+ :param Mapping[str, str] environment_variables: User-provided build-time environment variables for the function.
1864
+ :param str function_target: The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function".
1865
+ :param str image_uri: Artifact Registry URI to store the built image.
1866
+ :param str name: (Output)
1867
+ The Cloud Build name of the latest successful deployment of the function.
1868
+ :param str service_account: Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`.
1869
+ :param str source_location: The Cloud Storage bucket URI where the function source code is located.
1870
+ :param str worker_pool: Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool.
1871
+ """
1872
+ if base_image is not None:
1873
+ pulumi.set(__self__, "base_image", base_image)
1874
+ if enable_automatic_updates is not None:
1875
+ pulumi.set(__self__, "enable_automatic_updates", enable_automatic_updates)
1876
+ if environment_variables is not None:
1877
+ pulumi.set(__self__, "environment_variables", environment_variables)
1878
+ if function_target is not None:
1879
+ pulumi.set(__self__, "function_target", function_target)
1880
+ if image_uri is not None:
1881
+ pulumi.set(__self__, "image_uri", image_uri)
1882
+ if name is not None:
1883
+ pulumi.set(__self__, "name", name)
1884
+ if service_account is not None:
1885
+ pulumi.set(__self__, "service_account", service_account)
1886
+ if source_location is not None:
1887
+ pulumi.set(__self__, "source_location", source_location)
1888
+ if worker_pool is not None:
1889
+ pulumi.set(__self__, "worker_pool", worker_pool)
1890
+
1891
+ @property
1892
+ @pulumi.getter(name="baseImage")
1893
+ def base_image(self) -> Optional[str]:
1894
+ """
1895
+ The base image used to build the function.
1896
+ """
1897
+ return pulumi.get(self, "base_image")
1898
+
1899
+ @property
1900
+ @pulumi.getter(name="enableAutomaticUpdates")
1901
+ def enable_automatic_updates(self) -> Optional[bool]:
1902
+ """
1903
+ Sets whether the function will receive automatic base image updates.
1904
+ """
1905
+ return pulumi.get(self, "enable_automatic_updates")
1906
+
1907
+ @property
1908
+ @pulumi.getter(name="environmentVariables")
1909
+ def environment_variables(self) -> Optional[Mapping[str, str]]:
1910
+ """
1911
+ User-provided build-time environment variables for the function.
1912
+ """
1913
+ return pulumi.get(self, "environment_variables")
1914
+
1915
+ @property
1916
+ @pulumi.getter(name="functionTarget")
1917
+ def function_target(self) -> Optional[str]:
1918
+ """
1919
+ The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function".
1920
+ """
1921
+ return pulumi.get(self, "function_target")
1922
+
1923
+ @property
1924
+ @pulumi.getter(name="imageUri")
1925
+ def image_uri(self) -> Optional[str]:
1926
+ """
1927
+ Artifact Registry URI to store the built image.
1928
+ """
1929
+ return pulumi.get(self, "image_uri")
1930
+
1931
+ @property
1932
+ @pulumi.getter
1933
+ def name(self) -> Optional[str]:
1934
+ """
1935
+ (Output)
1936
+ The Cloud Build name of the latest successful deployment of the function.
1937
+ """
1938
+ return pulumi.get(self, "name")
1939
+
1940
+ @property
1941
+ @pulumi.getter(name="serviceAccount")
1942
+ def service_account(self) -> Optional[str]:
1943
+ """
1944
+ Service account to be used for building the container. The format of this field is `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`.
1945
+ """
1946
+ return pulumi.get(self, "service_account")
1947
+
1948
+ @property
1949
+ @pulumi.getter(name="sourceLocation")
1950
+ def source_location(self) -> Optional[str]:
1951
+ """
1952
+ The Cloud Storage bucket URI where the function source code is located.
1953
+ """
1954
+ return pulumi.get(self, "source_location")
1955
+
1956
+ @property
1957
+ @pulumi.getter(name="workerPool")
1958
+ def worker_pool(self) -> Optional[str]:
1959
+ """
1960
+ Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool.
1961
+ """
1962
+ return pulumi.get(self, "worker_pool")
1963
+
1964
+
1815
1965
  @pulumi.output_type
1816
1966
  class ServiceCondition(dict):
1817
1967
  @staticmethod
@@ -5355,6 +5505,112 @@ class GetServiceBinaryAuthorizationResult(dict):
5355
5505
  return pulumi.get(self, "use_default")
5356
5506
 
5357
5507
 
5508
+ @pulumi.output_type
5509
+ class GetServiceBuildConfigResult(dict):
5510
+ def __init__(__self__, *,
5511
+ base_image: str,
5512
+ enable_automatic_updates: bool,
5513
+ environment_variables: Mapping[str, str],
5514
+ function_target: str,
5515
+ image_uri: str,
5516
+ name: str,
5517
+ service_account: str,
5518
+ source_location: str,
5519
+ worker_pool: str):
5520
+ """
5521
+ :param str base_image: The base image used to build the function.
5522
+ :param bool enable_automatic_updates: Sets whether the function will receive automatic base image updates.
5523
+ :param Mapping[str, str] environment_variables: User-provided build-time environment variables for the function.
5524
+ :param str function_target: The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function".
5525
+ :param str image_uri: Artifact Registry URI to store the built image.
5526
+ :param str name: The name of the Cloud Run v2 Service.
5527
+ :param str service_account: Service account to be used for building the container. The format of this field is 'projects/{projectId}/serviceAccounts/{serviceAccountEmail}'.
5528
+ :param str source_location: The Cloud Storage bucket URI where the function source code is located.
5529
+ :param str worker_pool: Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is 'projects/{project}/locations/{region}/workerPools/{workerPool}' where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool.
5530
+ """
5531
+ pulumi.set(__self__, "base_image", base_image)
5532
+ pulumi.set(__self__, "enable_automatic_updates", enable_automatic_updates)
5533
+ pulumi.set(__self__, "environment_variables", environment_variables)
5534
+ pulumi.set(__self__, "function_target", function_target)
5535
+ pulumi.set(__self__, "image_uri", image_uri)
5536
+ pulumi.set(__self__, "name", name)
5537
+ pulumi.set(__self__, "service_account", service_account)
5538
+ pulumi.set(__self__, "source_location", source_location)
5539
+ pulumi.set(__self__, "worker_pool", worker_pool)
5540
+
5541
+ @property
5542
+ @pulumi.getter(name="baseImage")
5543
+ def base_image(self) -> str:
5544
+ """
5545
+ The base image used to build the function.
5546
+ """
5547
+ return pulumi.get(self, "base_image")
5548
+
5549
+ @property
5550
+ @pulumi.getter(name="enableAutomaticUpdates")
5551
+ def enable_automatic_updates(self) -> bool:
5552
+ """
5553
+ Sets whether the function will receive automatic base image updates.
5554
+ """
5555
+ return pulumi.get(self, "enable_automatic_updates")
5556
+
5557
+ @property
5558
+ @pulumi.getter(name="environmentVariables")
5559
+ def environment_variables(self) -> Mapping[str, str]:
5560
+ """
5561
+ User-provided build-time environment variables for the function.
5562
+ """
5563
+ return pulumi.get(self, "environment_variables")
5564
+
5565
+ @property
5566
+ @pulumi.getter(name="functionTarget")
5567
+ def function_target(self) -> str:
5568
+ """
5569
+ The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function".
5570
+ """
5571
+ return pulumi.get(self, "function_target")
5572
+
5573
+ @property
5574
+ @pulumi.getter(name="imageUri")
5575
+ def image_uri(self) -> str:
5576
+ """
5577
+ Artifact Registry URI to store the built image.
5578
+ """
5579
+ return pulumi.get(self, "image_uri")
5580
+
5581
+ @property
5582
+ @pulumi.getter
5583
+ def name(self) -> str:
5584
+ """
5585
+ The name of the Cloud Run v2 Service.
5586
+ """
5587
+ return pulumi.get(self, "name")
5588
+
5589
+ @property
5590
+ @pulumi.getter(name="serviceAccount")
5591
+ def service_account(self) -> str:
5592
+ """
5593
+ Service account to be used for building the container. The format of this field is 'projects/{projectId}/serviceAccounts/{serviceAccountEmail}'.
5594
+ """
5595
+ return pulumi.get(self, "service_account")
5596
+
5597
+ @property
5598
+ @pulumi.getter(name="sourceLocation")
5599
+ def source_location(self) -> str:
5600
+ """
5601
+ The Cloud Storage bucket URI where the function source code is located.
5602
+ """
5603
+ return pulumi.get(self, "source_location")
5604
+
5605
+ @property
5606
+ @pulumi.getter(name="workerPool")
5607
+ def worker_pool(self) -> str:
5608
+ """
5609
+ Name of the Cloud Build Custom Worker Pool that should be used to build the Cloud Run function. The format of this field is 'projects/{project}/locations/{region}/workerPools/{workerPool}' where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool.
5610
+ """
5611
+ return pulumi.get(self, "worker_pool")
5612
+
5613
+
5358
5614
  @pulumi.output_type
5359
5615
  class GetServiceConditionResult(dict):
5360
5616
  def __init__(__self__, *,
@@ -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