pulumi-gcp 7.5.0a1704347630__py3-none-any.whl → 7.6.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +99 -0
  2. pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
  3. pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
  4. pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
  5. pulumi_gcp/clouddeploy/__init__.py +1 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +239 -0
  7. pulumi_gcp/clouddeploy/automation.py +1103 -0
  8. pulumi_gcp/clouddeploy/outputs.py +246 -0
  9. pulumi_gcp/clouddomains/__init__.py +10 -0
  10. pulumi_gcp/clouddomains/_inputs.py +1098 -0
  11. pulumi_gcp/clouddomains/outputs.py +1156 -0
  12. pulumi_gcp/clouddomains/registration.py +1068 -0
  13. pulumi_gcp/cloudrunv2/job.py +4 -4
  14. pulumi_gcp/composer/_inputs.py +79 -1
  15. pulumi_gcp/composer/outputs.py +131 -4
  16. pulumi_gcp/compute/__init__.py +1 -0
  17. pulumi_gcp/compute/_inputs.py +180 -0
  18. pulumi_gcp/compute/get_instance_template.py +11 -1
  19. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  20. pulumi_gcp/compute/get_reservation.py +212 -0
  21. pulumi_gcp/compute/instance_template.py +47 -0
  22. pulumi_gcp/compute/network_firewall_policy.py +20 -22
  23. pulumi_gcp/compute/outputs.py +325 -0
  24. pulumi_gcp/compute/region_instance_template.py +47 -0
  25. pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
  26. pulumi_gcp/compute/router_peer.py +54 -0
  27. pulumi_gcp/compute/vpn_tunnel.py +8 -4
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +23 -0
  31. pulumi_gcp/container/aws_node_pool.py +7 -7
  32. pulumi_gcp/container/cluster.py +68 -14
  33. pulumi_gcp/container/get_cluster.py +11 -1
  34. pulumi_gcp/container/outputs.py +49 -0
  35. pulumi_gcp/dataflow/pipeline.py +1 -1
  36. pulumi_gcp/dataproc/_inputs.py +413 -39
  37. pulumi_gcp/dataproc/metastore_service.py +63 -0
  38. pulumi_gcp/dataproc/outputs.py +461 -39
  39. pulumi_gcp/dns/__init__.py +1 -0
  40. pulumi_gcp/dns/_inputs.py +94 -0
  41. pulumi_gcp/dns/get_managed_zones.py +89 -0
  42. pulumi_gcp/dns/outputs.py +62 -0
  43. pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
  44. pulumi_gcp/filestore/__init__.py +1 -0
  45. pulumi_gcp/filestore/get_instance.py +258 -0
  46. pulumi_gcp/filestore/instance.py +7 -7
  47. pulumi_gcp/filestore/outputs.py +126 -0
  48. pulumi_gcp/gkebackup/backup_plan.py +24 -8
  49. pulumi_gcp/gkebackup/restore_plan.py +36 -12
  50. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
  51. pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
  52. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
  53. pulumi_gcp/gkehub/_inputs.py +502 -2
  54. pulumi_gcp/gkehub/feature.py +34 -0
  55. pulumi_gcp/gkehub/feature_membership.py +177 -0
  56. pulumi_gcp/gkehub/membership.py +18 -6
  57. pulumi_gcp/gkehub/outputs.py +502 -2
  58. pulumi_gcp/gkeonprem/_inputs.py +21 -25
  59. pulumi_gcp/gkeonprem/outputs.py +34 -25
  60. pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
  61. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  62. pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
  63. pulumi_gcp/kms/_inputs.py +42 -0
  64. pulumi_gcp/kms/crypto_key.py +36 -0
  65. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  66. pulumi_gcp/kms/outputs.py +62 -0
  67. pulumi_gcp/logging/__init__.py +2 -0
  68. pulumi_gcp/logging/folder_settings.py +490 -0
  69. pulumi_gcp/logging/folder_sink.py +21 -21
  70. pulumi_gcp/logging/organization_settings.py +484 -0
  71. pulumi_gcp/logging/organization_sink.py +21 -21
  72. pulumi_gcp/logging/project_sink.py +7 -14
  73. pulumi_gcp/netapp/__init__.py +3 -0
  74. pulumi_gcp/netapp/active_directory.py +1413 -0
  75. pulumi_gcp/netapp/backup_vault.py +593 -0
  76. pulumi_gcp/netapp/kmsconfig.py +649 -0
  77. pulumi_gcp/orgpolicy/policy.py +28 -0
  78. pulumi_gcp/provider.py +20 -0
  79. pulumi_gcp/pubsub/subscription.py +29 -37
  80. pulumi_gcp/serviceaccount/account.py +47 -0
  81. pulumi_gcp/servicenetworking/connection.py +55 -1
  82. pulumi_gcp/sql/database_instance.py +2 -2
  83. pulumi_gcp/sql/ssl_cert.py +1 -1
  84. pulumi_gcp/sql/user.py +7 -7
  85. pulumi_gcp/storage/transfer_job.py +24 -5
  86. pulumi_gcp/vertex/__init__.py +3 -0
  87. pulumi_gcp/vertex/_inputs.py +339 -0
  88. pulumi_gcp/vertex/ai_feature_group.py +710 -0
  89. pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
  90. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
  91. pulumi_gcp/vertex/outputs.py +406 -0
  92. pulumi_gcp/vmwareengine/__init__.py +2 -0
  93. pulumi_gcp/vmwareengine/_inputs.py +84 -0
  94. pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
  95. pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
  96. pulumi_gcp/vmwareengine/outputs.py +146 -0
  97. pulumi_gcp/workflows/workflow.py +7 -7
  98. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
  100. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,947 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['ExternalAccessRuleArgs', 'ExternalAccessRule']
