pulumi-gcp 7.29.0__py3-none-any.whl → 7.29.0a1719036462__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 (172) hide show
  1. pulumi_gcp/__init__.py +0 -8
  2. pulumi_gcp/_utilities.py +0 -35
  3. pulumi_gcp/activedirectory/domain.py +14 -14
  4. pulumi_gcp/activedirectory/domain_trust.py +14 -14
  5. pulumi_gcp/alloydb/backup.py +8 -8
  6. pulumi_gcp/alloydb/cluster.py +17 -11
  7. pulumi_gcp/alloydb/instance.py +8 -8
  8. pulumi_gcp/alloydb/user.py +8 -8
  9. pulumi_gcp/apigee/addons_config.py +4 -4
  10. pulumi_gcp/apigee/endpoint_attachment.py +2 -2
  11. pulumi_gcp/apigee/env_group.py +2 -2
  12. pulumi_gcp/apigee/environment.py +2 -2
  13. pulumi_gcp/apigee/instance.py +8 -8
  14. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +10 -10
  15. pulumi_gcp/apigee/nat_address.py +2 -2
  16. pulumi_gcp/apigee/organization.py +6 -6
  17. pulumi_gcp/apigee/sync_authorization.py +4 -4
  18. pulumi_gcp/apigee/target_server.py +10 -10
  19. pulumi_gcp/apphub/service.py +20 -20
  20. pulumi_gcp/apphub/service_project_attachment.py +8 -8
  21. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  22. pulumi_gcp/applicationintegration/client.py +18 -6
  23. pulumi_gcp/artifactregistry/__init__.py +0 -1
  24. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  25. pulumi_gcp/artifactregistry/outputs.py +6 -6
  26. pulumi_gcp/artifactregistry/repository.py +10 -10
  27. pulumi_gcp/backupdisasterrecovery/management_server.py +2 -2
  28. pulumi_gcp/bigquery/_inputs.py +6 -2
  29. pulumi_gcp/bigquery/data_transfer_config.py +4 -4
  30. pulumi_gcp/bigquery/dataset.py +0 -75
  31. pulumi_gcp/bigquery/get_dataset.py +1 -11
  32. pulumi_gcp/bigquery/job.py +6 -6
  33. pulumi_gcp/bigquery/outputs.py +6 -2
  34. pulumi_gcp/bigtable/_inputs.py +3 -1
  35. pulumi_gcp/bigtable/instance.py +9 -3
  36. pulumi_gcp/bigtable/outputs.py +3 -1
  37. pulumi_gcp/billing/_inputs.py +0 -22
  38. pulumi_gcp/billing/budget.py +0 -50
  39. pulumi_gcp/billing/outputs.py +0 -20
  40. pulumi_gcp/certificateauthority/authority.py +2 -2
  41. pulumi_gcp/certificateauthority/certificate.py +4 -4
  42. pulumi_gcp/certificatemanager/_inputs.py +6 -2
  43. pulumi_gcp/certificatemanager/certificate.py +4 -4
  44. pulumi_gcp/certificatemanager/certificate_issuance_config.py +2 -2
  45. pulumi_gcp/certificatemanager/outputs.py +6 -2
  46. pulumi_gcp/cloudbuild/bitbucket_server_config.py +6 -6
  47. pulumi_gcp/cloudbuild/trigger.py +2 -2
  48. pulumi_gcp/cloudbuild/worker_pool.py +6 -6
  49. pulumi_gcp/cloudbuildv2/connection.py +2 -2
  50. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  51. pulumi_gcp/cloudfunctionsv2/function.py +28 -28
  52. pulumi_gcp/cloudids/endpoint.py +2 -2
  53. pulumi_gcp/cloudrun/_inputs.py +9 -3
  54. pulumi_gcp/cloudrun/outputs.py +9 -3
  55. pulumi_gcp/cloudrunv2/get_job.py +1 -21
  56. pulumi_gcp/cloudrunv2/job.py +19 -163
  57. pulumi_gcp/cloudrunv2/service.py +8 -8
  58. pulumi_gcp/compute/_inputs.py +0 -83
  59. pulumi_gcp/compute/disk.py +9 -3
  60. pulumi_gcp/compute/firewall.py +9 -3
  61. pulumi_gcp/compute/forwarding_rule.py +22 -22
  62. pulumi_gcp/compute/outputs.py +1 -166
  63. pulumi_gcp/compute/packet_mirroring.py +2 -2
  64. pulumi_gcp/compute/project_cloud_armor_tier.py +2 -2
  65. pulumi_gcp/compute/region_disk.py +9 -3
  66. pulumi_gcp/compute/region_security_policy_rule.py +2 -2
  67. pulumi_gcp/compute/route.py +2 -2
  68. pulumi_gcp/compute/subnetwork.py +6 -2
  69. pulumi_gcp/compute/target_instance.py +2 -2
  70. pulumi_gcp/compute/vpn_gateway.py +2 -2
  71. pulumi_gcp/compute/vpn_tunnel.py +2 -2
  72. pulumi_gcp/container/_inputs.py +6 -2
  73. pulumi_gcp/container/outputs.py +6 -2
  74. pulumi_gcp/databasemigrationservice/connection_profile.py +16 -16
  75. pulumi_gcp/datacatalog/policy_tag.py +2 -2
  76. pulumi_gcp/datafusion/instance.py +8 -4
  77. pulumi_gcp/dataplex/asset.py +2 -2
  78. pulumi_gcp/dataplex/datascan.py +2 -2
  79. pulumi_gcp/dataproc/_inputs.py +0 -100
  80. pulumi_gcp/dataproc/metastore_service.py +0 -172
  81. pulumi_gcp/dataproc/outputs.py +1 -192
  82. pulumi_gcp/dataproc/workflow_template.py +9 -3
  83. pulumi_gcp/datastore/data_store_index.py +2 -2
  84. pulumi_gcp/datastream/stream.py +6 -6
  85. pulumi_gcp/diagflow/entity_type.py +2 -2
  86. pulumi_gcp/diagflow/fulfillment.py +2 -2
  87. pulumi_gcp/diagflow/intent.py +4 -4
  88. pulumi_gcp/edgecontainer/node_pool.py +2 -2
  89. pulumi_gcp/edgecontainer/vpn_connection.py +2 -2
  90. pulumi_gcp/eventarc/channel.py +2 -2
  91. pulumi_gcp/eventarc/google_channel_config.py +2 -2
  92. pulumi_gcp/filestore/instance.py +9 -3
  93. pulumi_gcp/firebase/app_check_app_attest_config.py +8 -8
  94. pulumi_gcp/firebase/app_check_debug_token.py +4 -4
  95. pulumi_gcp/firebase/app_check_device_check_config.py +4 -4
  96. pulumi_gcp/firebase/app_check_play_integrity_config.py +8 -8
  97. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +4 -4
  98. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +4 -4
  99. pulumi_gcp/firebase/app_check_service_config.py +6 -6
  100. pulumi_gcp/firebase/database_instance.py +2 -2
  101. pulumi_gcp/firestore/database.py +4 -4
  102. pulumi_gcp/firestore/document.py +12 -12
  103. pulumi_gcp/folder/access_approval_settings.py +2 -2
  104. pulumi_gcp/gkehub/_inputs.py +8 -4
  105. pulumi_gcp/gkehub/membership.py +9 -3
  106. pulumi_gcp/gkehub/membership_binding.py +4 -4
  107. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  108. pulumi_gcp/gkehub/namespace.py +2 -2
  109. pulumi_gcp/gkehub/outputs.py +8 -4
  110. pulumi_gcp/gkehub/scope_rbac_role_binding.py +2 -2
  111. pulumi_gcp/healthcare/fhir_store.py +9 -3
  112. pulumi_gcp/healthcare/hl7_store.py +9 -3
  113. pulumi_gcp/integrationconnectors/connection.py +2 -2
  114. pulumi_gcp/integrationconnectors/managed_zone.py +6 -6
  115. pulumi_gcp/kms/_inputs.py +3 -1
  116. pulumi_gcp/kms/autokey_config.py +16 -16
  117. pulumi_gcp/kms/key_handle.py +22 -22
  118. pulumi_gcp/kms/outputs.py +3 -1
  119. pulumi_gcp/logging/folder_settings.py +2 -2
  120. pulumi_gcp/logging/linked_dataset.py +2 -2
  121. pulumi_gcp/logging/organization_settings.py +2 -2
  122. pulumi_gcp/logging/project_bucket_config.py +2 -2
  123. pulumi_gcp/looker/instance.py +2 -2
  124. pulumi_gcp/netapp/volume_replication.py +2 -2
  125. pulumi_gcp/netapp/volume_snapshot.py +2 -2
  126. pulumi_gcp/networkconnectivity/internal_range.py +2 -2
  127. pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
  128. pulumi_gcp/networksecurity/tls_inspection_policy.py +4 -4
  129. pulumi_gcp/networkservices/gateway.py +6 -6
  130. pulumi_gcp/organizations/access_approval_settings.py +2 -2
  131. pulumi_gcp/parallelstore/instance.py +2 -2
  132. pulumi_gcp/projects/access_approval_settings.py +11 -5
  133. pulumi_gcp/pubsub/_inputs.py +0 -40
  134. pulumi_gcp/pubsub/outputs.py +0 -66
  135. pulumi_gcp/pubsub/schema.py +2 -2
  136. pulumi_gcp/pubsub/subscription.py +8 -174
  137. pulumi_gcp/pubsub/topic.py +2 -2
  138. pulumi_gcp/pulumi-plugin.json +1 -1
  139. pulumi_gcp/redis/cluster.py +4 -4
  140. pulumi_gcp/redis/get_instance.py +1 -11
  141. pulumi_gcp/redis/instance.py +2 -49
  142. pulumi_gcp/secretmanager/secret.py +2 -2
  143. pulumi_gcp/securesourcemanager/instance.py +6 -6
  144. pulumi_gcp/securitycenter/instance_iam_binding.py +2 -2
  145. pulumi_gcp/securitycenter/instance_iam_member.py +2 -2
  146. pulumi_gcp/securitycenter/instance_iam_policy.py +2 -2
  147. pulumi_gcp/servicenetworking/__init__.py +0 -1
  148. pulumi_gcp/sql/_inputs.py +3 -1
  149. pulumi_gcp/sql/database_instance.py +2 -2
  150. pulumi_gcp/sql/outputs.py +3 -1
  151. pulumi_gcp/sql/user.py +7 -21
  152. pulumi_gcp/storage/get_project_service_account.py +2 -2
  153. pulumi_gcp/storage/insights_report_config.py +2 -2
  154. pulumi_gcp/storage/notification.py +2 -2
  155. pulumi_gcp/storage/transfer_agent_pool.py +2 -2
  156. pulumi_gcp/storage/transfer_job.py +4 -4
  157. pulumi_gcp/tpu/v2_vm.py +4 -4
  158. pulumi_gcp/vertex/_inputs.py +3 -1
  159. pulumi_gcp/vertex/ai_endpoint.py +2 -2
  160. pulumi_gcp/vertex/ai_feature_online_store.py +9 -3
  161. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  162. pulumi_gcp/vertex/ai_tensorboard.py +2 -2
  163. pulumi_gcp/vertex/outputs.py +3 -1
  164. pulumi_gcp/vmwareengine/external_address.py +2 -2
  165. pulumi_gcp/vmwareengine/network.py +4 -4
  166. pulumi_gcp/vpcaccess/connector.py +8 -2
  167. {pulumi_gcp-7.29.0.dist-info → pulumi_gcp-7.29.0a1719036462.dist-info}/METADATA +1 -1
  168. {pulumi_gcp-7.29.0.dist-info → pulumi_gcp-7.29.0a1719036462.dist-info}/RECORD +170 -172
  169. {pulumi_gcp-7.29.0.dist-info → pulumi_gcp-7.29.0a1719036462.dist-info}/WHEEL +1 -1
  170. pulumi_gcp/artifactregistry/get_docker_image.py +0 -244
  171. pulumi_gcp/servicenetworking/vpc_service_controls.py +0 -511
  172. {pulumi_gcp-7.29.0.dist-info → pulumi_gcp-7.29.0a1719036462.dist-info}/top_level.txt +0 -0
