pulumi-gcp 8.25.0a1743489606__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.
- pulumi_gcp/__init__.py +104 -0
- pulumi_gcp/_inputs.py +48 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
- pulumi_gcp/accesscontextmanager/outputs.py +204 -12
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/_inputs.py +58 -0
- pulumi_gcp/apigee/dns_zone.py +491 -0
- pulumi_gcp/apigee/outputs.py +53 -0
- pulumi_gcp/bigquery/reservation_assignment.py +7 -7
- pulumi_gcp/bigtable/table.py +8 -8
- pulumi_gcp/chronicle/data_access_label.py +2 -2
- pulumi_gcp/chronicle/data_access_scope.py +16 -0
- pulumi_gcp/chronicle/reference_list.py +16 -0
- pulumi_gcp/chronicle/retrohunt.py +16 -0
- pulumi_gcp/chronicle/rule.py +16 -0
- pulumi_gcp/chronicle/rule_deployment.py +16 -0
- pulumi_gcp/chronicle/watchlist.py +16 -0
- pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
- pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
- pulumi_gcp/cloudrunv2/_inputs.py +20 -0
- pulumi_gcp/cloudrunv2/outputs.py +25 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2011 -43
- pulumi_gcp/compute/backend_service.py +121 -3
- pulumi_gcp/compute/get_backend_service.py +15 -4
- pulumi_gcp/compute/get_instance.py +12 -1
- pulumi_gcp/compute/get_region_backend_service.py +482 -0
- pulumi_gcp/compute/get_router.py +12 -1
- pulumi_gcp/compute/get_subnetwork.py +43 -1
- pulumi_gcp/compute/instance.py +47 -0
- pulumi_gcp/compute/instance_from_machine_image.py +94 -0
- pulumi_gcp/compute/instance_from_template.py +47 -0
- pulumi_gcp/compute/outputs.py +3578 -139
- pulumi_gcp/compute/public_delegated_prefix.py +69 -15
- pulumi_gcp/compute/router.py +54 -0
- pulumi_gcp/compute/subnetwork.py +35 -5
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/outputs.py +27 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +12 -12
- pulumi_gcp/container/cluster.py +47 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/get_registry_image.py +4 -0
- pulumi_gcp/container/get_registry_repository.py +4 -0
- pulumi_gcp/container/outputs.py +8 -8
- pulumi_gcp/container/registry.py +4 -0
- pulumi_gcp/datafusion/instance.py +68 -0
- pulumi_gcp/dataproc/__init__.py +8 -0
- pulumi_gcp/dataproc/_inputs.py +196 -0
- pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
- pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
- pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
- pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
- pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
- pulumi_gcp/dataproc/metastore_federation.py +38 -2
- pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
- pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
- pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
- pulumi_gcp/dataproc/outputs.py +112 -0
- pulumi_gcp/datastream/_inputs.py +311 -94
- pulumi_gcp/datastream/connection_profile.py +40 -0
- pulumi_gcp/datastream/outputs.py +244 -51
- pulumi_gcp/datastream/stream.py +216 -0
- pulumi_gcp/discoveryengine/__init__.py +1 -0
- pulumi_gcp/discoveryengine/sitemap.py +504 -0
- pulumi_gcp/eventarc/__init__.py +1 -0
- pulumi_gcp/eventarc/enrollment.py +980 -0
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/_inputs.py +484 -0
- pulumi_gcp/firebase/app_hosting_build.py +1232 -0
- pulumi_gcp/firebase/outputs.py +333 -0
- pulumi_gcp/identityplatform/_inputs.py +91 -0
- pulumi_gcp/identityplatform/outputs.py +73 -0
- pulumi_gcp/identityplatform/tenant.py +56 -0
- pulumi_gcp/managedkafka/cluster.py +2 -2
- pulumi_gcp/memorystore/__init__.py +1 -0
- pulumi_gcp/memorystore/_inputs.py +826 -0
- pulumi_gcp/memorystore/get_instance.py +23 -1
- pulumi_gcp/memorystore/instance.py +344 -23
- pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
- pulumi_gcp/memorystore/outputs.py +889 -8
- pulumi_gcp/networksecurity/_inputs.py +473 -0
- pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
- pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
- pulumi_gcp/networksecurity/outputs.py +291 -1
- pulumi_gcp/networksecurity/security_profile.py +8 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
- pulumi_gcp/organizations/outputs.py +96 -0
- pulumi_gcp/parametermanager/get_parameter.py +16 -1
- pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
- pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
- pulumi_gcp/parametermanager/get_parameters.py +4 -0
- pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
- pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
- pulumi_gcp/parametermanager/outputs.py +11 -0
- pulumi_gcp/parametermanager/parameter.py +88 -0
- pulumi_gcp/parametermanager/parameter_version.py +74 -0
- pulumi_gcp/parametermanager/regional_parameter.py +12 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
- pulumi_gcp/provider.py +15 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +136 -0
- pulumi_gcp/redis/cluster.py +54 -0
- pulumi_gcp/redis/outputs.py +114 -0
- pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
- pulumi_gcp/storage/__init__.py +4 -0
- pulumi_gcp/storage/_inputs.py +596 -0
- pulumi_gcp/storage/bucket.py +7 -7
- pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
- pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
- pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
- pulumi_gcp/storage/get_bucket_object_content.py +16 -1
- pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
- pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
- pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
- pulumi_gcp/storage/outputs.py +2132 -1312
- pulumi_gcp/workbench/instance.py +14 -2
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/RECORD +126 -107
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.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
|
+
|
pulumi_gcp/apigee/outputs.py
CHANGED
@@ -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
|
|