pulumi-gcp 8.25.0a1743575622__py3-none-any.whl → 8.25.0a1743706148__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 (126) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  11. pulumi_gcp/bigtable/table.py +8 -8
  12. pulumi_gcp/chronicle/data_access_label.py +2 -2
  13. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  14. pulumi_gcp/chronicle/reference_list.py +16 -0
  15. pulumi_gcp/chronicle/retrohunt.py +16 -0
  16. pulumi_gcp/chronicle/rule.py +16 -0
  17. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  18. pulumi_gcp/chronicle/watchlist.py +16 -0
  19. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  20. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  21. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  22. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  23. pulumi_gcp/compute/__init__.py +1 -0
  24. pulumi_gcp/compute/_inputs.py +2011 -43
  25. pulumi_gcp/compute/backend_service.py +121 -3
  26. pulumi_gcp/compute/get_backend_service.py +15 -4
  27. pulumi_gcp/compute/get_instance.py +12 -1
  28. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  29. pulumi_gcp/compute/get_router.py +12 -1
  30. pulumi_gcp/compute/get_subnetwork.py +43 -1
  31. pulumi_gcp/compute/instance.py +47 -0
  32. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  33. pulumi_gcp/compute/instance_from_template.py +47 -0
  34. pulumi_gcp/compute/outputs.py +3578 -139
  35. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  36. pulumi_gcp/compute/router.py +54 -0
  37. pulumi_gcp/compute/subnetwork.py +35 -5
  38. pulumi_gcp/config/__init__.pyi +2 -0
  39. pulumi_gcp/config/outputs.py +27 -0
  40. pulumi_gcp/config/vars.py +4 -0
  41. pulumi_gcp/container/_inputs.py +12 -12
  42. pulumi_gcp/container/cluster.py +47 -0
  43. pulumi_gcp/container/get_cluster.py +12 -1
  44. pulumi_gcp/container/get_registry_image.py +4 -0
  45. pulumi_gcp/container/get_registry_repository.py +4 -0
  46. pulumi_gcp/container/outputs.py +8 -8
  47. pulumi_gcp/container/registry.py +4 -0
  48. pulumi_gcp/datafusion/instance.py +68 -0
  49. pulumi_gcp/dataproc/__init__.py +8 -0
  50. pulumi_gcp/dataproc/_inputs.py +196 -0
  51. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  52. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  53. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  54. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  55. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  56. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  57. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  58. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  59. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  60. pulumi_gcp/dataproc/outputs.py +112 -0
  61. pulumi_gcp/datastream/_inputs.py +311 -94
  62. pulumi_gcp/datastream/connection_profile.py +40 -0
  63. pulumi_gcp/datastream/outputs.py +244 -51
  64. pulumi_gcp/datastream/stream.py +216 -0
  65. pulumi_gcp/discoveryengine/__init__.py +1 -0
  66. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  67. pulumi_gcp/eventarc/__init__.py +1 -0
  68. pulumi_gcp/eventarc/enrollment.py +980 -0
  69. pulumi_gcp/firebase/__init__.py +1 -0
  70. pulumi_gcp/firebase/_inputs.py +484 -0
  71. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  72. pulumi_gcp/firebase/outputs.py +333 -0
  73. pulumi_gcp/identityplatform/_inputs.py +91 -0
  74. pulumi_gcp/identityplatform/outputs.py +73 -0
  75. pulumi_gcp/identityplatform/tenant.py +56 -0
  76. pulumi_gcp/managedkafka/cluster.py +2 -2
  77. pulumi_gcp/memorystore/__init__.py +1 -0
  78. pulumi_gcp/memorystore/_inputs.py +826 -0
  79. pulumi_gcp/memorystore/get_instance.py +23 -1
  80. pulumi_gcp/memorystore/instance.py +344 -23
  81. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  82. pulumi_gcp/memorystore/outputs.py +889 -8
  83. pulumi_gcp/networksecurity/_inputs.py +473 -0
  84. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  86. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  87. pulumi_gcp/networksecurity/outputs.py +291 -1
  88. pulumi_gcp/networksecurity/security_profile.py +8 -0
  89. pulumi_gcp/organizations/__init__.py +1 -0
  90. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/organizations/outputs.py +96 -0
  92. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  93. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  94. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  95. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  96. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  97. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  98. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  99. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  100. pulumi_gcp/parametermanager/outputs.py +11 -0
  101. pulumi_gcp/parametermanager/parameter.py +88 -0
  102. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  103. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  104. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  105. pulumi_gcp/provider.py +15 -0
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/_inputs.py +136 -0
  108. pulumi_gcp/redis/cluster.py +54 -0
  109. pulumi_gcp/redis/outputs.py +114 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  111. pulumi_gcp/storage/__init__.py +4 -0
  112. pulumi_gcp/storage/_inputs.py +596 -0
  113. pulumi_gcp/storage/bucket.py +7 -7
  114. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  115. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  116. pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
  117. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  118. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  119. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  120. pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
  121. pulumi_gcp/storage/outputs.py +2132 -1312
  122. pulumi_gcp/workbench/instance.py +14 -2
  123. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.25.0a1743575622.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,843 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['InstanceDesiredUserCreatedEndpointsArgs', 'InstanceDesiredUserCreatedEndpoints']