@@ -1,511 +0,0 @@
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 pulumi
8
- import pulumi.runtime
9
- from typing import Any, Mapping, Optional, Sequence, Union, overload
10
- from .. import _utilities
11
-
12
- __all__ = ['VpcServiceControlsArgs', 'VpcServiceControls']
13
-
14
- @pulumi.input_type
15
- class VpcServiceControlsArgs:
16
- def __init__(__self__, *,
17
- enabled: pulumi.Input[bool],
18
- network: pulumi.Input[str],
19
- service: pulumi.Input[str],
20
- project: Optional[pulumi.Input[str]] = None):
21
- """
22
- The set of arguments for constructing a VpcServiceControls resource.
23
- :param pulumi.Input[bool] enabled: Desired VPC Service Controls state service producer VPC network, as
24
- described at the top of this page.
25
- :param pulumi.Input[str] network: The network that the consumer is using to connect with services.
26
- :param pulumi.Input[str] service: The service that is managing peering connectivity for a service
27
- producer's organization. For Google services that support this
28
- functionality, this value is `servicenetworking.googleapis.com`.
29
-
30
-
31
- - - -
32
- :param pulumi.Input[str] project: The id of the Google Cloud project containing the consumer network.
33
- """
34
- pulumi.set(__self__, "enabled", enabled)
35
- pulumi.set(__self__, "network", network)
36
- pulumi.set(__self__, "service", service)
37
- if project is not None:
38
- pulumi.set(__self__, "project", project)
39
-
40
- @property
41
- @pulumi.getter
42
- def enabled(self) -> pulumi.Input[bool]:
43
- """
44
- Desired VPC Service Controls state service producer VPC network, as
45
- described at the top of this page.
46
- """
47
- return pulumi.get(self, "enabled")
48
-
49
- @enabled.setter
50
- def enabled(self, value: pulumi.Input[bool]):
51
- pulumi.set(self, "enabled", value)
52
-
53
- @property
54
- @pulumi.getter
55
- def network(self) -> pulumi.Input[str]:
56
- """
57
- The network that the consumer is using to connect with services.
58
- """
59
- return pulumi.get(self, "network")
60
-
61
- @network.setter
62
- def network(self, value: pulumi.Input[str]):
63
- pulumi.set(self, "network", value)
64
-
65
- @property
66
- @pulumi.getter
67
- def service(self) -> pulumi.Input[str]:
68
- """
69
- The service that is managing peering connectivity for a service
70
- producer's organization. For Google services that support this
71
- functionality, this value is `servicenetworking.googleapis.com`.
72
-
73
-
74
- - - -
75
- """
76
- return pulumi.get(self, "service")
77
-
78
- @service.setter
79
- def service(self, value: pulumi.Input[str]):
80
- pulumi.set(self, "service", value)
81
-
82
- @property
83
- @pulumi.getter
84
- def project(self) -> Optional[pulumi.Input[str]]:
85
- """
86
- The id of the Google Cloud project containing the consumer network.
87
- """
88
- return pulumi.get(self, "project")
89
-
90
- @project.setter
91
- def project(self, value: Optional[pulumi.Input[str]]):
92
- pulumi.set(self, "project", value)
93
-
94
-
95
- @pulumi.input_type
96
- class _VpcServiceControlsState:
97
- def __init__(__self__, *,
98
- enabled: Optional[pulumi.Input[bool]] = None,
99
- network: Optional[pulumi.Input[str]] = None,
100
- project: Optional[pulumi.Input[str]] = None,
101
- service: Optional[pulumi.Input[str]] = None):
102
- """
103
- Input properties used for looking up and filtering VpcServiceControls resources.
104
- :param pulumi.Input[bool] enabled: Desired VPC Service Controls state service producer VPC network, as
105
- described at the top of this page.
106
- :param pulumi.Input[str] network: The network that the consumer is using to connect with services.
107
- :param pulumi.Input[str] project: The id of the Google Cloud project containing the consumer network.
108
- :param pulumi.Input[str] service: The service that is managing peering connectivity for a service
109
- producer's organization. For Google services that support this
110
- functionality, this value is `servicenetworking.googleapis.com`.
111
-
112
-
113
- - - -
114
- """
115
- if enabled is not None:
116
- pulumi.set(__self__, "enabled", enabled)
117
- if network is not None:
118
- pulumi.set(__self__, "network", network)
119
- if project is not None:
120
- pulumi.set(__self__, "project", project)
121
- if service is not None:
122
- pulumi.set(__self__, "service", service)
123
-
124
- @property
125
- @pulumi.getter
126
- def enabled(self) -> Optional[pulumi.Input[bool]]:
127
- """
128
- Desired VPC Service Controls state service producer VPC network, as
129
- described at the top of this page.
130
- """
131
- return pulumi.get(self, "enabled")
132
-
133
- @enabled.setter
134
- def enabled(self, value: Optional[pulumi.Input[bool]]):
135
- pulumi.set(self, "enabled", value)
136
-
137
- @property
138
- @pulumi.getter
139
- def network(self) -> Optional[pulumi.Input[str]]:
140
- """
141
- The network that the consumer is using to connect with services.
142
- """
143
- return pulumi.get(self, "network")
144
-
145
- @network.setter
146
- def network(self, value: Optional[pulumi.Input[str]]):
147
- pulumi.set(self, "network", value)
148
-
149
- @property
150
- @pulumi.getter
151
- def project(self) -> Optional[pulumi.Input[str]]:
152
- """
153
- The id of the Google Cloud project containing the consumer network.
154
- """
155
- return pulumi.get(self, "project")
156
-
157
- @project.setter
158
- def project(self, value: Optional[pulumi.Input[str]]):
159
- pulumi.set(self, "project", value)
160
-
161
- @property
162
- @pulumi.getter
163
- def service(self) -> Optional[pulumi.Input[str]]:
164
- """
165
- The service that is managing peering connectivity for a service
166
- producer's organization. For Google services that support this
167
- functionality, this value is `servicenetworking.googleapis.com`.
168
-
169
-
170
- - - -
171
- """
172
- return pulumi.get(self, "service")
173
-
174
- @service.setter
175
- def service(self, value: Optional[pulumi.Input[str]]):
176
- pulumi.set(self, "service", value)
177
-
178
-
179
- class VpcServiceControls(pulumi.CustomResource):
180
- @overload
181
- def __init__(__self__,
182
- resource_name: str,
183
- opts: Optional[pulumi.ResourceOptions] = None,
184
- enabled: Optional[pulumi.Input[bool]] = None,
185
- network: Optional[pulumi.Input[str]] = None,
186
- project: Optional[pulumi.Input[str]] = None,
187
- service: Optional[pulumi.Input[str]] = None,
188
- __props__=None):
189
- """
190
- Manages the VPC Service Controls configuration for a service
191
- networking connection
192
-
193
- When enabled, Google Cloud makes the following
194
- route configuration changes in the service producer VPC network:
195
- - Removes the IPv4 default route (destination 0.0.0.0/0,
196
- next hop default internet gateway), Google Cloud then creates an
197
- IPv4 route for destination 199.36.153.4/30 using the default
198
- internet gateway next hop.
199
- - Creates Cloud DNS managed private zones and authorizes those zones
200
- for the service producer VPC network. The zones include
201
- googleapis.com, gcr.io, pkg.dev, notebooks.cloud.google.com,
202
- kernels.googleusercontent.com, backupdr.cloud.google.com, and
203
- backupdr.googleusercontent.com as necessary domains or host names
204
- for Google APIs and services that are compatible with VPC Service
205
- Controls. Record data in the zones resolves all host names to
206
- 199.36.153.4, 199.36.153.5, 199.36.153.6, and 199.36.153.7.
207
-
208
- When disabled, Google Cloud makes the following route configuration
209
- changes in the service producer VPC network:
210
- - Restores a default route (destination 0.0.0.0/0, next hop default
211
- internet gateway)
212
- - Deletes the Cloud DNS managed private zones that provided the host
213
- name overrides.
214
-
215
- To get more information about VPCServiceControls, see:
216
-
217
- * [API documentation](https://cloud.google.com/service-infrastructure/docs/service-networking/reference/rest/v1/services)
218
- * How-to Guides
219
- * [Private Google Access with VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/private-connectivity)
220
- * [Set up private connectivity to Google APIs and services](https://cloud.google.com/vpc-service-controls/docs/set-up-private-connectivity)
221
- * [Enable VPC Service Controls for service networking](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/enable-vpc-service-controls)
222
-
223
- > **Note:** Destroying a `servicenetworking.VpcServiceControls`
224
- resource will remove it from state, but will not change the
225
- underlying VPC Service Controls configuration for the service
226
- producer network.
227
-
228
- ## Example Usage
229
-
230
- ### Service Networking Vpc Service Controls Basic
231
-
232
- ```python
233
- import pulumi
234
- import pulumi_gcp as gcp
235
-
236
- # Create a VPC
237
- default = gcp.compute.Network("default", name="example-network")
238
- # Create an IP address
239
- default_global_address = gcp.compute.GlobalAddress("default",
240
- name="psa-range",
241
- purpose="VPC_PEERING",
242
- address_type="INTERNAL",
243
- prefix_length=16,
244
- network=default.id)
245
- # Create a private connection
246
- default_connection = gcp.servicenetworking.Connection("default",
247
- network=default.id,
248
- service="servicenetworking.googleapis.com",
249
- reserved_peering_ranges=[default_global_address.name])
250
- # Enable VPC-SC on the producer network
251
- default_vpc_service_controls = gcp.servicenetworking.VpcServiceControls("default",
252
- network=default.name,
253
- service="servicenetworking.googleapis.com",
254
- enabled=True,
255
- opts = pulumi.ResourceOptions(depends_on=[default_connection]))
256
- ```
257
-
258
- ## Import
259
-
260
- VPCServiceControls can be imported using any of these accepted formats:
261
-
262
- * `services/{{service}}/projects/{{project}}/networks/{{network}}`
263
-
264
- * `{{service}}/{{project}}/{{network}}`
265
-
266
- * `{{service}}/{{network}}`
267
-
268
- When using the `pulumi import` command, VPCServiceControls can be imported using one of the formats above. For example:
269
-
270
- ```sh
271
- $ pulumi import gcp:servicenetworking/vpcServiceControls:VpcServiceControls default services/{{service}}/projects/{{project}}/networks/{{network}}
272
- ```
273
-
274
- ```sh
275
- $ pulumi import gcp:servicenetworking/vpcServiceControls:VpcServiceControls default {{service}}/{{project}}/{{network}}
276
- ```
277
-
278
- ```sh
279
- $ pulumi import gcp:servicenetworking/vpcServiceControls:VpcServiceControls default {{service}}/{{network}}
280
- ```
281
-
282
- :param str resource_name: The name of the resource.
283
- :param pulumi.ResourceOptions opts: Options for the resource.
284
- :param pulumi.Input[bool] enabled: Desired VPC Service Controls state service producer VPC network, as
285
- described at the top of this page.
286
- :param pulumi.Input[str] network: The network that the consumer is using to connect with services.
287
- :param pulumi.Input[str] project: The id of the Google Cloud project containing the consumer network.
288
- :param pulumi.Input[str] service: The service that is managing peering connectivity for a service
289
- producer's organization. For Google services that support this
290
- functionality, this value is `servicenetworking.googleapis.com`.
291
-
292
-
293
- - - -
294
- """
295
- ...
296
- @overload
297
- def __init__(__self__,
298
- resource_name: str,
299
- args: VpcServiceControlsArgs,
300
- opts: Optional[pulumi.ResourceOptions] = None):
301
- """
302
- Manages the VPC Service Controls configuration for a service
303
- networking connection
304
-
305
- When enabled, Google Cloud makes the following
306
- route configuration changes in the service producer VPC network:
307
- - Removes the IPv4 default route (destination 0.0.0.0/0,
308
- next hop default internet gateway), Google Cloud then creates an
309
- IPv4 route for destination 199.36.153.4/30 using the default
310
- internet gateway next hop.
311
- - Creates Cloud DNS managed private zones and authorizes those zones
312
- for the service producer VPC network. The zones include
313
- googleapis.com, gcr.io, pkg.dev, notebooks.cloud.google.com,
314
- kernels.googleusercontent.com, backupdr.cloud.google.com, and
315
- backupdr.googleusercontent.com as necessary domains or host names
316
- for Google APIs and services that are compatible with VPC Service
317
- Controls. Record data in the zones resolves all host names to
318
- 199.36.153.4, 199.36.153.5, 199.36.153.6, and 199.36.153.7.
319
-
320
- When disabled, Google Cloud makes the following route configuration
321
- changes in the service producer VPC network:
322
- - Restores a default route (destination 0.0.0.0/0, next hop default
323
- internet gateway)
324
- - Deletes the Cloud DNS managed private zones that provided the host
325
- name overrides.
326
-
327
- To get more information about VPCServiceControls, see:
328
-
329
- * [API documentation](https://cloud.google.com/service-infrastructure/docs/service-networking/reference/rest/v1/services)
330
- * How-to Guides
331
- * [Private Google Access with VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/private-connectivity)
332
- * [Set up private connectivity to Google APIs and services](https://cloud.google.com/vpc-service-controls/docs/set-up-private-connectivity)
333
- * [Enable VPC Service Controls for service networking](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/enable-vpc-service-controls)
334
-
335
- > **Note:** Destroying a `servicenetworking.VpcServiceControls`
336
- resource will remove it from state, but will not change the
337
- underlying VPC Service Controls configuration for the service
338
- producer network.
339
-
340
- ## Example Usage
341
-
342
- ### Service Networking Vpc Service Controls Basic
343
-
344
- ```python
345
- import pulumi
346
- import pulumi_gcp as gcp
347
-
348
- # Create a VPC
349
- default = gcp.compute.Network("default", name="example-network")
350
- # Create an IP address
351
- default_global_address = gcp.compute.GlobalAddress("default",
352
- name="psa-range",
353
- purpose="VPC_PEERING",
354
- address_type="INTERNAL",
355
- prefix_length=16,
356
- network=default.id)
357
- # Create a private connection
358
- default_connection = gcp.servicenetworking.Connection("default",
359
- network=default.id,
360
- service="servicenetworking.googleapis.com",
361
- reserved_peering_ranges=[default_global_address.name])
362
- # Enable VPC-SC on the producer network
363
- default_vpc_service_controls = gcp.servicenetworking.VpcServiceControls("default",
364
- network=default.name,
365
- service="servicenetworking.googleapis.com",
366
- enabled=True,
367
- opts = pulumi.ResourceOptions(depends_on=[default_connection]))
368
- ```
369
-
370
- ## Import
371
-
372
- VPCServiceControls can be imported using any of these accepted formats:
373
-
374
- * `services/{{service}}/projects/{{project}}/networks/{{network}}`
375
-
376
- * `{{service}}/{{project}}/{{network}}`
377
-
378
- * `{{service}}/{{network}}`
379
-
380
- When using the `pulumi import` command, VPCServiceControls can be imported using one of the formats above. For example:
381
-
382
- ```sh
383
- $ pulumi import gcp:servicenetworking/vpcServiceControls:VpcServiceControls default services/{{service}}/projects/{{project}}/networks/{{network}}
384
- ```
385
-
386
- ```sh
387
- $ pulumi import gcp:servicenetworking/vpcServiceControls:VpcServiceControls default {{service}}/{{project}}/{{network}}
388
- ```
389
-
390
- ```sh
391
- $ pulumi import gcp:servicenetworking/vpcServiceControls:VpcServiceControls default {{service}}/{{network}}
392
- ```
393
-
394
- :param str resource_name: The name of the resource.
395
- :param VpcServiceControlsArgs args: The arguments to use to populate this resource's properties.
396
- :param pulumi.ResourceOptions opts: Options for the resource.
397
- """
398
- ...
399
- def __init__(__self__, resource_name: str, *args, **kwargs):
400
- resource_args, opts = _utilities.get_resource_args_opts(VpcServiceControlsArgs, pulumi.ResourceOptions, *args, **kwargs)
401
- if resource_args is not None:
402
- __self__._internal_init(resource_name, opts, **resource_args.__dict__)
403
- else:
404
- __self__._internal_init(resource_name, *args, **kwargs)
405
-
406
- def _internal_init(__self__,
407
- resource_name: str,
408
- opts: Optional[pulumi.ResourceOptions] = None,
409
- enabled: Optional[pulumi.Input[bool]] = None,
410
- network: Optional[pulumi.Input[str]] = None,
411
- project: Optional[pulumi.Input[str]] = None,
412
- service: Optional[pulumi.Input[str]] = None,
413
- __props__=None):
414
- opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
415
- if not isinstance(opts, pulumi.ResourceOptions):
416
- raise TypeError('Expected resource options to be a ResourceOptions instance')
417
- if opts.id is None:
418
- if __props__ is not None:
419
- raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
420
- __props__ = VpcServiceControlsArgs.__new__(VpcServiceControlsArgs)
421
-
422
- if enabled is None and not opts.urn:
423
- raise TypeError("Missing required property 'enabled'")
424
- __props__.__dict__["enabled"] = enabled
425
- if network is None and not opts.urn:
426
- raise TypeError("Missing required property 'network'")
427
- __props__.__dict__["network"] = network
428
- __props__.__dict__["project"] = project
429
- if service is None and not opts.urn:
430
- raise TypeError("Missing required property 'service'")
431
- __props__.__dict__["service"] = service
432
- super(VpcServiceControls, __self__).__init__(
433
- 'gcp:servicenetworking/vpcServiceControls:VpcServiceControls',
434
- resource_name,
435
- __props__,
436
- opts)
437
-
438
- @staticmethod
439
- def get(resource_name: str,
440
- id: pulumi.Input[str],
441
- opts: Optional[pulumi.ResourceOptions] = None,
442
- enabled: Optional[pulumi.Input[bool]] = None,
443
- network: Optional[pulumi.Input[str]] = None,
444
- project: Optional[pulumi.Input[str]] = None,
445
- service: Optional[pulumi.Input[str]] = None) -> 'VpcServiceControls':
446
- """
447
- Get an existing VpcServiceControls resource's state with the given name, id, and optional extra
448
- properties used to qualify the lookup.
449
-
450
- :param str resource_name: The unique name of the resulting resource.
451
- :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
452
- :param pulumi.ResourceOptions opts: Options for the resource.
453
- :param pulumi.Input[bool] enabled: Desired VPC Service Controls state service producer VPC network, as
454
- described at the top of this page.
455
- :param pulumi.Input[str] network: The network that the consumer is using to connect with services.
456
- :param pulumi.Input[str] project: The id of the Google Cloud project containing the consumer network.
457
- :param pulumi.Input[str] service: The service that is managing peering connectivity for a service
458
- producer's organization. For Google services that support this
459
- functionality, this value is `servicenetworking.googleapis.com`.
460
-
461
-
462
- - - -
463
- """
464
- opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
465
-
466
- __props__ = _VpcServiceControlsState.__new__(_VpcServiceControlsState)
467
-
468
- __props__.__dict__["enabled"] = enabled
469
- __props__.__dict__["network"] = network
470
- __props__.__dict__["project"] = project
471
- __props__.__dict__["service"] = service
472
- return VpcServiceControls(resource_name, opts=opts, __props__=__props__)
473
-
474
- @property
475
- @pulumi.getter
476
- def enabled(self) -> pulumi.Output[bool]:
477
- """
478
- Desired VPC Service Controls state service producer VPC network, as
479
- described at the top of this page.
480
- """
481
- return pulumi.get(self, "enabled")
482
-
483
- @property
484
- @pulumi.getter
485
- def network(self) -> pulumi.Output[str]:
486
- """
487
- The network that the consumer is using to connect with services.
488
- """
489
- return pulumi.get(self, "network")
490
-
491
- @property
492
- @pulumi.getter
493
- def project(self) -> pulumi.Output[Optional[str]]:
494
- """
495
- The id of the Google Cloud project containing the consumer network.
496
- """
497
- return pulumi.get(self, "project")
498
-
499
- @property
500
- @pulumi.getter
501
- def service(self) -> pulumi.Output[str]:
502
- """
503
- The service that is managing peering connectivity for a service
504
- producer's organization. For Google services that support this
505
- functionality, this value is `servicenetworking.googleapis.com`.
506
-
507
-
508
- - - -
509
- """
510
- return pulumi.get(self, "service")
511
-