pulumi-gcp 8.24.0a1743177741__py3-none-any.whl → 8.25.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 (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.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,491 @@
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__ = ['DnsZoneArgs', 'DnsZone']
20
+
21
+ @pulumi.input_type
22
+ class DnsZoneArgs:
23
+ def __init__(__self__, *,
24
+ description: pulumi.Input[str],
25
+ dns_zone_id: pulumi.Input[str],
26
+ domain: pulumi.Input[str],
27
+ org_id: pulumi.Input[str],
28
+ peering_config: pulumi.Input['DnsZonePeeringConfigArgs']):
29
+ """
30
+ The set of arguments for constructing a DnsZone resource.
31
+ :param pulumi.Input[str] description: Description for the zone.
32
+ :param pulumi.Input[str] dns_zone_id: ID of the dns zone.
33
+ :param pulumi.Input[str] domain: Doamin for the zone.
34
+ :param pulumi.Input[str] org_id: The Apigee Organization associated with the Apigee instance,
35
+ in the format `organizations/{{org_name}}`.
36
+ :param pulumi.Input['DnsZonePeeringConfigArgs'] peering_config: Peering zone config
37
+ Structure is documented below.
38
+ """
39
+ pulumi.set(__self__, "description", description)
40
+ pulumi.set(__self__, "dns_zone_id", dns_zone_id)
41
+ pulumi.set(__self__, "domain", domain)
42
+ pulumi.set(__self__, "org_id", org_id)
43
+ pulumi.set(__self__, "peering_config", peering_config)
44
+
45
+ @property
46
+ @pulumi.getter
47
+ def description(self) -> pulumi.Input[str]:
48
+ """
49
+ Description for the zone.
50
+ """
51
+ return pulumi.get(self, "description")
52
+
53
+ @description.setter
54
+ def description(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "description", value)
56
+
57
+ @property
58
+ @pulumi.getter(name="dnsZoneId")
59
+ def dns_zone_id(self) -> pulumi.Input[str]:
60
+ """
61
+ ID of the dns zone.
62
+ """
63
+ return pulumi.get(self, "dns_zone_id")
64
+
65
+ @dns_zone_id.setter
66
+ def dns_zone_id(self, value: pulumi.Input[str]):
67
+ pulumi.set(self, "dns_zone_id", value)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def domain(self) -> pulumi.Input[str]:
72
+ """
73
+ Doamin for the zone.
74
+ """
75
+ return pulumi.get(self, "domain")
76
+
77
+ @domain.setter
78
+ def domain(self, value: pulumi.Input[str]):
79
+ pulumi.set(self, "domain", value)
80
+
81
+ @property
82
+ @pulumi.getter(name="orgId")
83
+ def org_id(self) -> pulumi.Input[str]:
84
+ """
85
+ The Apigee Organization associated with the Apigee instance,
86
+ in the format `organizations/{{org_name}}`.
87
+ """
88
+ return pulumi.get(self, "org_id")
89
+
90
+ @org_id.setter
91
+ def org_id(self, value: pulumi.Input[str]):
92
+ pulumi.set(self, "org_id", value)
93
+
94
+ @property
95
+ @pulumi.getter(name="peeringConfig")
96
+ def peering_config(self) -> pulumi.Input['DnsZonePeeringConfigArgs']:
97
+ """
98
+ Peering zone config
99
+ Structure is documented below.
100
+ """
101
+ return pulumi.get(self, "peering_config")
102
+
103
+ @peering_config.setter
104
+ def peering_config(self, value: pulumi.Input['DnsZonePeeringConfigArgs']):
105
+ pulumi.set(self, "peering_config", value)
106
+
107
+
108
+ @pulumi.input_type
109
+ class _DnsZoneState:
110
+ def __init__(__self__, *,
111
+ description: Optional[pulumi.Input[str]] = None,
112
+ dns_zone_id: Optional[pulumi.Input[str]] = None,
113
+ domain: Optional[pulumi.Input[str]] = None,
114
+ name: Optional[pulumi.Input[str]] = None,
115
+ org_id: Optional[pulumi.Input[str]] = None,
116
+ peering_config: Optional[pulumi.Input['DnsZonePeeringConfigArgs']] = None):
117
+ """
118
+ Input properties used for looking up and filtering DnsZone resources.
119
+ :param pulumi.Input[str] description: Description for the zone.
120
+ :param pulumi.Input[str] dns_zone_id: ID of the dns zone.
121
+ :param pulumi.Input[str] domain: Doamin for the zone.
122
+ :param pulumi.Input[str] name: Name of the Dns Zone in the following format:
123
+ organizations/{organization}/dnsZones/{dnsZone}.
124
+ :param pulumi.Input[str] org_id: The Apigee Organization associated with the Apigee instance,
125
+ in the format `organizations/{{org_name}}`.
126
+ :param pulumi.Input['DnsZonePeeringConfigArgs'] peering_config: Peering zone config
127
+ Structure is documented below.
128
+ """
129
+ if description is not None:
130
+ pulumi.set(__self__, "description", description)
131
+ if dns_zone_id is not None:
132
+ pulumi.set(__self__, "dns_zone_id", dns_zone_id)
133
+ if domain is not None:
134
+ pulumi.set(__self__, "domain", domain)
135
+ if name is not None:
136
+ pulumi.set(__self__, "name", name)
137
+ if org_id is not None:
138
+ pulumi.set(__self__, "org_id", org_id)
139
+ if peering_config is not None:
140
+ pulumi.set(__self__, "peering_config", peering_config)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def description(self) -> Optional[pulumi.Input[str]]:
145
+ """
146
+ Description for the zone.
147
+ """
148
+ return pulumi.get(self, "description")
149
+
150
+ @description.setter
151
+ def description(self, value: Optional[pulumi.Input[str]]):
152
+ pulumi.set(self, "description", value)
153
+
154
+ @property
155
+ @pulumi.getter(name="dnsZoneId")
156
+ def dns_zone_id(self) -> Optional[pulumi.Input[str]]:
157
+ """
158
+ ID of the dns zone.
159
+ """
160
+ return pulumi.get(self, "dns_zone_id")
161
+
162
+ @dns_zone_id.setter
163
+ def dns_zone_id(self, value: Optional[pulumi.Input[str]]):
164
+ pulumi.set(self, "dns_zone_id", value)
165
+
166
+ @property
167
+ @pulumi.getter
168
+ def domain(self) -> Optional[pulumi.Input[str]]:
169
+ """
170
+ Doamin for the zone.
171
+ """
172
+ return pulumi.get(self, "domain")
173
+
174
+ @domain.setter
175
+ def domain(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "domain", value)
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def name(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ Name of the Dns Zone in the following format:
183
+ organizations/{organization}/dnsZones/{dnsZone}.
184
+ """
185
+ return pulumi.get(self, "name")
186
+
187
+ @name.setter
188
+ def name(self, value: Optional[pulumi.Input[str]]):
189
+ pulumi.set(self, "name", value)
190
+
191
+ @property
192
+ @pulumi.getter(name="orgId")
193
+ def org_id(self) -> Optional[pulumi.Input[str]]:
194
+ """
195
+ The Apigee Organization associated with the Apigee instance,
196
+ in the format `organizations/{{org_name}}`.
197
+ """
198
+ return pulumi.get(self, "org_id")
199
+
200
+ @org_id.setter
201
+ def org_id(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "org_id", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="peeringConfig")
206
+ def peering_config(self) -> Optional[pulumi.Input['DnsZonePeeringConfigArgs']]:
207
+ """
208
+ Peering zone config
209
+ Structure is documented below.
210
+ """
211
+ return pulumi.get(self, "peering_config")
212
+
213
+ @peering_config.setter
214
+ def peering_config(self, value: Optional[pulumi.Input['DnsZonePeeringConfigArgs']]):
215
+ pulumi.set(self, "peering_config", value)
216
+
217
+
218
+ class DnsZone(pulumi.CustomResource):
219
+ @overload
220
+ def __init__(__self__,
221
+ resource_name: str,
222
+ opts: Optional[pulumi.ResourceOptions] = None,
223
+ description: Optional[pulumi.Input[str]] = None,
224
+ dns_zone_id: Optional[pulumi.Input[str]] = None,
225
+ domain: Optional[pulumi.Input[str]] = None,
226
+ org_id: Optional[pulumi.Input[str]] = None,
227
+ peering_config: Optional[pulumi.Input[Union['DnsZonePeeringConfigArgs', 'DnsZonePeeringConfigArgsDict']]] = None,
228
+ __props__=None):
229
+ """
230
+ Apigee Dns Zone.
231
+
232
+ To get more information about DnsZone, see:
233
+
234
+ * [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.dnsZones/create)
235
+ * How-to Guides
236
+ * [Creating a DnsZone](https://cloud.google.com/apigee/docs/api-platform/get-started/create-dns)
237
+
238
+ ## Example Usage
239
+
240
+ ### Apigee Dns Zone Basic
241
+
242
+ ```python
243
+ import pulumi
244
+ import pulumi_gcp as gcp
245
+
246
+ current = gcp.organizations.get_client_config()
247
+ apigee_network = gcp.compute.Network("apigee_network", name="apigee-network")
248
+ org = gcp.apigee.Organization("org",
249
+ description="Terraform-provisioned basic Apigee Org without VPC Peering.",
250
+ analytics_region="us-central1",
251
+ project_id=current.project,
252
+ disable_vpc_peering=True)
253
+ apigee_dns_zone = gcp.apigee.DnsZone("apigee_dns_zone",
254
+ org_id=apigee_org["id"],
255
+ dns_zone_id="test1",
256
+ domain="foo.com",
257
+ description="test",
258
+ peering_config={
259
+ "target_project_id": current.project,
260
+ "target_network_id": apigee_network.id,
261
+ })
262
+ ```
263
+
264
+ ## Import
265
+
266
+ DnsZone can be imported using any of these accepted formats:
267
+
268
+ * `{{org_id}}/dnsZones/{{dns_zone_id}}`
269
+
270
+ * `{{org_id}}/{{dns_zone_id}}`
271
+
272
+ When using the `pulumi import` command, DnsZone can be imported using one of the formats above. For example:
273
+
274
+ ```sh
275
+ $ pulumi import gcp:apigee/dnsZone:DnsZone default {{org_id}}/dnsZones/{{dns_zone_id}}
276
+ ```
277
+
278
+ ```sh
279
+ $ pulumi import gcp:apigee/dnsZone:DnsZone default {{org_id}}/{{dns_zone_id}}
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[str] description: Description for the zone.
285
+ :param pulumi.Input[str] dns_zone_id: ID of the dns zone.
286
+ :param pulumi.Input[str] domain: Doamin for the zone.
287
+ :param pulumi.Input[str] org_id: The Apigee Organization associated with the Apigee instance,
288
+ in the format `organizations/{{org_name}}`.
289
+ :param pulumi.Input[Union['DnsZonePeeringConfigArgs', 'DnsZonePeeringConfigArgsDict']] peering_config: Peering zone config
290
+ Structure is documented below.
291
+ """
292
+ ...
293
+ @overload
294
+ def __init__(__self__,
295
+ resource_name: str,
296
+ args: DnsZoneArgs,
297
+ opts: Optional[pulumi.ResourceOptions] = None):
298
+ """
299
+ Apigee Dns Zone.
300
+
301
+ To get more information about DnsZone, see:
302
+
303
+ * [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.dnsZones/create)
304
+ * How-to Guides
305
+ * [Creating a DnsZone](https://cloud.google.com/apigee/docs/api-platform/get-started/create-dns)
306
+
307
+ ## Example Usage
308
+
309
+ ### Apigee Dns Zone Basic
310
+
311
+ ```python
312
+ import pulumi
313
+ import pulumi_gcp as gcp
314
+
315
+ current = gcp.organizations.get_client_config()
316
+ apigee_network = gcp.compute.Network("apigee_network", name="apigee-network")
317
+ org = gcp.apigee.Organization("org",
318
+ description="Terraform-provisioned basic Apigee Org without VPC Peering.",
319
+ analytics_region="us-central1",
320
+ project_id=current.project,
321
+ disable_vpc_peering=True)
322
+ apigee_dns_zone = gcp.apigee.DnsZone("apigee_dns_zone",
323
+ org_id=apigee_org["id"],
324
+ dns_zone_id="test1",
325
+ domain="foo.com",
326
+ description="test",
327
+ peering_config={
328
+ "target_project_id": current.project,
329
+ "target_network_id": apigee_network.id,
330
+ })
331
+ ```
332
+
333
+ ## Import
334
+
335
+ DnsZone can be imported using any of these accepted formats:
336
+
337
+ * `{{org_id}}/dnsZones/{{dns_zone_id}}`
338
+
339
+ * `{{org_id}}/{{dns_zone_id}}`
340
+
341
+ When using the `pulumi import` command, DnsZone can be imported using one of the formats above. For example:
342
+
343
+ ```sh
344
+ $ pulumi import gcp:apigee/dnsZone:DnsZone default {{org_id}}/dnsZones/{{dns_zone_id}}
345
+ ```
346
+
347
+ ```sh
348
+ $ pulumi import gcp:apigee/dnsZone:DnsZone default {{org_id}}/{{dns_zone_id}}
349
+ ```
350
+
351
+ :param str resource_name: The name of the resource.
352
+ :param DnsZoneArgs args: The arguments to use to populate this resource's properties.
353
+ :param pulumi.ResourceOptions opts: Options for the resource.
354
+ """
355
+ ...
356
+ def __init__(__self__, resource_name: str, *args, **kwargs):
357
+ resource_args, opts = _utilities.get_resource_args_opts(DnsZoneArgs, pulumi.ResourceOptions, *args, **kwargs)
358
+ if resource_args is not None:
359
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
360
+ else:
361
+ __self__._internal_init(resource_name, *args, **kwargs)
362
+
363
+ def _internal_init(__self__,
364
+ resource_name: str,
365
+ opts: Optional[pulumi.ResourceOptions] = None,
366
+ description: Optional[pulumi.Input[str]] = None,
367
+ dns_zone_id: Optional[pulumi.Input[str]] = None,
368
+ domain: Optional[pulumi.Input[str]] = None,
369
+ org_id: Optional[pulumi.Input[str]] = None,
370
+ peering_config: Optional[pulumi.Input[Union['DnsZonePeeringConfigArgs', 'DnsZonePeeringConfigArgsDict']]] = None,
371
+ __props__=None):
372
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
373
+ if not isinstance(opts, pulumi.ResourceOptions):
374
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
375
+ if opts.id is None:
376
+ if __props__ is not None:
377
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
378
+ __props__ = DnsZoneArgs.__new__(DnsZoneArgs)
379
+
380
+ if description is None and not opts.urn:
381
+ raise TypeError("Missing required property 'description'")
382
+ __props__.__dict__["description"] = description
383
+ if dns_zone_id is None and not opts.urn:
384
+ raise TypeError("Missing required property 'dns_zone_id'")
385
+ __props__.__dict__["dns_zone_id"] = dns_zone_id
386
+ if domain is None and not opts.urn:
387
+ raise TypeError("Missing required property 'domain'")
388
+ __props__.__dict__["domain"] = domain
389
+ if org_id is None and not opts.urn:
390
+ raise TypeError("Missing required property 'org_id'")
391
+ __props__.__dict__["org_id"] = org_id
392
+ if peering_config is None and not opts.urn:
393
+ raise TypeError("Missing required property 'peering_config'")
394
+ __props__.__dict__["peering_config"] = peering_config
395
+ __props__.__dict__["name"] = None
396
+ super(DnsZone, __self__).__init__(
397
+ 'gcp:apigee/dnsZone:DnsZone',
398
+ resource_name,
399
+ __props__,
400
+ opts)
401
+
402
+ @staticmethod
403
+ def get(resource_name: str,
404
+ id: pulumi.Input[str],
405
+ opts: Optional[pulumi.ResourceOptions] = None,
406
+ description: Optional[pulumi.Input[str]] = None,
407
+ dns_zone_id: Optional[pulumi.Input[str]] = None,
408
+ domain: Optional[pulumi.Input[str]] = None,
409
+ name: Optional[pulumi.Input[str]] = None,
410
+ org_id: Optional[pulumi.Input[str]] = None,
411
+ peering_config: Optional[pulumi.Input[Union['DnsZonePeeringConfigArgs', 'DnsZonePeeringConfigArgsDict']]] = None) -> 'DnsZone':
412
+ """
413
+ Get an existing DnsZone resource's state with the given name, id, and optional extra
414
+ properties used to qualify the lookup.
415
+
416
+ :param str resource_name: The unique name of the resulting resource.
417
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
418
+ :param pulumi.ResourceOptions opts: Options for the resource.
419
+ :param pulumi.Input[str] description: Description for the zone.
420
+ :param pulumi.Input[str] dns_zone_id: ID of the dns zone.
421
+ :param pulumi.Input[str] domain: Doamin for the zone.
422
+ :param pulumi.Input[str] name: Name of the Dns Zone in the following format:
423
+ organizations/{organization}/dnsZones/{dnsZone}.
424
+ :param pulumi.Input[str] org_id: The Apigee Organization associated with the Apigee instance,
425
+ in the format `organizations/{{org_name}}`.
426
+ :param pulumi.Input[Union['DnsZonePeeringConfigArgs', 'DnsZonePeeringConfigArgsDict']] peering_config: Peering zone config
427
+ Structure is documented below.
428
+ """
429
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
430
+
431
+ __props__ = _DnsZoneState.__new__(_DnsZoneState)
432
+
433
+ __props__.__dict__["description"] = description
434
+ __props__.__dict__["dns_zone_id"] = dns_zone_id
435
+ __props__.__dict__["domain"] = domain
436
+ __props__.__dict__["name"] = name
437
+ __props__.__dict__["org_id"] = org_id
438
+ __props__.__dict__["peering_config"] = peering_config
439
+ return DnsZone(resource_name, opts=opts, __props__=__props__)
440
+
441
+ @property
442
+ @pulumi.getter
443
+ def description(self) -> pulumi.Output[str]:
444
+ """
445
+ Description for the zone.
446
+ """
447
+ return pulumi.get(self, "description")
448
+
449
+ @property
450
+ @pulumi.getter(name="dnsZoneId")
451
+ def dns_zone_id(self) -> pulumi.Output[str]:
452
+ """
453
+ ID of the dns zone.
454
+ """
455
+ return pulumi.get(self, "dns_zone_id")
456
+
457
+ @property
458
+ @pulumi.getter
459
+ def domain(self) -> pulumi.Output[str]:
460
+ """
461
+ Doamin for the zone.
462
+ """
463
+ return pulumi.get(self, "domain")
464
+
465
+ @property
466
+ @pulumi.getter
467
+ def name(self) -> pulumi.Output[str]:
468
+ """
469
+ Name of the Dns Zone in the following format:
470
+ organizations/{organization}/dnsZones/{dnsZone}.
471
+ """
472
+ return pulumi.get(self, "name")
473
+
474
+ @property
475
+ @pulumi.getter(name="orgId")
476
+ def org_id(self) -> pulumi.Output[str]:
477
+ """
478
+ The Apigee Organization associated with the Apigee instance,
479
+ in the format `organizations/{{org_name}}`.
480
+ """
481
+ return pulumi.get(self, "org_id")
482
+
483
+ @property
484
+ @pulumi.getter(name="peeringConfig")
485
+ def peering_config(self) -> pulumi.Output['outputs.DnsZonePeeringConfig']:
486
+ """
487
+ Peering zone config
488
+ Structure is documented below.
489
+ """
490
+ return pulumi.get(self, "peering_config")
491
+
@@ -25,6 +25,7 @@ __all__ = [
25
25
  'ApiMetaData',
26
26
  'AppGroupAttribute',
27
27
  'DeveloperAttribute',
28
+ 'DnsZonePeeringConfig',
28
29
  'EnvironmentIamBindingCondition',
29
30
  'EnvironmentIamMemberCondition',
30
31
  'EnvironmentNodeConfig',
@@ -430,6 +431,58 @@ class DeveloperAttribute(dict):
430
431
  return pulumi.get(self, "value")
431
432
 
432
433
 
434
+ @pulumi.output_type
435
+ class DnsZonePeeringConfig(dict):
436
+ @staticmethod
437
+ def __key_warning(key: str):
438
+ suggest = None
439
+ if key == "targetNetworkId":
440
+ suggest = "target_network_id"
441
+ elif key == "targetProjectId":
442
+ suggest = "target_project_id"
443
+
444
+ if suggest:
445
+ pulumi.log.warn(f"Key '{key}' not found in DnsZonePeeringConfig. Access the value via the '{suggest}' property getter instead.")
446
+
447
+ def __getitem__(self, key: str) -> Any:
448
+ DnsZonePeeringConfig.__key_warning(key)
449
+ return super().__getitem__(key)
450
+
451
+ def get(self, key: str, default = None) -> Any:
452
+ DnsZonePeeringConfig.__key_warning(key)
453
+ return super().get(key, default)
454
+
455
+ def __init__(__self__, *,
456
+ target_network_id: str,
457
+ target_project_id: str):
458
+ """
459
+ :param str target_network_id: The name of the producer VPC network.
460
+
461
+ - - -
462
+ :param str target_project_id: The ID of the project that contains the producer VPC network.
463
+ """
464
+ pulumi.set(__self__, "target_network_id", target_network_id)
465
+ pulumi.set(__self__, "target_project_id", target_project_id)
466
+
467
+ @property
468
+ @pulumi.getter(name="targetNetworkId")
469
+ def target_network_id(self) -> str:
470
+ """
471
+ The name of the producer VPC network.
472
+
473
+ - - -
474
+ """
475
+ return pulumi.get(self, "target_network_id")
476
+
477
+ @property
478
+ @pulumi.getter(name="targetProjectId")
479
+ def target_project_id(self) -> str:
480
+ """
481
+ The ID of the project that contains the producer VPC network.
482
+ """
483
+ return pulumi.get(self, "target_project_id")
484
+
485
+
433
486
  @pulumi.output_type
434
487
  class EnvironmentIamBindingCondition(dict):
435
488
  def __init__(__self__, *,
@@ -27,7 +27,7 @@ class ReservationAssignmentArgs:
27
27
  """
28
28
  The set of arguments for constructing a ReservationAssignment resource.
29
29
  :param pulumi.Input[str] assignee: The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456.
30
- :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
30
+ :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
31
31
  :param pulumi.Input[str] reservation: The reservation for the resource
32
32
 
33
33
 
@@ -60,7 +60,7 @@ class ReservationAssignmentArgs:
60
60
  @pulumi.getter(name="jobType")
61
61
  def job_type(self) -> pulumi.Input[str]:
62
62
  """
63
- Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
63
+ Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
64
64
  """
65
65
  return pulumi.get(self, "job_type")
66
66
 
@@ -122,7 +122,7 @@ class _ReservationAssignmentState:
122
122
  """
123
123
  Input properties used for looking up and filtering ReservationAssignment resources.
124
124
  :param pulumi.Input[str] assignee: The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456.
125
- :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
125
+ :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
126
126
  :param pulumi.Input[str] location: The location for the resource
127
127
  :param pulumi.Input[str] name: Output only. The resource name of the assignment.
128
128
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -165,7 +165,7 @@ class _ReservationAssignmentState:
165
165
  @pulumi.getter(name="jobType")
166
166
  def job_type(self) -> Optional[pulumi.Input[str]]:
167
167
  """
168
- Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
168
+ Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
169
169
  """
170
170
  return pulumi.get(self, "job_type")
171
171
 
@@ -306,7 +306,7 @@ class ReservationAssignment(pulumi.CustomResource):
306
306
  :param str resource_name: The name of the resource.
307
307
  :param pulumi.ResourceOptions opts: Options for the resource.
308
308
  :param pulumi.Input[str] assignee: The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456.
309
- :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
309
+ :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
310
310
  :param pulumi.Input[str] location: The location for the resource
311
311
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
312
312
  If it is not provided, the provider project is used.
@@ -441,7 +441,7 @@ class ReservationAssignment(pulumi.CustomResource):
441
441
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
442
442
  :param pulumi.ResourceOptions opts: Options for the resource.
443
443
  :param pulumi.Input[str] assignee: The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456.
444
- :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
444
+ :param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
445
445
  :param pulumi.Input[str] location: The location for the resource
446
446
  :param pulumi.Input[str] name: Output only. The resource name of the assignment.
447
447
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -478,7 +478,7 @@ class ReservationAssignment(pulumi.CustomResource):
478
478
  @pulumi.getter(name="jobType")
479
479
  def job_type(self) -> pulumi.Output[str]:
480
480
  """
481
- Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
481
+ Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY, CONTINUOUS
482
482
  """
483
483
  return pulumi.get(self, "job_type")
484
484