15
+
16
+ @pulumi.input_type
17
+ class ExternalAccessRuleArgs:
18
+ def __init__(__self__, *,
19
+ action: pulumi.Input[str],
20
+ destination_ip_ranges: pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]],
21
+ destination_ports: pulumi.Input[Sequence[pulumi.Input[str]]],
22
+ ip_protocol: pulumi.Input[str],
23
+ parent: pulumi.Input[str],
24
+ priority: pulumi.Input[int],
25
+ source_ip_ranges: pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]],
26
+ source_ports: pulumi.Input[Sequence[pulumi.Input[str]]],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ name: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a ExternalAccessRule resource.
31
+ :param pulumi.Input[str] action: The action that the external access rule performs.
32
+ Possible values are: `ALLOW`, `DENY`.
33
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]] destination_ip_ranges: If destination ranges are specified, the external access rule applies only to
34
+ traffic that has a destination IP address in these ranges.
35
+ Structure is documented below.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] destination_ports: A list of destination ports to which the external access rule applies.
37
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which the external access rule applies.
38
+ :param pulumi.Input[str] parent: The resource name of the network policy.
39
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
40
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
41
+ :param pulumi.Input[int] priority: External access rule priority, which determines the external access rule to use when multiple rules apply.
42
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]] source_ip_ranges: If source ranges are specified, the external access rule applies only to
43
+ traffic that has a source IP address in these ranges.
44
+ Structure is documented below.
45
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ports: A list of source ports to which the external access rule applies.
46
+ :param pulumi.Input[str] description: User-provided description for the external access rule.
47
+ :param pulumi.Input[str] name: The ID of the external access rule.
48
+ """
49
+ pulumi.set(__self__, "action", action)
50
+ pulumi.set(__self__, "destination_ip_ranges", destination_ip_ranges)
51
+ pulumi.set(__self__, "destination_ports", destination_ports)
52
+ pulumi.set(__self__, "ip_protocol", ip_protocol)
53
+ pulumi.set(__self__, "parent", parent)
54
+ pulumi.set(__self__, "priority", priority)
55
+ pulumi.set(__self__, "source_ip_ranges", source_ip_ranges)
56
+ pulumi.set(__self__, "source_ports", source_ports)
57
+ if description is not None:
58
+ pulumi.set(__self__, "description", description)
59
+ if name is not None:
60
+ pulumi.set(__self__, "name", name)
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def action(self) -> pulumi.Input[str]:
65
+ """
66
+ The action that the external access rule performs.
67
+ Possible values are: `ALLOW`, `DENY`.
68
+ """
69
+ return pulumi.get(self, "action")
70
+
71
+ @action.setter
72
+ def action(self, value: pulumi.Input[str]):
73
+ pulumi.set(self, "action", value)
74
+
75
+ @property
76
+ @pulumi.getter(name="destinationIpRanges")
77
+ def destination_ip_ranges(self) -> pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]]:
78
+ """
79
+ If destination ranges are specified, the external access rule applies only to
80
+ traffic that has a destination IP address in these ranges.
81
+ Structure is documented below.
82
+ """
83
+ return pulumi.get(self, "destination_ip_ranges")
84
+
85
+ @destination_ip_ranges.setter
86
+ def destination_ip_ranges(self, value: pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]]):
87
+ pulumi.set(self, "destination_ip_ranges", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="destinationPorts")
91
+ def destination_ports(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
92
+ """
93
+ A list of destination ports to which the external access rule applies.
94
+ """
95
+ return pulumi.get(self, "destination_ports")
96
+
97
+ @destination_ports.setter
98
+ def destination_ports(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
99
+ pulumi.set(self, "destination_ports", value)
100
+
101
+ @property
102
+ @pulumi.getter(name="ipProtocol")
103
+ def ip_protocol(self) -> pulumi.Input[str]:
104
+ """
105
+ The IP protocol to which the external access rule applies.
106
+ """
107
+ return pulumi.get(self, "ip_protocol")
108
+
109
+ @ip_protocol.setter
110
+ def ip_protocol(self, value: pulumi.Input[str]):
111
+ pulumi.set(self, "ip_protocol", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def parent(self) -> pulumi.Input[str]:
116
+ """
117
+ The resource name of the network policy.
118
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
119
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
120
+ """
121
+ return pulumi.get(self, "parent")
122
+
123
+ @parent.setter
124
+ def parent(self, value: pulumi.Input[str]):
125
+ pulumi.set(self, "parent", value)
126
+
127
+ @property
128
+ @pulumi.getter
129
+ def priority(self) -> pulumi.Input[int]:
130
+ """
131
+ External access rule priority, which determines the external access rule to use when multiple rules apply.
132
+ """
133
+ return pulumi.get(self, "priority")
134
+
135
+ @priority.setter
136
+ def priority(self, value: pulumi.Input[int]):
137
+ pulumi.set(self, "priority", value)
138
+
139
+ @property
140
+ @pulumi.getter(name="sourceIpRanges")
141
+ def source_ip_ranges(self) -> pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]]:
142
+ """
143
+ If source ranges are specified, the external access rule applies only to
144
+ traffic that has a source IP address in these ranges.
145
+ Structure is documented below.
146
+ """
147
+ return pulumi.get(self, "source_ip_ranges")
148
+
149
+ @source_ip_ranges.setter
150
+ def source_ip_ranges(self, value: pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]]):
151
+ pulumi.set(self, "source_ip_ranges", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="sourcePorts")
155
+ def source_ports(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
156
+ """
157
+ A list of source ports to which the external access rule applies.
158
+ """
159
+ return pulumi.get(self, "source_ports")
160
+
161
+ @source_ports.setter
162
+ def source_ports(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
163
+ pulumi.set(self, "source_ports", value)
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def description(self) -> Optional[pulumi.Input[str]]:
168
+ """
169
+ User-provided description for the external access rule.
170
+ """
171
+ return pulumi.get(self, "description")
172
+
173
+ @description.setter
174
+ def description(self, value: Optional[pulumi.Input[str]]):
175
+ pulumi.set(self, "description", value)
176
+
177
+ @property
178
+ @pulumi.getter
179
+ def name(self) -> Optional[pulumi.Input[str]]:
180
+ """
181
+ The ID of the external access rule.
182
+ """
183
+ return pulumi.get(self, "name")
184
+
185
+ @name.setter
186
+ def name(self, value: Optional[pulumi.Input[str]]):
187
+ pulumi.set(self, "name", value)
188
+
189
+
190
+ @pulumi.input_type
191
+ class _ExternalAccessRuleState:
192
+ def __init__(__self__, *,
193
+ action: Optional[pulumi.Input[str]] = None,
194
+ create_time: Optional[pulumi.Input[str]] = None,
195
+ description: Optional[pulumi.Input[str]] = None,
196
+ destination_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]]] = None,
197
+ destination_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
198
+ ip_protocol: Optional[pulumi.Input[str]] = None,
199
+ name: Optional[pulumi.Input[str]] = None,
200
+ parent: Optional[pulumi.Input[str]] = None,
201
+ priority: Optional[pulumi.Input[int]] = None,
202
+ source_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]]] = None,
203
+ source_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
204
+ state: Optional[pulumi.Input[str]] = None,
205
+ uid: Optional[pulumi.Input[str]] = None,
206
+ update_time: Optional[pulumi.Input[str]] = None):
207
+ """
208
+ Input properties used for looking up and filtering ExternalAccessRule resources.
209
+ :param pulumi.Input[str] action: The action that the external access rule performs.
210
+ Possible values are: `ALLOW`, `DENY`.
211
+ :param pulumi.Input[str] create_time: Creation time of this resource.
212
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
213
+ up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
214
+ :param pulumi.Input[str] description: User-provided description for the external access rule.
215
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]] destination_ip_ranges: If destination ranges are specified, the external access rule applies only to
216
+ traffic that has a destination IP address in these ranges.
217
+ Structure is documented below.
218
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] destination_ports: A list of destination ports to which the external access rule applies.
219
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which the external access rule applies.
220
+ :param pulumi.Input[str] name: The ID of the external access rule.
221
+ :param pulumi.Input[str] parent: The resource name of the network policy.
222
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
223
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
224
+ :param pulumi.Input[int] priority: External access rule priority, which determines the external access rule to use when multiple rules apply.
225
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]] source_ip_ranges: If source ranges are specified, the external access rule applies only to
226
+ traffic that has a source IP address in these ranges.
227
+ Structure is documented below.
228
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ports: A list of source ports to which the external access rule applies.
229
+ :param pulumi.Input[str] state: State of the Cluster.
230
+ :param pulumi.Input[str] uid: System-generated unique identifier for the resource.
231
+ :param pulumi.Input[str] update_time: Last updated time of this resource.
232
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
233
+ fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
234
+ """
235
+ if action is not None:
236
+ pulumi.set(__self__, "action", action)
237
+ if create_time is not None:
238
+ pulumi.set(__self__, "create_time", create_time)
239
+ if description is not None:
240
+ pulumi.set(__self__, "description", description)
241
+ if destination_ip_ranges is not None:
242
+ pulumi.set(__self__, "destination_ip_ranges", destination_ip_ranges)
243
+ if destination_ports is not None:
244
+ pulumi.set(__self__, "destination_ports", destination_ports)
245
+ if ip_protocol is not None:
246
+ pulumi.set(__self__, "ip_protocol", ip_protocol)
247
+ if name is not None:
248
+ pulumi.set(__self__, "name", name)
249
+ if parent is not None:
250
+ pulumi.set(__self__, "parent", parent)
251
+ if priority is not None:
252
+ pulumi.set(__self__, "priority", priority)
253
+ if source_ip_ranges is not None:
254
+ pulumi.set(__self__, "source_ip_ranges", source_ip_ranges)
255
+ if source_ports is not None:
256
+ pulumi.set(__self__, "source_ports", source_ports)
257
+ if state is not None:
258
+ pulumi.set(__self__, "state", state)
259
+ if uid is not None:
260
+ pulumi.set(__self__, "uid", uid)
261
+ if update_time is not None:
262
+ pulumi.set(__self__, "update_time", update_time)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def action(self) -> Optional[pulumi.Input[str]]:
267
+ """
268
+ The action that the external access rule performs.
269
+ Possible values are: `ALLOW`, `DENY`.
270
+ """
271
+ return pulumi.get(self, "action")
272
+
273
+ @action.setter
274
+ def action(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "action", value)
276
+
277
+ @property
278
+ @pulumi.getter(name="createTime")
279
+ def create_time(self) -> Optional[pulumi.Input[str]]:
280
+ """
281
+ Creation time of this resource.
282
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
283
+ up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
284
+ """
285
+ return pulumi.get(self, "create_time")
286
+
287
+ @create_time.setter
288
+ def create_time(self, value: Optional[pulumi.Input[str]]):
289
+ pulumi.set(self, "create_time", value)
290
+
291
+ @property
292
+ @pulumi.getter
293
+ def description(self) -> Optional[pulumi.Input[str]]:
294
+ """
295
+ User-provided description for the external access rule.
296
+ """
297
+ return pulumi.get(self, "description")
298
+
299
+ @description.setter
300
+ def description(self, value: Optional[pulumi.Input[str]]):
301
+ pulumi.set(self, "description", value)
302
+
303
+ @property
304
+ @pulumi.getter(name="destinationIpRanges")
305
+ def destination_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]]]:
306
+ """
307
+ If destination ranges are specified, the external access rule applies only to
308
+ traffic that has a destination IP address in these ranges.
309
+ Structure is documented below.
310
+ """
311
+ return pulumi.get(self, "destination_ip_ranges")
312
+
313
+ @destination_ip_ranges.setter
314
+ def destination_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleDestinationIpRangeArgs']]]]):
315
+ pulumi.set(self, "destination_ip_ranges", value)
316
+
317
+ @property
318
+ @pulumi.getter(name="destinationPorts")
319
+ def destination_ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
320
+ """
321
+ A list of destination ports to which the external access rule applies.
322
+ """
323
+ return pulumi.get(self, "destination_ports")
324
+
325
+ @destination_ports.setter
326
+ def destination_ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
327
+ pulumi.set(self, "destination_ports", value)
328
+
329
+ @property
330
+ @pulumi.getter(name="ipProtocol")
331
+ def ip_protocol(self) -> Optional[pulumi.Input[str]]:
332
+ """
333
+ The IP protocol to which the external access rule applies.
334
+ """
335
+ return pulumi.get(self, "ip_protocol")
336
+
337
+ @ip_protocol.setter
338
+ def ip_protocol(self, value: Optional[pulumi.Input[str]]):
339
+ pulumi.set(self, "ip_protocol", value)
340
+
341
+ @property
342
+ @pulumi.getter
343
+ def name(self) -> Optional[pulumi.Input[str]]:
344
+ """
345
+ The ID of the external access rule.
346
+ """
347
+ return pulumi.get(self, "name")
348
+
349
+ @name.setter
350
+ def name(self, value: Optional[pulumi.Input[str]]):
351
+ pulumi.set(self, "name", value)
352
+
353
+ @property
354
+ @pulumi.getter
355
+ def parent(self) -> Optional[pulumi.Input[str]]:
356
+ """
357
+ The resource name of the network policy.
358
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
359
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
360
+ """
361
+ return pulumi.get(self, "parent")
362
+
363
+ @parent.setter
364
+ def parent(self, value: Optional[pulumi.Input[str]]):
365
+ pulumi.set(self, "parent", value)
366
+
367
+ @property
368
+ @pulumi.getter
369
+ def priority(self) -> Optional[pulumi.Input[int]]:
370
+ """
371
+ External access rule priority, which determines the external access rule to use when multiple rules apply.
372
+ """
373
+ return pulumi.get(self, "priority")
374
+
375
+ @priority.setter
376
+ def priority(self, value: Optional[pulumi.Input[int]]):
377
+ pulumi.set(self, "priority", value)
378
+
379
+ @property
380
+ @pulumi.getter(name="sourceIpRanges")
381
+ def source_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]]]:
382
+ """
383
+ If source ranges are specified, the external access rule applies only to
384
+ traffic that has a source IP address in these ranges.
385
+ Structure is documented below.
386
+ """
387
+ return pulumi.get(self, "source_ip_ranges")
388
+
389
+ @source_ip_ranges.setter
390
+ def source_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExternalAccessRuleSourceIpRangeArgs']]]]):
391
+ pulumi.set(self, "source_ip_ranges", value)
392
+
393
+ @property
394
+ @pulumi.getter(name="sourcePorts")
395
+ def source_ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
396
+ """
397
+ A list of source ports to which the external access rule applies.
398
+ """
399
+ return pulumi.get(self, "source_ports")
400
+
401
+ @source_ports.setter
402
+ def source_ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
403
+ pulumi.set(self, "source_ports", value)
404
+
405
+ @property
406
+ @pulumi.getter
407
+ def state(self) -> Optional[pulumi.Input[str]]:
408
+ """
409
+ State of the Cluster.
410
+ """
411
+ return pulumi.get(self, "state")
412
+
413
+ @state.setter
414
+ def state(self, value: Optional[pulumi.Input[str]]):
415
+ pulumi.set(self, "state", value)
416
+
417
+ @property
418
+ @pulumi.getter
419
+ def uid(self) -> Optional[pulumi.Input[str]]:
420
+ """
421
+ System-generated unique identifier for the resource.
422
+ """
423
+ return pulumi.get(self, "uid")
424
+
425
+ @uid.setter
426
+ def uid(self, value: Optional[pulumi.Input[str]]):
427
+ pulumi.set(self, "uid", value)
428
+
429
+ @property
430
+ @pulumi.getter(name="updateTime")
431
+ def update_time(self) -> Optional[pulumi.Input[str]]:
432
+ """
433
+ Last updated time of this resource.
434
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
435
+ fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
436
+ """
437
+ return pulumi.get(self, "update_time")
438
+
439
+ @update_time.setter
440
+ def update_time(self, value: Optional[pulumi.Input[str]]):
441
+ pulumi.set(self, "update_time", value)
442
+
443
+
444
+ class ExternalAccessRule(pulumi.CustomResource):
445
+ @overload
446
+ def __init__(__self__,
447
+ resource_name: str,
448
+ opts: Optional[pulumi.ResourceOptions] = None,
449
+ action: Optional[pulumi.Input[str]] = None,
450
+ description: Optional[pulumi.Input[str]] = None,
451
+ destination_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleDestinationIpRangeArgs']]]]] = None,
452
+ destination_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
453
+ ip_protocol: Optional[pulumi.Input[str]] = None,
454
+ name: Optional[pulumi.Input[str]] = None,
455
+ parent: Optional[pulumi.Input[str]] = None,
456
+ priority: Optional[pulumi.Input[int]] = None,
457
+ source_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleSourceIpRangeArgs']]]]] = None,
458
+ source_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
459
+ __props__=None):
460
+ """
461
+ External access firewall rules for filtering incoming traffic destined to `ExternalAddress` resources.
462
+
463
+ To get more information about ExternalAccessRule, see:
464
+
465
+ * [API documentation](https://cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.networkPolicies.externalAccessRules)
466
+
467
+ ## Example Usage
468
+ ### Vmware Engine External Access Rule Basic
469
+
470
+ ```python
471
+ import pulumi
472
+ import pulumi_gcp as gcp
473
+
474
+ external_access_rule_nw = gcp.vmwareengine.Network("external-access-rule-nw",
475
+ location="global",
476
+ type="STANDARD",
477
+ description="PC network description.")
478
+ external_access_rule_np = gcp.vmwareengine.NetworkPolicy("external-access-rule-np",
479
+ location="us-west1",
480
+ edge_services_cidr="192.168.30.0/26",
481
+ vmware_engine_network=external_access_rule_nw.id)
482
+ vmw_engine_external_access_rule = gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule",
483
+ parent=external_access_rule_np.id,
484
+ priority=101,
485
+ action="DENY",
486
+ ip_protocol="TCP",
487
+ source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
488
+ ip_address_range="0.0.0.0/0",
489
+ )],
490
+ source_ports=["80"],
491
+ destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
492
+ ip_address_range="0.0.0.0/0",
493
+ )],
494
+ destination_ports=["433"])
495
+ ```
496
+ ### Vmware Engine External Access Rule Full
497
+
498
+ ```python
499
+ import pulumi
500
+ import pulumi_gcp as gcp
501
+
502
+ external_access_rule_nw = gcp.vmwareengine.Network("external-access-rule-nw",
503
+ location="global",
504
+ type="STANDARD",
505
+ description="PC network description.")
506
+ external_access_rule_pc = gcp.vmwareengine.PrivateCloud("external-access-rule-pc",
507
+ location="us-west1-a",
508
+ description="Sample test PC.",
509
+ network_config=gcp.vmwareengine.PrivateCloudNetworkConfigArgs(
510
+ management_cidr="192.168.50.0/24",
511
+ vmware_engine_network=external_access_rule_nw.id,
512
+ ),
513
+ management_cluster=gcp.vmwareengine.PrivateCloudManagementClusterArgs(
514
+ cluster_id="sample-mgmt-cluster",
515
+ node_type_configs=[gcp.vmwareengine.PrivateCloudManagementClusterNodeTypeConfigArgs(
516
+ node_type_id="standard-72",
517
+ node_count=3,
518
+ )],
519
+ ))
520
+ external_access_rule_np = gcp.vmwareengine.NetworkPolicy("external-access-rule-np",
521
+ location="us-west1",
522
+ edge_services_cidr="192.168.30.0/26",
523
+ vmware_engine_network=external_access_rule_nw.id)
524
+ external_access_rule_ea = gcp.vmwareengine.ExternalAddress("external-access-rule-ea",
525
+ parent=external_access_rule_pc.id,
526
+ internal_ip="192.168.0.65")
527
+ vmw_engine_external_access_rule = gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule",
528
+ parent=external_access_rule_np.id,
529
+ description="Sample Description",
530
+ priority=101,
531
+ action="ALLOW",
532
+ ip_protocol="tcp",
533
+ source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
534
+ ip_address_range="0.0.0.0/0",
535
+ )],
536
+ source_ports=["80"],
537
+ destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
538
+ external_address=external_access_rule_ea.id,
539
+ )],
540
+ destination_ports=["433"])
541
+ ```
542
+
543
+ ## Import
544
+
545
+ ExternalAccessRule can be imported using any of these accepted formats* `{{parent}}/externalAccessRules/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import ExternalAccessRule using one of the formats above. For exampletf import {
546
+
547
+ id = "{{parent}}/externalAccessRules/{{name}}"
548
+
549
+ to = google_vmwareengine_external_access_rule.default }
550
+
551
+ ```sh
552
+ $ pulumi import gcp:vmwareengine/externalAccessRule:ExternalAccessRule When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), ExternalAccessRule can be imported using one of the formats above. For example
553
+ ```
554
+
555
+ ```sh
556
+ $ pulumi import gcp:vmwareengine/externalAccessRule:ExternalAccessRule default {{parent}}/externalAccessRules/{{name}}
557
+ ```
558
+
559
+ :param str resource_name: The name of the resource.
560
+ :param pulumi.ResourceOptions opts: Options for the resource.
561
+ :param pulumi.Input[str] action: The action that the external access rule performs.
562
+ Possible values are: `ALLOW`, `DENY`.
563
+ :param pulumi.Input[str] description: User-provided description for the external access rule.
564
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleDestinationIpRangeArgs']]]] destination_ip_ranges: If destination ranges are specified, the external access rule applies only to
565
+ traffic that has a destination IP address in these ranges.
566
+ Structure is documented below.
567
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] destination_ports: A list of destination ports to which the external access rule applies.
568
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which the external access rule applies.
569
+ :param pulumi.Input[str] name: The ID of the external access rule.
570
+ :param pulumi.Input[str] parent: The resource name of the network policy.
571
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
572
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
573
+ :param pulumi.Input[int] priority: External access rule priority, which determines the external access rule to use when multiple rules apply.
574
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleSourceIpRangeArgs']]]] source_ip_ranges: If source ranges are specified, the external access rule applies only to
575
+ traffic that has a source IP address in these ranges.
576
+ Structure is documented below.
577
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ports: A list of source ports to which the external access rule applies.
578
+ """
579
+ ...
580
+ @overload
581
+ def __init__(__self__,
582
+ resource_name: str,
583
+ args: ExternalAccessRuleArgs,
584
+ opts: Optional[pulumi.ResourceOptions] = None):
585
+ """
586
+ External access firewall rules for filtering incoming traffic destined to `ExternalAddress` resources.
587
+
588
+ To get more information about ExternalAccessRule, see:
589
+
590
+ * [API documentation](https://cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.networkPolicies.externalAccessRules)
591
+
592
+ ## Example Usage
593
+ ### Vmware Engine External Access Rule Basic
594
+
595
+ ```python
596
+ import pulumi
597
+ import pulumi_gcp as gcp
598
+
599
+ external_access_rule_nw = gcp.vmwareengine.Network("external-access-rule-nw",
600
+ location="global",
601
+ type="STANDARD",
602
+ description="PC network description.")
603
+ external_access_rule_np = gcp.vmwareengine.NetworkPolicy("external-access-rule-np",
604
+ location="us-west1",
605
+ edge_services_cidr="192.168.30.0/26",
606
+ vmware_engine_network=external_access_rule_nw.id)
607
+ vmw_engine_external_access_rule = gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule",
608
+ parent=external_access_rule_np.id,
609
+ priority=101,
610
+ action="DENY",
611
+ ip_protocol="TCP",
612
+ source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
613
+ ip_address_range="0.0.0.0/0",
614
+ )],
615
+ source_ports=["80"],
616
+ destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
617
+ ip_address_range="0.0.0.0/0",
618
+ )],
619
+ destination_ports=["433"])
620
+ ```
621
+ ### Vmware Engine External Access Rule Full
622
+
623
+ ```python
624
+ import pulumi
625
+ import pulumi_gcp as gcp
626
+
627
+ external_access_rule_nw = gcp.vmwareengine.Network("external-access-rule-nw",
628
+ location="global",
629
+ type="STANDARD",
630
+ description="PC network description.")
631
+ external_access_rule_pc = gcp.vmwareengine.PrivateCloud("external-access-rule-pc",
632
+ location="us-west1-a",
633
+ description="Sample test PC.",
634
+ network_config=gcp.vmwareengine.PrivateCloudNetworkConfigArgs(
635
+ management_cidr="192.168.50.0/24",
636
+ vmware_engine_network=external_access_rule_nw.id,
637
+ ),
638
+ management_cluster=gcp.vmwareengine.PrivateCloudManagementClusterArgs(
639
+ cluster_id="sample-mgmt-cluster",
640
+ node_type_configs=[gcp.vmwareengine.PrivateCloudManagementClusterNodeTypeConfigArgs(
641
+ node_type_id="standard-72",
642
+ node_count=3,
643
+ )],
644
+ ))
645
+ external_access_rule_np = gcp.vmwareengine.NetworkPolicy("external-access-rule-np",
646
+ location="us-west1",
647
+ edge_services_cidr="192.168.30.0/26",
648
+ vmware_engine_network=external_access_rule_nw.id)
649
+ external_access_rule_ea = gcp.vmwareengine.ExternalAddress("external-access-rule-ea",
650
+ parent=external_access_rule_pc.id,
651
+ internal_ip="192.168.0.65")
652
+ vmw_engine_external_access_rule = gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule",
653
+ parent=external_access_rule_np.id,
654
+ description="Sample Description",
655
+ priority=101,
656
+ action="ALLOW",
657
+ ip_protocol="tcp",
658
+ source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
659
+ ip_address_range="0.0.0.0/0",
660
+ )],
661
+ source_ports=["80"],
662
+ destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
663
+ external_address=external_access_rule_ea.id,
664
+ )],
665
+ destination_ports=["433"])
666
+ ```
667
+
668
+ ## Import
669
+
670
+ ExternalAccessRule can be imported using any of these accepted formats* `{{parent}}/externalAccessRules/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import ExternalAccessRule using one of the formats above. For exampletf import {
671
+
672
+ id = "{{parent}}/externalAccessRules/{{name}}"
673
+
674
+ to = google_vmwareengine_external_access_rule.default }
675
+
676
+ ```sh
677
+ $ pulumi import gcp:vmwareengine/externalAccessRule:ExternalAccessRule When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), ExternalAccessRule can be imported using one of the formats above. For example
678
+ ```
679
+
680
+ ```sh
681
+ $ pulumi import gcp:vmwareengine/externalAccessRule:ExternalAccessRule default {{parent}}/externalAccessRules/{{name}}
682
+ ```
683
+
684
+ :param str resource_name: The name of the resource.
685
+ :param ExternalAccessRuleArgs args: The arguments to use to populate this resource's properties.
686
+ :param pulumi.ResourceOptions opts: Options for the resource.
687
+ """
688
+ ...
689
+ def __init__(__self__, resource_name: str, *args, **kwargs):
690
+ resource_args, opts = _utilities.get_resource_args_opts(ExternalAccessRuleArgs, pulumi.ResourceOptions, *args, **kwargs)
691
+ if resource_args is not None:
692
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
693
+ else:
694
+ __self__._internal_init(resource_name, *args, **kwargs)
695
+
696
+ def _internal_init(__self__,
697
+ resource_name: str,
698
+ opts: Optional[pulumi.ResourceOptions] = None,
699
+ action: Optional[pulumi.Input[str]] = None,
700
+ description: Optional[pulumi.Input[str]] = None,
701
+ destination_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleDestinationIpRangeArgs']]]]] = None,
702
+ destination_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
703
+ ip_protocol: Optional[pulumi.Input[str]] = None,
704
+ name: Optional[pulumi.Input[str]] = None,
705
+ parent: Optional[pulumi.Input[str]] = None,
706
+ priority: Optional[pulumi.Input[int]] = None,
707
+ source_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleSourceIpRangeArgs']]]]] = None,
708
+ source_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
709
+ __props__=None):
710
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
711
+ if not isinstance(opts, pulumi.ResourceOptions):
712
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
713
+ if opts.id is None:
714
+ if __props__ is not None:
715
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
716
+ __props__ = ExternalAccessRuleArgs.__new__(ExternalAccessRuleArgs)
717
+
718
+ if action is None and not opts.urn:
719
+ raise TypeError("Missing required property 'action'")
720
+ __props__.__dict__["action"] = action
721
+ __props__.__dict__["description"] = description
722
+ if destination_ip_ranges is None and not opts.urn:
723
+ raise TypeError("Missing required property 'destination_ip_ranges'")
724
+ __props__.__dict__["destination_ip_ranges"] = destination_ip_ranges
725
+ if destination_ports is None and not opts.urn:
726
+ raise TypeError("Missing required property 'destination_ports'")
727
+ __props__.__dict__["destination_ports"] = destination_ports
728
+ if ip_protocol is None and not opts.urn:
729
+ raise TypeError("Missing required property 'ip_protocol'")
730
+ __props__.__dict__["ip_protocol"] = ip_protocol
731
+ __props__.__dict__["name"] = name
732
+ if parent is None and not opts.urn:
733
+ raise TypeError("Missing required property 'parent'")
734
+ __props__.__dict__["parent"] = parent
735
+ if priority is None and not opts.urn:
736
+ raise TypeError("Missing required property 'priority'")
737
+ __props__.__dict__["priority"] = priority
738
+ if source_ip_ranges is None and not opts.urn:
739
+ raise TypeError("Missing required property 'source_ip_ranges'")
740
+ __props__.__dict__["source_ip_ranges"] = source_ip_ranges
741
+ if source_ports is None and not opts.urn:
742
+ raise TypeError("Missing required property 'source_ports'")
743
+ __props__.__dict__["source_ports"] = source_ports
744
+ __props__.__dict__["create_time"] = None
745
+ __props__.__dict__["state"] = None
746
+ __props__.__dict__["uid"] = None
747
+ __props__.__dict__["update_time"] = None
748
+ super(ExternalAccessRule, __self__).__init__(
749
+ 'gcp:vmwareengine/externalAccessRule:ExternalAccessRule',
750
+ resource_name,
751
+ __props__,
752
+ opts)
753
+
754
+ @staticmethod
755
+ def get(resource_name: str,
756
+ id: pulumi.Input[str],
757
+ opts: Optional[pulumi.ResourceOptions] = None,
758
+ action: Optional[pulumi.Input[str]] = None,
759
+ create_time: Optional[pulumi.Input[str]] = None,
760
+ description: Optional[pulumi.Input[str]] = None,
761
+ destination_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleDestinationIpRangeArgs']]]]] = None,
762
+ destination_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
763
+ ip_protocol: Optional[pulumi.Input[str]] = None,
764
+ name: Optional[pulumi.Input[str]] = None,
765
+ parent: Optional[pulumi.Input[str]] = None,
766
+ priority: Optional[pulumi.Input[int]] = None,
767
+ source_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleSourceIpRangeArgs']]]]] = None,
768
+ source_ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
769
+ state: Optional[pulumi.Input[str]] = None,
770
+ uid: Optional[pulumi.Input[str]] = None,
771
+ update_time: Optional[pulumi.Input[str]] = None) -> 'ExternalAccessRule':
772
+ """
773
+ Get an existing ExternalAccessRule resource's state with the given name, id, and optional extra
774
+ properties used to qualify the lookup.
775
+
776
+ :param str resource_name: The unique name of the resulting resource.
777
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
778
+ :param pulumi.ResourceOptions opts: Options for the resource.
779
+ :param pulumi.Input[str] action: The action that the external access rule performs.
780
+ Possible values are: `ALLOW`, `DENY`.
781
+ :param pulumi.Input[str] create_time: Creation time of this resource.
782
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
783
+ up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
784
+ :param pulumi.Input[str] description: User-provided description for the external access rule.
785
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleDestinationIpRangeArgs']]]] destination_ip_ranges: If destination ranges are specified, the external access rule applies only to
786
+ traffic that has a destination IP address in these ranges.
787
+ Structure is documented below.
788
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] destination_ports: A list of destination ports to which the external access rule applies.
789
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which the external access rule applies.
790
+ :param pulumi.Input[str] name: The ID of the external access rule.
791
+ :param pulumi.Input[str] parent: The resource name of the network policy.
792
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
793
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
794
+ :param pulumi.Input[int] priority: External access rule priority, which determines the external access rule to use when multiple rules apply.
795
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExternalAccessRuleSourceIpRangeArgs']]]] source_ip_ranges: If source ranges are specified, the external access rule applies only to
796
+ traffic that has a source IP address in these ranges.
797
+ Structure is documented below.
798
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ports: A list of source ports to which the external access rule applies.
799
+ :param pulumi.Input[str] state: State of the Cluster.
800
+ :param pulumi.Input[str] uid: System-generated unique identifier for the resource.
801
+ :param pulumi.Input[str] update_time: Last updated time of this resource.
802
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
803
+ fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
804
+ """
805
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
806
+
807
+ __props__ = _ExternalAccessRuleState.__new__(_ExternalAccessRuleState)
808
+
809
+ __props__.__dict__["action"] = action
810
+ __props__.__dict__["create_time"] = create_time
811
+ __props__.__dict__["description"] = description
812
+ __props__.__dict__["destination_ip_ranges"] = destination_ip_ranges
813
+ __props__.__dict__["destination_ports"] = destination_ports
814
+ __props__.__dict__["ip_protocol"] = ip_protocol
815
+ __props__.__dict__["name"] = name
816
+ __props__.__dict__["parent"] = parent
817
+ __props__.__dict__["priority"] = priority
818
+ __props__.__dict__["source_ip_ranges"] = source_ip_ranges
819
+ __props__.__dict__["source_ports"] = source_ports
820
+ __props__.__dict__["state"] = state
821
+ __props__.__dict__["uid"] = uid
822
+ __props__.__dict__["update_time"] = update_time
823
+ return ExternalAccessRule(resource_name, opts=opts, __props__=__props__)
824
+
825
+ @property
826
+ @pulumi.getter
827
+ def action(self) -> pulumi.Output[str]:
828
+ """
829
+ The action that the external access rule performs.
830
+ Possible values are: `ALLOW`, `DENY`.
831
+ """
832
+ return pulumi.get(self, "action")
833
+
834
+ @property
835
+ @pulumi.getter(name="createTime")
836
+ def create_time(self) -> pulumi.Output[str]:
837
+ """
838
+ Creation time of this resource.
839
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and
840
+ up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
841
+ """
842
+ return pulumi.get(self, "create_time")
843
+
844
+ @property
845
+ @pulumi.getter
846
+ def description(self) -> pulumi.Output[Optional[str]]:
847
+ """
848
+ User-provided description for the external access rule.
849
+ """
850
+ return pulumi.get(self, "description")
851
+
852
+ @property
853
+ @pulumi.getter(name="destinationIpRanges")
854
+ def destination_ip_ranges(self) -> pulumi.Output[Sequence['outputs.ExternalAccessRuleDestinationIpRange']]:
855
+ """
856
+ If destination ranges are specified, the external access rule applies only to
857
+ traffic that has a destination IP address in these ranges.
858
+ Structure is documented below.
859
+ """
860
+ return pulumi.get(self, "destination_ip_ranges")
861
+
862
+ @property
863
+ @pulumi.getter(name="destinationPorts")
864
+ def destination_ports(self) -> pulumi.Output[Sequence[str]]:
865
+ """
866
+ A list of destination ports to which the external access rule applies.
867
+ """
868
+ return pulumi.get(self, "destination_ports")
869
+
870
+ @property
871
+ @pulumi.getter(name="ipProtocol")
872
+ def ip_protocol(self) -> pulumi.Output[str]:
873
+ """
874
+ The IP protocol to which the external access rule applies.
875
+ """
876
+ return pulumi.get(self, "ip_protocol")
877
+
878
+ @property
879
+ @pulumi.getter
880
+ def name(self) -> pulumi.Output[str]:
881
+ """
882
+ The ID of the external access rule.
883
+ """
884
+ return pulumi.get(self, "name")
885
+
886
+ @property
887
+ @pulumi.getter
888
+ def parent(self) -> pulumi.Output[str]:
889
+ """
890
+ The resource name of the network policy.
891
+ Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names.
892
+ For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
893
+ """
894
+ return pulumi.get(self, "parent")
895
+
896
+ @property
897
+ @pulumi.getter
898
+ def priority(self) -> pulumi.Output[int]:
899
+ """
900
+ External access rule priority, which determines the external access rule to use when multiple rules apply.
901
+ """
902
+ return pulumi.get(self, "priority")
903
+
904
+ @property
905
+ @pulumi.getter(name="sourceIpRanges")
906
+ def source_ip_ranges(self) -> pulumi.Output[Sequence['outputs.ExternalAccessRuleSourceIpRange']]:
907
+ """
908
+ If source ranges are specified, the external access rule applies only to
909
+ traffic that has a source IP address in these ranges.
910
+ Structure is documented below.
911
+ """
912
+ return pulumi.get(self, "source_ip_ranges")
913
+
914
+ @property
915
+ @pulumi.getter(name="sourcePorts")
916
+ def source_ports(self) -> pulumi.Output[Sequence[str]]:
917
+ """
918
+ A list of source ports to which the external access rule applies.
919
+ """
920
+ return pulumi.get(self, "source_ports")
921
+
922
+ @property
923
+ @pulumi.getter
924
+ def state(self) -> pulumi.Output[str]:
925
+ """
926
+ State of the Cluster.
927
+ """
928
+ return pulumi.get(self, "state")
929
+
930
+ @property
931
+ @pulumi.getter
932
+ def uid(self) -> pulumi.Output[str]:
933
+ """
934
+ System-generated unique identifier for the resource.
935
+ """
936
+ return pulumi.get(self, "uid")
937
+
938
+ @property
939
+ @pulumi.getter(name="updateTime")
940
+ def update_time(self) -> pulumi.Output[str]:
941
+ """
942
+ Last updated time of this resource.
943
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
944
+ fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
945
+ """
946
+ return pulumi.get(self, "update_time")
947
+