20
+
21
+ @pulumi.input_type
22
+ class InstanceDesiredUserCreatedEndpointsArgs:
23
+ def __init__(__self__, *,
24
+ region: pulumi.Input[str],
25
+ desired_user_created_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]]] = None,
26
+ name: Optional[pulumi.Input[str]] = None,
27
+ project: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a InstanceDesiredUserCreatedEndpoints resource.
30
+ :param pulumi.Input[str] region: The name of the region of the Memorystore instance these endpoints should be added to.
31
+
32
+
33
+ - - -
34
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]] desired_user_created_endpoints: A list of desired user endpoints
35
+ Structure is documented below.
36
+ :param pulumi.Input[str] name: The name of the Memorystore instance these endpoints should be added to.
37
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
38
+ If it is not provided, the provider project is used.
39
+ """
40
+ pulumi.set(__self__, "region", region)
41
+ if desired_user_created_endpoints is not None:
42
+ pulumi.set(__self__, "desired_user_created_endpoints", desired_user_created_endpoints)
43
+ if name is not None:
44
+ pulumi.set(__self__, "name", name)
45
+ if project is not None:
46
+ pulumi.set(__self__, "project", project)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def region(self) -> pulumi.Input[str]:
51
+ """
52
+ The name of the region of the Memorystore instance these endpoints should be added to.
53
+
54
+
55
+ - - -
56
+ """
57
+ return pulumi.get(self, "region")
58
+
59
+ @region.setter
60
+ def region(self, value: pulumi.Input[str]):
61
+ pulumi.set(self, "region", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="desiredUserCreatedEndpoints")
65
+ def desired_user_created_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]]]:
66
+ """
67
+ A list of desired user endpoints
68
+ Structure is documented below.
69
+ """
70
+ return pulumi.get(self, "desired_user_created_endpoints")
71
+
72
+ @desired_user_created_endpoints.setter
73
+ def desired_user_created_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]]]):
74
+ pulumi.set(self, "desired_user_created_endpoints", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def name(self) -> Optional[pulumi.Input[str]]:
79
+ """
80
+ The name of the Memorystore instance these endpoints should be added to.
81
+ """
82
+ return pulumi.get(self, "name")
83
+
84
+ @name.setter
85
+ def name(self, value: Optional[pulumi.Input[str]]):
86
+ pulumi.set(self, "name", value)
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def project(self) -> Optional[pulumi.Input[str]]:
91
+ """
92
+ The ID of the project in which the resource belongs.
93
+ If it is not provided, the provider project is used.
94
+ """
95
+ return pulumi.get(self, "project")
96
+
97
+ @project.setter
98
+ def project(self, value: Optional[pulumi.Input[str]]):
99
+ pulumi.set(self, "project", value)
100
+
101
+
102
+ @pulumi.input_type
103
+ class _InstanceDesiredUserCreatedEndpointsState:
104
+ def __init__(__self__, *,
105
+ desired_user_created_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]]] = None,
106
+ name: Optional[pulumi.Input[str]] = None,
107
+ project: Optional[pulumi.Input[str]] = None,
108
+ region: Optional[pulumi.Input[str]] = None):
109
+ """
110
+ Input properties used for looking up and filtering InstanceDesiredUserCreatedEndpoints resources.
111
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]] desired_user_created_endpoints: A list of desired user endpoints
112
+ Structure is documented below.
113
+ :param pulumi.Input[str] name: The name of the Memorystore instance these endpoints should be added to.
114
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
115
+ If it is not provided, the provider project is used.
116
+ :param pulumi.Input[str] region: The name of the region of the Memorystore instance these endpoints should be added to.
117
+
118
+
119
+ - - -
120
+ """
121
+ if desired_user_created_endpoints is not None:
122
+ pulumi.set(__self__, "desired_user_created_endpoints", desired_user_created_endpoints)
123
+ if name is not None:
124
+ pulumi.set(__self__, "name", name)
125
+ if project is not None:
126
+ pulumi.set(__self__, "project", project)
127
+ if region is not None:
128
+ pulumi.set(__self__, "region", region)
129
+
130
+ @property
131
+ @pulumi.getter(name="desiredUserCreatedEndpoints")
132
+ def desired_user_created_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]]]:
133
+ """
134
+ A list of desired user endpoints
135
+ Structure is documented below.
136
+ """
137
+ return pulumi.get(self, "desired_user_created_endpoints")
138
+
139
+ @desired_user_created_endpoints.setter
140
+ def desired_user_created_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs']]]]):
141
+ pulumi.set(self, "desired_user_created_endpoints", value)
142
+
143
+ @property
144
+ @pulumi.getter
145
+ def name(self) -> Optional[pulumi.Input[str]]:
146
+ """
147
+ The name of the Memorystore instance these endpoints should be added to.
148
+ """
149
+ return pulumi.get(self, "name")
150
+
151
+ @name.setter
152
+ def name(self, value: Optional[pulumi.Input[str]]):
153
+ pulumi.set(self, "name", value)
154
+
155
+ @property
156
+ @pulumi.getter
157
+ def project(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ The ID of the project in which the resource belongs.
160
+ If it is not provided, the provider project is used.
161
+ """
162
+ return pulumi.get(self, "project")
163
+
164
+ @project.setter
165
+ def project(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "project", value)
167
+
168
+ @property
169
+ @pulumi.getter
170
+ def region(self) -> Optional[pulumi.Input[str]]:
171
+ """
172
+ The name of the region of the Memorystore instance these endpoints should be added to.
173
+
174
+
175
+ - - -
176
+ """
177
+ return pulumi.get(self, "region")
178
+
179
+ @region.setter
180
+ def region(self, value: Optional[pulumi.Input[str]]):
181
+ pulumi.set(self, "region", value)
182
+
183
+
184
+ class InstanceDesiredUserCreatedEndpoints(pulumi.CustomResource):
185
+ @overload
186
+ def __init__(__self__,
187
+ resource_name: str,
188
+ opts: Optional[pulumi.ResourceOptions] = None,
189
+ desired_user_created_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs', 'InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgsDict']]]]] = None,
190
+ name: Optional[pulumi.Input[str]] = None,
191
+ project: Optional[pulumi.Input[str]] = None,
192
+ region: Optional[pulumi.Input[str]] = None,
193
+ __props__=None):
194
+ """
195
+ ## Example Usage
196
+
197
+ ### Memorystore Instance Desired User Created Endpoints
198
+
199
+ ```python
200
+ import pulumi
201
+ import pulumi_gcp as gcp
202
+
203
+ network1 = gcp.compute.Network("network1",
204
+ name="net1",
205
+ auto_create_subnetworks=False)
206
+ subnet_network1 = gcp.compute.Subnetwork("subnet_network1",
207
+ name="subnet-net1",
208
+ ip_cidr_range="10.0.0.248/29",
209
+ region="us-central1",
210
+ network=network1.id)
211
+ ip1_network1 = gcp.compute.Address("ip1_network1",
212
+ name="ip1-net1",
213
+ region="us-central1",
214
+ subnetwork=subnet_network1.id,
215
+ address_type="INTERNAL",
216
+ purpose="GCE_ENDPOINT")
217
+ #Valkey instance without endpoints
218
+ instance_user_conn_instance = gcp.memorystore.Instance("instance-user-conn",
219
+ instance_id="instance-user-conn",
220
+ shard_count=1,
221
+ location="us-central1",
222
+ deletion_protection_enabled=False)
223
+ forwarding_rule1_network1 = gcp.compute.ForwardingRule("forwarding_rule1_network1",
224
+ name="fwd1-net1",
225
+ region="us-central1",
226
+ ip_address=ip1_network1.id,
227
+ load_balancing_scheme="",
228
+ network=network1.id,
229
+ target=instance_user_conn_instance.psc_attachment_details[0].service_attachment)
230
+ ip2_network1 = gcp.compute.Address("ip2_network1",
231
+ name="ip2-net1",
232
+ region="us-central1",
233
+ subnetwork=subnet_network1.id,
234
+ address_type="INTERNAL",
235
+ purpose="GCE_ENDPOINT")
236
+ forwarding_rule2_network1 = gcp.compute.ForwardingRule("forwarding_rule2_network1",
237
+ name="fwd2-net1",
238
+ region="us-central1",
239
+ ip_address=ip2_network1.id,
240
+ load_balancing_scheme="",
241
+ network=network1.id,
242
+ target=instance_user_conn_instance.psc_attachment_details[1].service_attachment)
243
+ network2 = gcp.compute.Network("network2",
244
+ name="network2",
245
+ auto_create_subnetworks=False)
246
+ subnet_network2 = gcp.compute.Subnetwork("subnet_network2",
247
+ name="subnet-net2",
248
+ ip_cidr_range="10.0.0.248/29",
249
+ region="us-central1",
250
+ network=network2.id)
251
+ ip1_network2 = gcp.compute.Address("ip1_network2",
252
+ name="ip1-net2",
253
+ region="us-central1",
254
+ subnetwork=subnet_network2.id,
255
+ address_type="INTERNAL",
256
+ purpose="GCE_ENDPOINT")
257
+ forwarding_rule1_network2 = gcp.compute.ForwardingRule("forwarding_rule1_network2",
258
+ name="fwd1-net2",
259
+ region="us-central1",
260
+ ip_address=ip1_network2.id,
261
+ load_balancing_scheme="",
262
+ network=network2.id,
263
+ target=instance_user_conn_instance.psc_attachment_details[0].service_attachment)
264
+ ip2_network2 = gcp.compute.Address("ip2_network2",
265
+ name="ip2-net2",
266
+ region="us-central1",
267
+ subnetwork=subnet_network2.id,
268
+ address_type="INTERNAL",
269
+ purpose="GCE_ENDPOINT")
270
+ forwarding_rule2_network2 = gcp.compute.ForwardingRule("forwarding_rule2_network2",
271
+ name="fwd2-net2",
272
+ region="us-central1",
273
+ ip_address=ip2_network2.id,
274
+ load_balancing_scheme="",
275
+ network=network2.id,
276
+ target=instance_user_conn_instance.psc_attachment_details[1].service_attachment)
277
+ instance_user_conn = gcp.memorystore.InstanceDesiredUserCreatedEndpoints("instance-user-conn",
278
+ name="instance-user-conn",
279
+ region="us-central1",
280
+ desired_user_created_endpoints=[
281
+ {
282
+ "connections": [
283
+ {
284
+ "psc_connection": {
285
+ "psc_connection_id": forwarding_rule1_network1.psc_connection_id,
286
+ "ip_address": ip1_network1.address,
287
+ "forwarding_rule": forwarding_rule1_network1.id,
288
+ "network": network1.id,
289
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[0].service_attachment,
290
+ },
291
+ },
292
+ {
293
+ "psc_connection": {
294
+ "psc_connection_id": forwarding_rule2_network1.psc_connection_id,
295
+ "ip_address": ip2_network1.address,
296
+ "forwarding_rule": forwarding_rule2_network1.id,
297
+ "network": network1.id,
298
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[1].service_attachment,
299
+ },
300
+ },
301
+ ],
302
+ },
303
+ {
304
+ "connections": [
305
+ {
306
+ "psc_connection": {
307
+ "psc_connection_id": forwarding_rule1_network2.psc_connection_id,
308
+ "ip_address": ip1_network2.address,
309
+ "forwarding_rule": forwarding_rule1_network2.id,
310
+ "network": network2.id,
311
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[0].service_attachment,
312
+ },
313
+ },
314
+ {
315
+ "psc_connection": {
316
+ "psc_connection_id": forwarding_rule2_network2.psc_connection_id,
317
+ "ip_address": ip2_network2.address,
318
+ "forwarding_rule": forwarding_rule2_network2.id,
319
+ "network": network2.id,
320
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[1].service_attachment,
321
+ },
322
+ },
323
+ ],
324
+ },
325
+ ])
326
+ project = gcp.organizations.get_project()
327
+ ```
328
+ ### Memorystore Instance Desired User And Auto Created Endpoints
329
+
330
+ ```python
331
+ import pulumi
332
+ import pulumi_gcp as gcp
333
+
334
+ network2 = gcp.compute.Network("network2",
335
+ name="network2",
336
+ auto_create_subnetworks=False)
337
+ subnet_network2 = gcp.compute.Subnetwork("subnet_network2",
338
+ name="subnet-net2",
339
+ ip_cidr_range="10.0.0.248/29",
340
+ region="us-central1",
341
+ network=network2.id)
342
+ ip1_network2 = gcp.compute.Address("ip1_network2",
343
+ name="ip1-net2",
344
+ region="us-central1",
345
+ subnetwork=subnet_network2.id,
346
+ address_type="INTERNAL",
347
+ purpose="GCE_ENDPOINT")
348
+ network1 = gcp.compute.Network("network1",
349
+ name="net1",
350
+ auto_create_subnetworks=False)
351
+ subnet_network1 = gcp.compute.Subnetwork("subnet_network1",
352
+ name="subnet-net1",
353
+ ip_cidr_range="10.0.0.248/29",
354
+ region="us-central1",
355
+ network=network1.id)
356
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
357
+ name="scpolicy",
358
+ location="us-central1",
359
+ service_class="gcp-memorystore",
360
+ description="my basic service connection policy",
361
+ network=network1.id,
362
+ psc_config={
363
+ "subnetworks": [subnet_network1.id],
364
+ })
365
+ project = gcp.organizations.get_project()
366
+ #valkey instance with endpoints
367
+ instance_user_auto_conn_instance = gcp.memorystore.Instance("instance-user-auto-conn",
368
+ instance_id="instance-user-auto-conn",
369
+ shard_count=1,
370
+ desired_psc_auto_connections=[{
371
+ "network": network1.id,
372
+ "project_id": project.project_id,
373
+ }],
374
+ location="us-central1",
375
+ deletion_protection_enabled=False,
376
+ opts = pulumi.ResourceOptions(depends_on=[default]))
377
+ forwarding_rule1_network2 = gcp.compute.ForwardingRule("forwarding_rule1_network2",
378
+ name="fwd1-net2",
379
+ region="us-central1",
380
+ ip_address=ip1_network2.id,
381
+ load_balancing_scheme="",
382
+ network=network2.id,
383
+ target=instance_user_auto_conn_instance.psc_attachment_details[0].service_attachment)
384
+ ip2_network2 = gcp.compute.Address("ip2_network2",
385
+ name="ip2-net2",
386
+ region="us-central1",
387
+ subnetwork=subnet_network2.id,
388
+ address_type="INTERNAL",
389
+ purpose="GCE_ENDPOINT")
390
+ forwarding_rule2_network2 = gcp.compute.ForwardingRule("forwarding_rule2_network2",
391
+ name="fwd2-net2",
392
+ region="us-central1",
393
+ ip_address=ip2_network2.id,
394
+ load_balancing_scheme="",
395
+ network=network2.id,
396
+ target=instance_user_auto_conn_instance.psc_attachment_details[1].service_attachment)
397
+ instance_user_auto_conn = gcp.memorystore.InstanceDesiredUserCreatedEndpoints("instance-user-auto-conn",
398
+ name="instance-user-auto-conn",
399
+ region="us-central1",
400
+ desired_user_created_endpoints=[{
401
+ "connections": [
402
+ {
403
+ "psc_connection": {
404
+ "psc_connection_id": forwarding_rule1_network2.psc_connection_id,
405
+ "ip_address": ip1_network2.address,
406
+ "forwarding_rule": forwarding_rule1_network2.id,
407
+ "network": network2.id,
408
+ "service_attachment": instance_user_auto_conn_instance.psc_attachment_details[0].service_attachment,
409
+ },
410
+ },
411
+ {
412
+ "psc_connection": {
413
+ "psc_connection_id": forwarding_rule2_network2.psc_connection_id,
414
+ "ip_address": ip2_network2.address,
415
+ "forwarding_rule": forwarding_rule2_network2.id,
416
+ "network": network2.id,
417
+ "service_attachment": instance_user_auto_conn_instance.psc_attachment_details[1].service_attachment,
418
+ },
419
+ },
420
+ ],
421
+ }])
422
+ ```
423
+
424
+ ## Import
425
+
426
+ InstanceDesiredUserCreatedEndpoints can be imported using any of these accepted formats:
427
+
428
+ * `projects/{{project}}/locations/{{region}}/instances/{{name}}`
429
+
430
+ * `{{project}}/{{region}}/{{name}}`
431
+
432
+ * `{{region}}/{{name}}`
433
+
434
+ * `{{name}}`
435
+
436
+ When using the `pulumi import` command, InstanceDesiredUserCreatedEndpoints can be imported using one of the formats above. For example:
437
+
438
+ ```sh
439
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default projects/{{project}}/locations/{{region}}/instances/{{name}}
440
+ ```
441
+
442
+ ```sh
443
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default {{project}}/{{region}}/{{name}}
444
+ ```
445
+
446
+ ```sh
447
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default {{region}}/{{name}}
448
+ ```
449
+
450
+ ```sh
451
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default {{name}}
452
+ ```
453
+
454
+ :param str resource_name: The name of the resource.
455
+ :param pulumi.ResourceOptions opts: Options for the resource.
456
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs', 'InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgsDict']]]] desired_user_created_endpoints: A list of desired user endpoints
457
+ Structure is documented below.
458
+ :param pulumi.Input[str] name: The name of the Memorystore instance these endpoints should be added to.
459
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
460
+ If it is not provided, the provider project is used.
461
+ :param pulumi.Input[str] region: The name of the region of the Memorystore instance these endpoints should be added to.
462
+
463
+
464
+ - - -
465
+ """
466
+ ...
467
+ @overload
468
+ def __init__(__self__,
469
+ resource_name: str,
470
+ args: InstanceDesiredUserCreatedEndpointsArgs,
471
+ opts: Optional[pulumi.ResourceOptions] = None):
472
+ """
473
+ ## Example Usage
474
+
475
+ ### Memorystore Instance Desired User Created Endpoints
476
+
477
+ ```python
478
+ import pulumi
479
+ import pulumi_gcp as gcp
480
+
481
+ network1 = gcp.compute.Network("network1",
482
+ name="net1",
483
+ auto_create_subnetworks=False)
484
+ subnet_network1 = gcp.compute.Subnetwork("subnet_network1",
485
+ name="subnet-net1",
486
+ ip_cidr_range="10.0.0.248/29",
487
+ region="us-central1",
488
+ network=network1.id)
489
+ ip1_network1 = gcp.compute.Address("ip1_network1",
490
+ name="ip1-net1",
491
+ region="us-central1",
492
+ subnetwork=subnet_network1.id,
493
+ address_type="INTERNAL",
494
+ purpose="GCE_ENDPOINT")
495
+ #Valkey instance without endpoints
496
+ instance_user_conn_instance = gcp.memorystore.Instance("instance-user-conn",
497
+ instance_id="instance-user-conn",
498
+ shard_count=1,
499
+ location="us-central1",
500
+ deletion_protection_enabled=False)
501
+ forwarding_rule1_network1 = gcp.compute.ForwardingRule("forwarding_rule1_network1",
502
+ name="fwd1-net1",
503
+ region="us-central1",
504
+ ip_address=ip1_network1.id,
505
+ load_balancing_scheme="",
506
+ network=network1.id,
507
+ target=instance_user_conn_instance.psc_attachment_details[0].service_attachment)
508
+ ip2_network1 = gcp.compute.Address("ip2_network1",
509
+ name="ip2-net1",
510
+ region="us-central1",
511
+ subnetwork=subnet_network1.id,
512
+ address_type="INTERNAL",
513
+ purpose="GCE_ENDPOINT")
514
+ forwarding_rule2_network1 = gcp.compute.ForwardingRule("forwarding_rule2_network1",
515
+ name="fwd2-net1",
516
+ region="us-central1",
517
+ ip_address=ip2_network1.id,
518
+ load_balancing_scheme="",
519
+ network=network1.id,
520
+ target=instance_user_conn_instance.psc_attachment_details[1].service_attachment)
521
+ network2 = gcp.compute.Network("network2",
522
+ name="network2",
523
+ auto_create_subnetworks=False)
524
+ subnet_network2 = gcp.compute.Subnetwork("subnet_network2",
525
+ name="subnet-net2",
526
+ ip_cidr_range="10.0.0.248/29",
527
+ region="us-central1",
528
+ network=network2.id)
529
+ ip1_network2 = gcp.compute.Address("ip1_network2",
530
+ name="ip1-net2",
531
+ region="us-central1",
532
+ subnetwork=subnet_network2.id,
533
+ address_type="INTERNAL",
534
+ purpose="GCE_ENDPOINT")
535
+ forwarding_rule1_network2 = gcp.compute.ForwardingRule("forwarding_rule1_network2",
536
+ name="fwd1-net2",
537
+ region="us-central1",
538
+ ip_address=ip1_network2.id,
539
+ load_balancing_scheme="",
540
+ network=network2.id,
541
+ target=instance_user_conn_instance.psc_attachment_details[0].service_attachment)
542
+ ip2_network2 = gcp.compute.Address("ip2_network2",
543
+ name="ip2-net2",
544
+ region="us-central1",
545
+ subnetwork=subnet_network2.id,
546
+ address_type="INTERNAL",
547
+ purpose="GCE_ENDPOINT")
548
+ forwarding_rule2_network2 = gcp.compute.ForwardingRule("forwarding_rule2_network2",
549
+ name="fwd2-net2",
550
+ region="us-central1",
551
+ ip_address=ip2_network2.id,
552
+ load_balancing_scheme="",
553
+ network=network2.id,
554
+ target=instance_user_conn_instance.psc_attachment_details[1].service_attachment)
555
+ instance_user_conn = gcp.memorystore.InstanceDesiredUserCreatedEndpoints("instance-user-conn",
556
+ name="instance-user-conn",
557
+ region="us-central1",
558
+ desired_user_created_endpoints=[
559
+ {
560
+ "connections": [
561
+ {
562
+ "psc_connection": {
563
+ "psc_connection_id": forwarding_rule1_network1.psc_connection_id,
564
+ "ip_address": ip1_network1.address,
565
+ "forwarding_rule": forwarding_rule1_network1.id,
566
+ "network": network1.id,
567
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[0].service_attachment,
568
+ },
569
+ },
570
+ {
571
+ "psc_connection": {
572
+ "psc_connection_id": forwarding_rule2_network1.psc_connection_id,
573
+ "ip_address": ip2_network1.address,
574
+ "forwarding_rule": forwarding_rule2_network1.id,
575
+ "network": network1.id,
576
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[1].service_attachment,
577
+ },
578
+ },
579
+ ],
580
+ },
581
+ {
582
+ "connections": [
583
+ {
584
+ "psc_connection": {
585
+ "psc_connection_id": forwarding_rule1_network2.psc_connection_id,
586
+ "ip_address": ip1_network2.address,
587
+ "forwarding_rule": forwarding_rule1_network2.id,
588
+ "network": network2.id,
589
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[0].service_attachment,
590
+ },
591
+ },
592
+ {
593
+ "psc_connection": {
594
+ "psc_connection_id": forwarding_rule2_network2.psc_connection_id,
595
+ "ip_address": ip2_network2.address,
596
+ "forwarding_rule": forwarding_rule2_network2.id,
597
+ "network": network2.id,
598
+ "service_attachment": instance_user_conn_instance.psc_attachment_details[1].service_attachment,
599
+ },
600
+ },
601
+ ],
602
+ },
603
+ ])
604
+ project = gcp.organizations.get_project()
605
+ ```
606
+ ### Memorystore Instance Desired User And Auto Created Endpoints
607
+
608
+ ```python
609
+ import pulumi
610
+ import pulumi_gcp as gcp
611
+
612
+ network2 = gcp.compute.Network("network2",
613
+ name="network2",
614
+ auto_create_subnetworks=False)
615
+ subnet_network2 = gcp.compute.Subnetwork("subnet_network2",
616
+ name="subnet-net2",
617
+ ip_cidr_range="10.0.0.248/29",
618
+ region="us-central1",
619
+ network=network2.id)
620
+ ip1_network2 = gcp.compute.Address("ip1_network2",
621
+ name="ip1-net2",
622
+ region="us-central1",
623
+ subnetwork=subnet_network2.id,
624
+ address_type="INTERNAL",
625
+ purpose="GCE_ENDPOINT")
626
+ network1 = gcp.compute.Network("network1",
627
+ name="net1",
628
+ auto_create_subnetworks=False)
629
+ subnet_network1 = gcp.compute.Subnetwork("subnet_network1",
630
+ name="subnet-net1",
631
+ ip_cidr_range="10.0.0.248/29",
632
+ region="us-central1",
633
+ network=network1.id)
634
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
635
+ name="scpolicy",
636
+ location="us-central1",
637
+ service_class="gcp-memorystore",
638
+ description="my basic service connection policy",
639
+ network=network1.id,
640
+ psc_config={
641
+ "subnetworks": [subnet_network1.id],
642
+ })
643
+ project = gcp.organizations.get_project()
644
+ #valkey instance with endpoints
645
+ instance_user_auto_conn_instance = gcp.memorystore.Instance("instance-user-auto-conn",
646
+ instance_id="instance-user-auto-conn",
647
+ shard_count=1,
648
+ desired_psc_auto_connections=[{
649
+ "network": network1.id,
650
+ "project_id": project.project_id,
651
+ }],
652
+ location="us-central1",
653
+ deletion_protection_enabled=False,
654
+ opts = pulumi.ResourceOptions(depends_on=[default]))
655
+ forwarding_rule1_network2 = gcp.compute.ForwardingRule("forwarding_rule1_network2",
656
+ name="fwd1-net2",
657
+ region="us-central1",
658
+ ip_address=ip1_network2.id,
659
+ load_balancing_scheme="",
660
+ network=network2.id,
661
+ target=instance_user_auto_conn_instance.psc_attachment_details[0].service_attachment)
662
+ ip2_network2 = gcp.compute.Address("ip2_network2",
663
+ name="ip2-net2",
664
+ region="us-central1",
665
+ subnetwork=subnet_network2.id,
666
+ address_type="INTERNAL",
667
+ purpose="GCE_ENDPOINT")
668
+ forwarding_rule2_network2 = gcp.compute.ForwardingRule("forwarding_rule2_network2",
669
+ name="fwd2-net2",
670
+ region="us-central1",
671
+ ip_address=ip2_network2.id,
672
+ load_balancing_scheme="",
673
+ network=network2.id,
674
+ target=instance_user_auto_conn_instance.psc_attachment_details[1].service_attachment)
675
+ instance_user_auto_conn = gcp.memorystore.InstanceDesiredUserCreatedEndpoints("instance-user-auto-conn",
676
+ name="instance-user-auto-conn",
677
+ region="us-central1",
678
+ desired_user_created_endpoints=[{
679
+ "connections": [
680
+ {
681
+ "psc_connection": {
682
+ "psc_connection_id": forwarding_rule1_network2.psc_connection_id,
683
+ "ip_address": ip1_network2.address,
684
+ "forwarding_rule": forwarding_rule1_network2.id,
685
+ "network": network2.id,
686
+ "service_attachment": instance_user_auto_conn_instance.psc_attachment_details[0].service_attachment,
687
+ },
688
+ },
689
+ {
690
+ "psc_connection": {
691
+ "psc_connection_id": forwarding_rule2_network2.psc_connection_id,
692
+ "ip_address": ip2_network2.address,
693
+ "forwarding_rule": forwarding_rule2_network2.id,
694
+ "network": network2.id,
695
+ "service_attachment": instance_user_auto_conn_instance.psc_attachment_details[1].service_attachment,
696
+ },
697
+ },
698
+ ],
699
+ }])
700
+ ```
701
+
702
+ ## Import
703
+
704
+ InstanceDesiredUserCreatedEndpoints can be imported using any of these accepted formats:
705
+
706
+ * `projects/{{project}}/locations/{{region}}/instances/{{name}}`
707
+
708
+ * `{{project}}/{{region}}/{{name}}`
709
+
710
+ * `{{region}}/{{name}}`
711
+
712
+ * `{{name}}`
713
+
714
+ When using the `pulumi import` command, InstanceDesiredUserCreatedEndpoints can be imported using one of the formats above. For example:
715
+
716
+ ```sh
717
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default projects/{{project}}/locations/{{region}}/instances/{{name}}
718
+ ```
719
+
720
+ ```sh
721
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default {{project}}/{{region}}/{{name}}
722
+ ```
723
+
724
+ ```sh
725
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default {{region}}/{{name}}
726
+ ```
727
+
728
+ ```sh
729
+ $ pulumi import gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints default {{name}}
730
+ ```
731
+
732
+ :param str resource_name: The name of the resource.
733
+ :param InstanceDesiredUserCreatedEndpointsArgs args: The arguments to use to populate this resource's properties.
734
+ :param pulumi.ResourceOptions opts: Options for the resource.
735
+ """
736
+ ...
737
+ def __init__(__self__, resource_name: str, *args, **kwargs):
738
+ resource_args, opts = _utilities.get_resource_args_opts(InstanceDesiredUserCreatedEndpointsArgs, pulumi.ResourceOptions, *args, **kwargs)
739
+ if resource_args is not None:
740
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
741
+ else:
742
+ __self__._internal_init(resource_name, *args, **kwargs)
743
+
744
+ def _internal_init(__self__,
745
+ resource_name: str,
746
+ opts: Optional[pulumi.ResourceOptions] = None,
747
+ desired_user_created_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs', 'InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgsDict']]]]] = None,
748
+ name: Optional[pulumi.Input[str]] = None,
749
+ project: Optional[pulumi.Input[str]] = None,
750
+ region: Optional[pulumi.Input[str]] = None,
751
+ __props__=None):
752
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
753
+ if not isinstance(opts, pulumi.ResourceOptions):
754
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
755
+ if opts.id is None:
756
+ if __props__ is not None:
757
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
758
+ __props__ = InstanceDesiredUserCreatedEndpointsArgs.__new__(InstanceDesiredUserCreatedEndpointsArgs)
759
+
760
+ __props__.__dict__["desired_user_created_endpoints"] = desired_user_created_endpoints
761
+ __props__.__dict__["name"] = name
762
+ __props__.__dict__["project"] = project
763
+ if region is None and not opts.urn:
764
+ raise TypeError("Missing required property 'region'")
765
+ __props__.__dict__["region"] = region
766
+ super(InstanceDesiredUserCreatedEndpoints, __self__).__init__(
767
+ 'gcp:memorystore/instanceDesiredUserCreatedEndpoints:InstanceDesiredUserCreatedEndpoints',
768
+ resource_name,
769
+ __props__,
770
+ opts)
771
+
772
+ @staticmethod
773
+ def get(resource_name: str,
774
+ id: pulumi.Input[str],
775
+ opts: Optional[pulumi.ResourceOptions] = None,
776
+ desired_user_created_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs', 'InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgsDict']]]]] = None,
777
+ name: Optional[pulumi.Input[str]] = None,
778
+ project: Optional[pulumi.Input[str]] = None,
779
+ region: Optional[pulumi.Input[str]] = None) -> 'InstanceDesiredUserCreatedEndpoints':
780
+ """
781
+ Get an existing InstanceDesiredUserCreatedEndpoints resource's state with the given name, id, and optional extra
782
+ properties used to qualify the lookup.
783
+
784
+ :param str resource_name: The unique name of the resulting resource.
785
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
786
+ :param pulumi.ResourceOptions opts: Options for the resource.
787
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgs', 'InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpointArgsDict']]]] desired_user_created_endpoints: A list of desired user endpoints
788
+ Structure is documented below.
789
+ :param pulumi.Input[str] name: The name of the Memorystore instance these endpoints should be added to.
790
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
791
+ If it is not provided, the provider project is used.
792
+ :param pulumi.Input[str] region: The name of the region of the Memorystore instance these endpoints should be added to.
793
+
794
+
795
+ - - -
796
+ """
797
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
798
+
799
+ __props__ = _InstanceDesiredUserCreatedEndpointsState.__new__(_InstanceDesiredUserCreatedEndpointsState)
800
+
801
+ __props__.__dict__["desired_user_created_endpoints"] = desired_user_created_endpoints
802
+ __props__.__dict__["name"] = name
803
+ __props__.__dict__["project"] = project
804
+ __props__.__dict__["region"] = region
805
+ return InstanceDesiredUserCreatedEndpoints(resource_name, opts=opts, __props__=__props__)
806
+
807
+ @property
808
+ @pulumi.getter(name="desiredUserCreatedEndpoints")
809
+ def desired_user_created_endpoints(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceDesiredUserCreatedEndpointsDesiredUserCreatedEndpoint']]]:
810
+ """
811
+ A list of desired user endpoints
812
+ Structure is documented below.
813
+ """
814
+ return pulumi.get(self, "desired_user_created_endpoints")
815
+
816
+ @property
817
+ @pulumi.getter
818
+ def name(self) -> pulumi.Output[str]:
819
+ """
820
+ The name of the Memorystore instance these endpoints should be added to.
821
+ """
822
+ return pulumi.get(self, "name")
823
+
824
+ @property
825
+ @pulumi.getter
826
+ def project(self) -> pulumi.Output[str]:
827
+ """
828
+ The ID of the project in which the resource belongs.
829
+ If it is not provided, the provider project is used.
830
+ """
831
+ return pulumi.get(self, "project")
832
+
833
+ @property
834
+ @pulumi.getter
835
+ def region(self) -> pulumi.Output[str]:
836
+ """
837
+ The name of the region of the Memorystore instance these endpoints should be added to.
838
+
839
+
840
+ - - -
841
+ """
842
+ return pulumi.get(self, "region")
843
+