pulumi-gcp 8.9.0a1731366299__py3-none-any.whl → 8.9.0a1731432418__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 +64 -0
- pulumi_gcp/activedirectory/domain.py +24 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/_inputs.py +74 -0
- pulumi_gcp/apigee/api.py +456 -0
- pulumi_gcp/apigee/outputs.py +65 -0
- pulumi_gcp/applicationintegration/auth_config.py +24 -0
- pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
- pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
- pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
- pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
- pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
- pulumi_gcp/bigquery/data_transfer_config.py +24 -0
- pulumi_gcp/cloudrunv2/_inputs.py +46 -0
- pulumi_gcp/cloudrunv2/job.py +0 -2
- pulumi_gcp/cloudrunv2/outputs.py +60 -2
- pulumi_gcp/cloudrunv2/service.py +0 -2
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2163 -256
- pulumi_gcp/compute/disk.py +7 -7
- pulumi_gcp/compute/firewall_policy_rule.py +108 -54
- pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
- pulumi_gcp/compute/health_check.py +42 -42
- pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
- pulumi_gcp/compute/node_template.py +95 -0
- pulumi_gcp/compute/outputs.py +1639 -213
- pulumi_gcp/compute/region_disk.py +7 -7
- pulumi_gcp/compute/region_health_check.py +42 -42
- pulumi_gcp/compute/region_instance_group_manager.py +54 -14
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
- pulumi_gcp/compute/region_resize_request.py +772 -0
- pulumi_gcp/compute/region_security_policy.py +120 -0
- pulumi_gcp/compute/region_security_policy_rule.py +6 -6
- pulumi_gcp/compute/router_peer.py +56 -35
- pulumi_gcp/compute/security_scan_config.py +8 -8
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/container/_inputs.py +345 -10
- pulumi_gcp/container/cluster.py +101 -0
- pulumi_gcp/container/get_cluster.py +23 -1
- pulumi_gcp/container/outputs.py +456 -8
- pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
- pulumi_gcp/dataproc/__init__.py +2 -0
- pulumi_gcp/dataproc/_inputs.py +101 -0
- pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
- pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
- pulumi_gcp/dataproc/outputs.py +94 -0
- pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
- pulumi_gcp/firebase/android_app.py +2 -2
- pulumi_gcp/firebase/apple_app.py +2 -2
- pulumi_gcp/firebase/web_app.py +2 -2
- pulumi_gcp/firestore/index.py +44 -0
- pulumi_gcp/gkeonprem/_inputs.py +15 -15
- pulumi_gcp/gkeonprem/outputs.py +10 -10
- pulumi_gcp/healthcare/dataset.py +7 -7
- pulumi_gcp/healthcare/dicom_store.py +7 -7
- pulumi_gcp/healthcare/fhir_store.py +7 -7
- pulumi_gcp/healthcare/hl7_store.py +14 -14
- pulumi_gcp/iam/__init__.py +1 -0
- pulumi_gcp/iam/_inputs.py +161 -0
- pulumi_gcp/iam/outputs.py +114 -0
- pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
- pulumi_gcp/logging/metric.py +2 -2
- pulumi_gcp/looker/_inputs.py +6 -0
- pulumi_gcp/looker/instance.py +169 -321
- pulumi_gcp/looker/outputs.py +4 -0
- pulumi_gcp/memorystore/instance.py +4 -0
- pulumi_gcp/monitoring/alert_policy.py +24 -0
- pulumi_gcp/monitoring/custom_service.py +24 -0
- pulumi_gcp/monitoring/group.py +24 -0
- pulumi_gcp/monitoring/metric_descriptor.py +24 -0
- pulumi_gcp/monitoring/slo.py +24 -0
- pulumi_gcp/monitoring/uptime_check_config.py +24 -0
- pulumi_gcp/networkmanagement/__init__.py +1 -0
- pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
- pulumi_gcp/osconfig/patch_deployment.py +8 -8
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +3 -3
- pulumi_gcp/redis/outputs.py +2 -2
- pulumi_gcp/securitycenter/notification_config.py +4 -16
- pulumi_gcp/securitycenter/project_notification_config.py +0 -24
- pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +9 -9
- pulumi_gcp/spanner/get_database.py +229 -0
- pulumi_gcp/spanner/get_instance.py +12 -1
- pulumi_gcp/spanner/instance.py +70 -0
- pulumi_gcp/spanner/outputs.py +46 -12
- pulumi_gcp/sql/_inputs.py +26 -0
- pulumi_gcp/sql/database_instance.py +124 -11
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +51 -0
- pulumi_gcp/storage/_inputs.py +3 -3
- pulumi_gcp/storage/outputs.py +2 -2
- pulumi_gcp/tags/tag_binding.py +4 -4
- pulumi_gcp/tags/tag_value.py +2 -2
- pulumi_gcp/transcoder/job.py +24 -0
- pulumi_gcp/vertex/_inputs.py +184 -0
- pulumi_gcp/vertex/ai_endpoint.py +394 -8
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/vertex/outputs.py +166 -0
- pulumi_gcp/workbench/instance.py +21 -7
- pulumi_gcp/workflows/workflow.py +36 -0
- pulumi_gcp/workstations/workstation_config.py +8 -8
- {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/RECORD +114 -103
- {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1358 @@
|
|
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
|
+
|
17
|
+
__all__ = ['VpcFlowLogsConfigArgs', 'VpcFlowLogsConfig']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class VpcFlowLogsConfigArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
location: pulumi.Input[str],
|
23
|
+
vpc_flow_logs_config_id: pulumi.Input[str],
|
24
|
+
aggregation_interval: Optional[pulumi.Input[str]] = None,
|
25
|
+
description: Optional[pulumi.Input[str]] = None,
|
26
|
+
filter_expr: Optional[pulumi.Input[str]] = None,
|
27
|
+
flow_sampling: Optional[pulumi.Input[float]] = None,
|
28
|
+
interconnect_attachment: Optional[pulumi.Input[str]] = None,
|
29
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
30
|
+
metadata: Optional[pulumi.Input[str]] = None,
|
31
|
+
metadata_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
32
|
+
project: Optional[pulumi.Input[str]] = None,
|
33
|
+
state: Optional[pulumi.Input[str]] = None,
|
34
|
+
vpn_tunnel: Optional[pulumi.Input[str]] = None):
|
35
|
+
"""
|
36
|
+
The set of arguments for constructing a VpcFlowLogsConfig resource.
|
37
|
+
:param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
|
38
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
39
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
40
|
+
:param pulumi.Input[str] vpc_flow_logs_config_id: Required. ID of the `VpcFlowLogsConfig`.
|
41
|
+
|
42
|
+
|
43
|
+
- - -
|
44
|
+
:param pulumi.Input[str] aggregation_interval: Optional. The aggregation interval for the logs. Default value is
|
45
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
46
|
+
:param pulumi.Input[str] description: Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
47
|
+
of 512 characters.
|
48
|
+
:param pulumi.Input[str] filter_expr: Optional. Export filter used to define which VPC Flow Logs should be logged.
|
49
|
+
:param pulumi.Input[float] flow_sampling: Optional. The value of the field must be in (0, 1]. The sampling rate
|
50
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
51
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
52
|
+
the state field instead. Default value is 1.0.
|
53
|
+
:param pulumi.Input[str] interconnect_attachment: Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
54
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels to represent user-provided metadata.
|
55
|
+
|
56
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
57
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
58
|
+
:param pulumi.Input[str] metadata: Optional. Configures whether all, none or a subset of metadata fields
|
59
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
60
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
61
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] metadata_fields: Optional. Custom metadata fields to include in the reported VPC flow
|
62
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
63
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
64
|
+
If it is not provided, the provider project is used.
|
65
|
+
:param pulumi.Input[str] state: Optional. The state of the VPC Flow Log configuration. Default value
|
66
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
67
|
+
:param pulumi.Input[str] vpn_tunnel: Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
68
|
+
"""
|
69
|
+
pulumi.set(__self__, "location", location)
|
70
|
+
pulumi.set(__self__, "vpc_flow_logs_config_id", vpc_flow_logs_config_id)
|
71
|
+
if aggregation_interval is not None:
|
72
|
+
pulumi.set(__self__, "aggregation_interval", aggregation_interval)
|
73
|
+
if description is not None:
|
74
|
+
pulumi.set(__self__, "description", description)
|
75
|
+
if filter_expr is not None:
|
76
|
+
pulumi.set(__self__, "filter_expr", filter_expr)
|
77
|
+
if flow_sampling is not None:
|
78
|
+
pulumi.set(__self__, "flow_sampling", flow_sampling)
|
79
|
+
if interconnect_attachment is not None:
|
80
|
+
pulumi.set(__self__, "interconnect_attachment", interconnect_attachment)
|
81
|
+
if labels is not None:
|
82
|
+
pulumi.set(__self__, "labels", labels)
|
83
|
+
if metadata is not None:
|
84
|
+
pulumi.set(__self__, "metadata", metadata)
|
85
|
+
if metadata_fields is not None:
|
86
|
+
pulumi.set(__self__, "metadata_fields", metadata_fields)
|
87
|
+
if project is not None:
|
88
|
+
pulumi.set(__self__, "project", project)
|
89
|
+
if state is not None:
|
90
|
+
pulumi.set(__self__, "state", state)
|
91
|
+
if vpn_tunnel is not None:
|
92
|
+
pulumi.set(__self__, "vpn_tunnel", vpn_tunnel)
|
93
|
+
|
94
|
+
@property
|
95
|
+
@pulumi.getter
|
96
|
+
def location(self) -> pulumi.Input[str]:
|
97
|
+
"""
|
98
|
+
Resource ID segment making up resource `name`. It identifies the resource
|
99
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
100
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
101
|
+
"""
|
102
|
+
return pulumi.get(self, "location")
|
103
|
+
|
104
|
+
@location.setter
|
105
|
+
def location(self, value: pulumi.Input[str]):
|
106
|
+
pulumi.set(self, "location", value)
|
107
|
+
|
108
|
+
@property
|
109
|
+
@pulumi.getter(name="vpcFlowLogsConfigId")
|
110
|
+
def vpc_flow_logs_config_id(self) -> pulumi.Input[str]:
|
111
|
+
"""
|
112
|
+
Required. ID of the `VpcFlowLogsConfig`.
|
113
|
+
|
114
|
+
|
115
|
+
- - -
|
116
|
+
"""
|
117
|
+
return pulumi.get(self, "vpc_flow_logs_config_id")
|
118
|
+
|
119
|
+
@vpc_flow_logs_config_id.setter
|
120
|
+
def vpc_flow_logs_config_id(self, value: pulumi.Input[str]):
|
121
|
+
pulumi.set(self, "vpc_flow_logs_config_id", value)
|
122
|
+
|
123
|
+
@property
|
124
|
+
@pulumi.getter(name="aggregationInterval")
|
125
|
+
def aggregation_interval(self) -> Optional[pulumi.Input[str]]:
|
126
|
+
"""
|
127
|
+
Optional. The aggregation interval for the logs. Default value is
|
128
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
129
|
+
"""
|
130
|
+
return pulumi.get(self, "aggregation_interval")
|
131
|
+
|
132
|
+
@aggregation_interval.setter
|
133
|
+
def aggregation_interval(self, value: Optional[pulumi.Input[str]]):
|
134
|
+
pulumi.set(self, "aggregation_interval", value)
|
135
|
+
|
136
|
+
@property
|
137
|
+
@pulumi.getter
|
138
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
139
|
+
"""
|
140
|
+
Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
141
|
+
of 512 characters.
|
142
|
+
"""
|
143
|
+
return pulumi.get(self, "description")
|
144
|
+
|
145
|
+
@description.setter
|
146
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
147
|
+
pulumi.set(self, "description", value)
|
148
|
+
|
149
|
+
@property
|
150
|
+
@pulumi.getter(name="filterExpr")
|
151
|
+
def filter_expr(self) -> Optional[pulumi.Input[str]]:
|
152
|
+
"""
|
153
|
+
Optional. Export filter used to define which VPC Flow Logs should be logged.
|
154
|
+
"""
|
155
|
+
return pulumi.get(self, "filter_expr")
|
156
|
+
|
157
|
+
@filter_expr.setter
|
158
|
+
def filter_expr(self, value: Optional[pulumi.Input[str]]):
|
159
|
+
pulumi.set(self, "filter_expr", value)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter(name="flowSampling")
|
163
|
+
def flow_sampling(self) -> Optional[pulumi.Input[float]]:
|
164
|
+
"""
|
165
|
+
Optional. The value of the field must be in (0, 1]. The sampling rate
|
166
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
167
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
168
|
+
the state field instead. Default value is 1.0.
|
169
|
+
"""
|
170
|
+
return pulumi.get(self, "flow_sampling")
|
171
|
+
|
172
|
+
@flow_sampling.setter
|
173
|
+
def flow_sampling(self, value: Optional[pulumi.Input[float]]):
|
174
|
+
pulumi.set(self, "flow_sampling", value)
|
175
|
+
|
176
|
+
@property
|
177
|
+
@pulumi.getter(name="interconnectAttachment")
|
178
|
+
def interconnect_attachment(self) -> Optional[pulumi.Input[str]]:
|
179
|
+
"""
|
180
|
+
Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
181
|
+
"""
|
182
|
+
return pulumi.get(self, "interconnect_attachment")
|
183
|
+
|
184
|
+
@interconnect_attachment.setter
|
185
|
+
def interconnect_attachment(self, value: Optional[pulumi.Input[str]]):
|
186
|
+
pulumi.set(self, "interconnect_attachment", value)
|
187
|
+
|
188
|
+
@property
|
189
|
+
@pulumi.getter
|
190
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
191
|
+
"""
|
192
|
+
Optional. Resource labels to represent user-provided metadata.
|
193
|
+
|
194
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
195
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
196
|
+
"""
|
197
|
+
return pulumi.get(self, "labels")
|
198
|
+
|
199
|
+
@labels.setter
|
200
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
201
|
+
pulumi.set(self, "labels", value)
|
202
|
+
|
203
|
+
@property
|
204
|
+
@pulumi.getter
|
205
|
+
def metadata(self) -> Optional[pulumi.Input[str]]:
|
206
|
+
"""
|
207
|
+
Optional. Configures whether all, none or a subset of metadata fields
|
208
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
209
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
210
|
+
"""
|
211
|
+
return pulumi.get(self, "metadata")
|
212
|
+
|
213
|
+
@metadata.setter
|
214
|
+
def metadata(self, value: Optional[pulumi.Input[str]]):
|
215
|
+
pulumi.set(self, "metadata", value)
|
216
|
+
|
217
|
+
@property
|
218
|
+
@pulumi.getter(name="metadataFields")
|
219
|
+
def metadata_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
220
|
+
"""
|
221
|
+
Optional. Custom metadata fields to include in the reported VPC flow
|
222
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
223
|
+
"""
|
224
|
+
return pulumi.get(self, "metadata_fields")
|
225
|
+
|
226
|
+
@metadata_fields.setter
|
227
|
+
def metadata_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
228
|
+
pulumi.set(self, "metadata_fields", value)
|
229
|
+
|
230
|
+
@property
|
231
|
+
@pulumi.getter
|
232
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
233
|
+
"""
|
234
|
+
The ID of the project in which the resource belongs.
|
235
|
+
If it is not provided, the provider project is used.
|
236
|
+
"""
|
237
|
+
return pulumi.get(self, "project")
|
238
|
+
|
239
|
+
@project.setter
|
240
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
241
|
+
pulumi.set(self, "project", value)
|
242
|
+
|
243
|
+
@property
|
244
|
+
@pulumi.getter
|
245
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
246
|
+
"""
|
247
|
+
Optional. The state of the VPC Flow Log configuration. Default value
|
248
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
249
|
+
"""
|
250
|
+
return pulumi.get(self, "state")
|
251
|
+
|
252
|
+
@state.setter
|
253
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
254
|
+
pulumi.set(self, "state", value)
|
255
|
+
|
256
|
+
@property
|
257
|
+
@pulumi.getter(name="vpnTunnel")
|
258
|
+
def vpn_tunnel(self) -> Optional[pulumi.Input[str]]:
|
259
|
+
"""
|
260
|
+
Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
261
|
+
"""
|
262
|
+
return pulumi.get(self, "vpn_tunnel")
|
263
|
+
|
264
|
+
@vpn_tunnel.setter
|
265
|
+
def vpn_tunnel(self, value: Optional[pulumi.Input[str]]):
|
266
|
+
pulumi.set(self, "vpn_tunnel", value)
|
267
|
+
|
268
|
+
|
269
|
+
@pulumi.input_type
|
270
|
+
class _VpcFlowLogsConfigState:
|
271
|
+
def __init__(__self__, *,
|
272
|
+
aggregation_interval: Optional[pulumi.Input[str]] = None,
|
273
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
274
|
+
description: Optional[pulumi.Input[str]] = None,
|
275
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
276
|
+
filter_expr: Optional[pulumi.Input[str]] = None,
|
277
|
+
flow_sampling: Optional[pulumi.Input[float]] = None,
|
278
|
+
interconnect_attachment: Optional[pulumi.Input[str]] = None,
|
279
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
280
|
+
location: Optional[pulumi.Input[str]] = None,
|
281
|
+
metadata: Optional[pulumi.Input[str]] = None,
|
282
|
+
metadata_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
283
|
+
name: Optional[pulumi.Input[str]] = None,
|
284
|
+
project: Optional[pulumi.Input[str]] = None,
|
285
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
286
|
+
state: Optional[pulumi.Input[str]] = None,
|
287
|
+
update_time: Optional[pulumi.Input[str]] = None,
|
288
|
+
vpc_flow_logs_config_id: Optional[pulumi.Input[str]] = None,
|
289
|
+
vpn_tunnel: Optional[pulumi.Input[str]] = None):
|
290
|
+
"""
|
291
|
+
Input properties used for looking up and filtering VpcFlowLogsConfig resources.
|
292
|
+
:param pulumi.Input[str] aggregation_interval: Optional. The aggregation interval for the logs. Default value is
|
293
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
294
|
+
:param pulumi.Input[str] create_time: Output only. The time the config was created.
|
295
|
+
:param pulumi.Input[str] description: Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
296
|
+
of 512 characters.
|
297
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
298
|
+
:param pulumi.Input[str] filter_expr: Optional. Export filter used to define which VPC Flow Logs should be logged.
|
299
|
+
:param pulumi.Input[float] flow_sampling: Optional. The value of the field must be in (0, 1]. The sampling rate
|
300
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
301
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
302
|
+
the state field instead. Default value is 1.0.
|
303
|
+
:param pulumi.Input[str] interconnect_attachment: Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
304
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels to represent user-provided metadata.
|
305
|
+
|
306
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
307
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
308
|
+
:param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
|
309
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
310
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
311
|
+
:param pulumi.Input[str] metadata: Optional. Configures whether all, none or a subset of metadata fields
|
312
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
313
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
314
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] metadata_fields: Optional. Custom metadata fields to include in the reported VPC flow
|
315
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
316
|
+
:param pulumi.Input[str] name: Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
|
317
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
318
|
+
If it is not provided, the provider project is used.
|
319
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
320
|
+
and default labels configured on the provider.
|
321
|
+
:param pulumi.Input[str] state: Optional. The state of the VPC Flow Log configuration. Default value
|
322
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
323
|
+
:param pulumi.Input[str] update_time: Output only. The time the config was updated.
|
324
|
+
:param pulumi.Input[str] vpc_flow_logs_config_id: Required. ID of the `VpcFlowLogsConfig`.
|
325
|
+
|
326
|
+
|
327
|
+
- - -
|
328
|
+
:param pulumi.Input[str] vpn_tunnel: Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
329
|
+
"""
|
330
|
+
if aggregation_interval is not None:
|
331
|
+
pulumi.set(__self__, "aggregation_interval", aggregation_interval)
|
332
|
+
if create_time is not None:
|
333
|
+
pulumi.set(__self__, "create_time", create_time)
|
334
|
+
if description is not None:
|
335
|
+
pulumi.set(__self__, "description", description)
|
336
|
+
if effective_labels is not None:
|
337
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
338
|
+
if filter_expr is not None:
|
339
|
+
pulumi.set(__self__, "filter_expr", filter_expr)
|
340
|
+
if flow_sampling is not None:
|
341
|
+
pulumi.set(__self__, "flow_sampling", flow_sampling)
|
342
|
+
if interconnect_attachment is not None:
|
343
|
+
pulumi.set(__self__, "interconnect_attachment", interconnect_attachment)
|
344
|
+
if labels is not None:
|
345
|
+
pulumi.set(__self__, "labels", labels)
|
346
|
+
if location is not None:
|
347
|
+
pulumi.set(__self__, "location", location)
|
348
|
+
if metadata is not None:
|
349
|
+
pulumi.set(__self__, "metadata", metadata)
|
350
|
+
if metadata_fields is not None:
|
351
|
+
pulumi.set(__self__, "metadata_fields", metadata_fields)
|
352
|
+
if name is not None:
|
353
|
+
pulumi.set(__self__, "name", name)
|
354
|
+
if project is not None:
|
355
|
+
pulumi.set(__self__, "project", project)
|
356
|
+
if pulumi_labels is not None:
|
357
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
358
|
+
if state is not None:
|
359
|
+
pulumi.set(__self__, "state", state)
|
360
|
+
if update_time is not None:
|
361
|
+
pulumi.set(__self__, "update_time", update_time)
|
362
|
+
if vpc_flow_logs_config_id is not None:
|
363
|
+
pulumi.set(__self__, "vpc_flow_logs_config_id", vpc_flow_logs_config_id)
|
364
|
+
if vpn_tunnel is not None:
|
365
|
+
pulumi.set(__self__, "vpn_tunnel", vpn_tunnel)
|
366
|
+
|
367
|
+
@property
|
368
|
+
@pulumi.getter(name="aggregationInterval")
|
369
|
+
def aggregation_interval(self) -> Optional[pulumi.Input[str]]:
|
370
|
+
"""
|
371
|
+
Optional. The aggregation interval for the logs. Default value is
|
372
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
373
|
+
"""
|
374
|
+
return pulumi.get(self, "aggregation_interval")
|
375
|
+
|
376
|
+
@aggregation_interval.setter
|
377
|
+
def aggregation_interval(self, value: Optional[pulumi.Input[str]]):
|
378
|
+
pulumi.set(self, "aggregation_interval", value)
|
379
|
+
|
380
|
+
@property
|
381
|
+
@pulumi.getter(name="createTime")
|
382
|
+
def create_time(self) -> Optional[pulumi.Input[str]]:
|
383
|
+
"""
|
384
|
+
Output only. The time the config was created.
|
385
|
+
"""
|
386
|
+
return pulumi.get(self, "create_time")
|
387
|
+
|
388
|
+
@create_time.setter
|
389
|
+
def create_time(self, value: Optional[pulumi.Input[str]]):
|
390
|
+
pulumi.set(self, "create_time", value)
|
391
|
+
|
392
|
+
@property
|
393
|
+
@pulumi.getter
|
394
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
395
|
+
"""
|
396
|
+
Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
397
|
+
of 512 characters.
|
398
|
+
"""
|
399
|
+
return pulumi.get(self, "description")
|
400
|
+
|
401
|
+
@description.setter
|
402
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
403
|
+
pulumi.set(self, "description", value)
|
404
|
+
|
405
|
+
@property
|
406
|
+
@pulumi.getter(name="effectiveLabels")
|
407
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
408
|
+
"""
|
409
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
410
|
+
"""
|
411
|
+
return pulumi.get(self, "effective_labels")
|
412
|
+
|
413
|
+
@effective_labels.setter
|
414
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
415
|
+
pulumi.set(self, "effective_labels", value)
|
416
|
+
|
417
|
+
@property
|
418
|
+
@pulumi.getter(name="filterExpr")
|
419
|
+
def filter_expr(self) -> Optional[pulumi.Input[str]]:
|
420
|
+
"""
|
421
|
+
Optional. Export filter used to define which VPC Flow Logs should be logged.
|
422
|
+
"""
|
423
|
+
return pulumi.get(self, "filter_expr")
|
424
|
+
|
425
|
+
@filter_expr.setter
|
426
|
+
def filter_expr(self, value: Optional[pulumi.Input[str]]):
|
427
|
+
pulumi.set(self, "filter_expr", value)
|
428
|
+
|
429
|
+
@property
|
430
|
+
@pulumi.getter(name="flowSampling")
|
431
|
+
def flow_sampling(self) -> Optional[pulumi.Input[float]]:
|
432
|
+
"""
|
433
|
+
Optional. The value of the field must be in (0, 1]. The sampling rate
|
434
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
435
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
436
|
+
the state field instead. Default value is 1.0.
|
437
|
+
"""
|
438
|
+
return pulumi.get(self, "flow_sampling")
|
439
|
+
|
440
|
+
@flow_sampling.setter
|
441
|
+
def flow_sampling(self, value: Optional[pulumi.Input[float]]):
|
442
|
+
pulumi.set(self, "flow_sampling", value)
|
443
|
+
|
444
|
+
@property
|
445
|
+
@pulumi.getter(name="interconnectAttachment")
|
446
|
+
def interconnect_attachment(self) -> Optional[pulumi.Input[str]]:
|
447
|
+
"""
|
448
|
+
Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
449
|
+
"""
|
450
|
+
return pulumi.get(self, "interconnect_attachment")
|
451
|
+
|
452
|
+
@interconnect_attachment.setter
|
453
|
+
def interconnect_attachment(self, value: Optional[pulumi.Input[str]]):
|
454
|
+
pulumi.set(self, "interconnect_attachment", value)
|
455
|
+
|
456
|
+
@property
|
457
|
+
@pulumi.getter
|
458
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
459
|
+
"""
|
460
|
+
Optional. Resource labels to represent user-provided metadata.
|
461
|
+
|
462
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
463
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
464
|
+
"""
|
465
|
+
return pulumi.get(self, "labels")
|
466
|
+
|
467
|
+
@labels.setter
|
468
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
469
|
+
pulumi.set(self, "labels", value)
|
470
|
+
|
471
|
+
@property
|
472
|
+
@pulumi.getter
|
473
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
474
|
+
"""
|
475
|
+
Resource ID segment making up resource `name`. It identifies the resource
|
476
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
477
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
478
|
+
"""
|
479
|
+
return pulumi.get(self, "location")
|
480
|
+
|
481
|
+
@location.setter
|
482
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
483
|
+
pulumi.set(self, "location", value)
|
484
|
+
|
485
|
+
@property
|
486
|
+
@pulumi.getter
|
487
|
+
def metadata(self) -> Optional[pulumi.Input[str]]:
|
488
|
+
"""
|
489
|
+
Optional. Configures whether all, none or a subset of metadata fields
|
490
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
491
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
492
|
+
"""
|
493
|
+
return pulumi.get(self, "metadata")
|
494
|
+
|
495
|
+
@metadata.setter
|
496
|
+
def metadata(self, value: Optional[pulumi.Input[str]]):
|
497
|
+
pulumi.set(self, "metadata", value)
|
498
|
+
|
499
|
+
@property
|
500
|
+
@pulumi.getter(name="metadataFields")
|
501
|
+
def metadata_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
502
|
+
"""
|
503
|
+
Optional. Custom metadata fields to include in the reported VPC flow
|
504
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
505
|
+
"""
|
506
|
+
return pulumi.get(self, "metadata_fields")
|
507
|
+
|
508
|
+
@metadata_fields.setter
|
509
|
+
def metadata_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
510
|
+
pulumi.set(self, "metadata_fields", value)
|
511
|
+
|
512
|
+
@property
|
513
|
+
@pulumi.getter
|
514
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
515
|
+
"""
|
516
|
+
Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
|
517
|
+
"""
|
518
|
+
return pulumi.get(self, "name")
|
519
|
+
|
520
|
+
@name.setter
|
521
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
522
|
+
pulumi.set(self, "name", value)
|
523
|
+
|
524
|
+
@property
|
525
|
+
@pulumi.getter
|
526
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
527
|
+
"""
|
528
|
+
The ID of the project in which the resource belongs.
|
529
|
+
If it is not provided, the provider project is used.
|
530
|
+
"""
|
531
|
+
return pulumi.get(self, "project")
|
532
|
+
|
533
|
+
@project.setter
|
534
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
535
|
+
pulumi.set(self, "project", value)
|
536
|
+
|
537
|
+
@property
|
538
|
+
@pulumi.getter(name="pulumiLabels")
|
539
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
540
|
+
"""
|
541
|
+
The combination of labels configured directly on the resource
|
542
|
+
and default labels configured on the provider.
|
543
|
+
"""
|
544
|
+
return pulumi.get(self, "pulumi_labels")
|
545
|
+
|
546
|
+
@pulumi_labels.setter
|
547
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
548
|
+
pulumi.set(self, "pulumi_labels", value)
|
549
|
+
|
550
|
+
@property
|
551
|
+
@pulumi.getter
|
552
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
553
|
+
"""
|
554
|
+
Optional. The state of the VPC Flow Log configuration. Default value
|
555
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
556
|
+
"""
|
557
|
+
return pulumi.get(self, "state")
|
558
|
+
|
559
|
+
@state.setter
|
560
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
561
|
+
pulumi.set(self, "state", value)
|
562
|
+
|
563
|
+
@property
|
564
|
+
@pulumi.getter(name="updateTime")
|
565
|
+
def update_time(self) -> Optional[pulumi.Input[str]]:
|
566
|
+
"""
|
567
|
+
Output only. The time the config was updated.
|
568
|
+
"""
|
569
|
+
return pulumi.get(self, "update_time")
|
570
|
+
|
571
|
+
@update_time.setter
|
572
|
+
def update_time(self, value: Optional[pulumi.Input[str]]):
|
573
|
+
pulumi.set(self, "update_time", value)
|
574
|
+
|
575
|
+
@property
|
576
|
+
@pulumi.getter(name="vpcFlowLogsConfigId")
|
577
|
+
def vpc_flow_logs_config_id(self) -> Optional[pulumi.Input[str]]:
|
578
|
+
"""
|
579
|
+
Required. ID of the `VpcFlowLogsConfig`.
|
580
|
+
|
581
|
+
|
582
|
+
- - -
|
583
|
+
"""
|
584
|
+
return pulumi.get(self, "vpc_flow_logs_config_id")
|
585
|
+
|
586
|
+
@vpc_flow_logs_config_id.setter
|
587
|
+
def vpc_flow_logs_config_id(self, value: Optional[pulumi.Input[str]]):
|
588
|
+
pulumi.set(self, "vpc_flow_logs_config_id", value)
|
589
|
+
|
590
|
+
@property
|
591
|
+
@pulumi.getter(name="vpnTunnel")
|
592
|
+
def vpn_tunnel(self) -> Optional[pulumi.Input[str]]:
|
593
|
+
"""
|
594
|
+
Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
595
|
+
"""
|
596
|
+
return pulumi.get(self, "vpn_tunnel")
|
597
|
+
|
598
|
+
@vpn_tunnel.setter
|
599
|
+
def vpn_tunnel(self, value: Optional[pulumi.Input[str]]):
|
600
|
+
pulumi.set(self, "vpn_tunnel", value)
|
601
|
+
|
602
|
+
|
603
|
+
class VpcFlowLogsConfig(pulumi.CustomResource):
|
604
|
+
@overload
|
605
|
+
def __init__(__self__,
|
606
|
+
resource_name: str,
|
607
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
608
|
+
aggregation_interval: Optional[pulumi.Input[str]] = None,
|
609
|
+
description: Optional[pulumi.Input[str]] = None,
|
610
|
+
filter_expr: Optional[pulumi.Input[str]] = None,
|
611
|
+
flow_sampling: Optional[pulumi.Input[float]] = None,
|
612
|
+
interconnect_attachment: Optional[pulumi.Input[str]] = None,
|
613
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
614
|
+
location: Optional[pulumi.Input[str]] = None,
|
615
|
+
metadata: Optional[pulumi.Input[str]] = None,
|
616
|
+
metadata_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
617
|
+
project: Optional[pulumi.Input[str]] = None,
|
618
|
+
state: Optional[pulumi.Input[str]] = None,
|
619
|
+
vpc_flow_logs_config_id: Optional[pulumi.Input[str]] = None,
|
620
|
+
vpn_tunnel: Optional[pulumi.Input[str]] = None,
|
621
|
+
__props__=None):
|
622
|
+
"""
|
623
|
+
## Example Usage
|
624
|
+
|
625
|
+
### Network Management Vpc Flow Logs Config Interconnect Full
|
626
|
+
|
627
|
+
```python
|
628
|
+
import pulumi
|
629
|
+
import pulumi_gcp as gcp
|
630
|
+
|
631
|
+
project = gcp.organizations.get_project()
|
632
|
+
network = gcp.compute.Network("network", name="full-interconnect-test-network")
|
633
|
+
router = gcp.compute.Router("router",
|
634
|
+
name="full-interconnect-test-router",
|
635
|
+
network=network.name,
|
636
|
+
bgp={
|
637
|
+
"asn": 16550,
|
638
|
+
})
|
639
|
+
attachment = gcp.compute.InterconnectAttachment("attachment",
|
640
|
+
name="full-interconnect-test-id",
|
641
|
+
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
642
|
+
type="PARTNER",
|
643
|
+
router=router.id,
|
644
|
+
mtu="1500")
|
645
|
+
interconnect_test = gcp.networkmanagement.VpcFlowLogsConfig("interconnect-test",
|
646
|
+
vpc_flow_logs_config_id="full-interconnect-test-id",
|
647
|
+
location="global",
|
648
|
+
interconnect_attachment=attachment.name.apply(lambda name: f"projects/{project.number}/regions/us-east4/interconnectAttachments/{name}"),
|
649
|
+
state="ENABLED",
|
650
|
+
aggregation_interval="INTERVAL_5_SEC",
|
651
|
+
description="VPC Flow Logs over a VPN Gateway.",
|
652
|
+
flow_sampling=0.5,
|
653
|
+
metadata="INCLUDE_ALL_METADATA")
|
654
|
+
```
|
655
|
+
### Network Management Vpc Flow Logs Config Interconnect Basic
|
656
|
+
|
657
|
+
```python
|
658
|
+
import pulumi
|
659
|
+
import pulumi_gcp as gcp
|
660
|
+
|
661
|
+
project = gcp.organizations.get_project()
|
662
|
+
network = gcp.compute.Network("network", name="basic-interconnect-test-network")
|
663
|
+
router = gcp.compute.Router("router",
|
664
|
+
name="basic-interconnect-test-router",
|
665
|
+
network=network.name,
|
666
|
+
bgp={
|
667
|
+
"asn": 16550,
|
668
|
+
})
|
669
|
+
attachment = gcp.compute.InterconnectAttachment("attachment",
|
670
|
+
name="basic-interconnect-test-id",
|
671
|
+
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
672
|
+
type="PARTNER",
|
673
|
+
router=router.id,
|
674
|
+
mtu="1500")
|
675
|
+
interconnect_test = gcp.networkmanagement.VpcFlowLogsConfig("interconnect-test",
|
676
|
+
vpc_flow_logs_config_id="basic-interconnect-test-id",
|
677
|
+
location="global",
|
678
|
+
interconnect_attachment=attachment.name.apply(lambda name: f"projects/{project.number}/regions/us-east4/interconnectAttachments/{name}"))
|
679
|
+
```
|
680
|
+
### Network Management Vpc Flow Logs Config Vpn Basic
|
681
|
+
|
682
|
+
```python
|
683
|
+
import pulumi
|
684
|
+
import pulumi_gcp as gcp
|
685
|
+
|
686
|
+
project = gcp.organizations.get_project()
|
687
|
+
network = gcp.compute.Network("network", name="basic-test-network")
|
688
|
+
target_gateway = gcp.compute.VPNGateway("target_gateway",
|
689
|
+
name="basic-test-gateway",
|
690
|
+
network=network.id)
|
691
|
+
vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="basic-test-address")
|
692
|
+
fr_esp = gcp.compute.ForwardingRule("fr_esp",
|
693
|
+
name="basic-test-fresp",
|
694
|
+
ip_protocol="ESP",
|
695
|
+
ip_address=vpn_static_ip.address,
|
696
|
+
target=target_gateway.id)
|
697
|
+
fr_udp500 = gcp.compute.ForwardingRule("fr_udp500",
|
698
|
+
name="basic-test-fr500",
|
699
|
+
ip_protocol="UDP",
|
700
|
+
port_range="500",
|
701
|
+
ip_address=vpn_static_ip.address,
|
702
|
+
target=target_gateway.id)
|
703
|
+
fr_udp4500 = gcp.compute.ForwardingRule("fr_udp4500",
|
704
|
+
name="basic-test-fr4500",
|
705
|
+
ip_protocol="UDP",
|
706
|
+
port_range="4500",
|
707
|
+
ip_address=vpn_static_ip.address,
|
708
|
+
target=target_gateway.id)
|
709
|
+
tunnel = gcp.compute.VPNTunnel("tunnel",
|
710
|
+
name="basic-test-tunnel",
|
711
|
+
peer_ip="15.0.0.120",
|
712
|
+
shared_secret="a secret message",
|
713
|
+
target_vpn_gateway=target_gateway.id,
|
714
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
715
|
+
fr_esp,
|
716
|
+
fr_udp500,
|
717
|
+
fr_udp4500,
|
718
|
+
]))
|
719
|
+
vpn_test = gcp.networkmanagement.VpcFlowLogsConfig("vpn-test",
|
720
|
+
vpc_flow_logs_config_id="basic-test-id",
|
721
|
+
location="global",
|
722
|
+
vpn_tunnel=tunnel.name.apply(lambda name: f"projects/{project.number}/regions/us-central1/vpnTunnels/{name}"))
|
723
|
+
route = gcp.compute.Route("route",
|
724
|
+
name="basic-test-route",
|
725
|
+
network=network.name,
|
726
|
+
dest_range="15.0.0.0/24",
|
727
|
+
priority=1000,
|
728
|
+
next_hop_vpn_tunnel=tunnel.id)
|
729
|
+
```
|
730
|
+
### Network Management Vpc Flow Logs Config Vpn Full
|
731
|
+
|
732
|
+
```python
|
733
|
+
import pulumi
|
734
|
+
import pulumi_gcp as gcp
|
735
|
+
|
736
|
+
project = gcp.organizations.get_project()
|
737
|
+
network = gcp.compute.Network("network", name="full-test-network")
|
738
|
+
target_gateway = gcp.compute.VPNGateway("target_gateway",
|
739
|
+
name="full-test-gateway",
|
740
|
+
network=network.id)
|
741
|
+
vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="full-test-address")
|
742
|
+
fr_esp = gcp.compute.ForwardingRule("fr_esp",
|
743
|
+
name="full-test-fresp",
|
744
|
+
ip_protocol="ESP",
|
745
|
+
ip_address=vpn_static_ip.address,
|
746
|
+
target=target_gateway.id)
|
747
|
+
fr_udp500 = gcp.compute.ForwardingRule("fr_udp500",
|
748
|
+
name="full-test-fr500",
|
749
|
+
ip_protocol="UDP",
|
750
|
+
port_range="500",
|
751
|
+
ip_address=vpn_static_ip.address,
|
752
|
+
target=target_gateway.id)
|
753
|
+
fr_udp4500 = gcp.compute.ForwardingRule("fr_udp4500",
|
754
|
+
name="full-test-fr4500",
|
755
|
+
ip_protocol="UDP",
|
756
|
+
port_range="4500",
|
757
|
+
ip_address=vpn_static_ip.address,
|
758
|
+
target=target_gateway.id)
|
759
|
+
tunnel = gcp.compute.VPNTunnel("tunnel",
|
760
|
+
name="full-test-tunnel",
|
761
|
+
peer_ip="15.0.0.120",
|
762
|
+
shared_secret="a secret message",
|
763
|
+
target_vpn_gateway=target_gateway.id,
|
764
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
765
|
+
fr_esp,
|
766
|
+
fr_udp500,
|
767
|
+
fr_udp4500,
|
768
|
+
]))
|
769
|
+
vpn_test = gcp.networkmanagement.VpcFlowLogsConfig("vpn-test",
|
770
|
+
vpc_flow_logs_config_id="full-test-id",
|
771
|
+
location="global",
|
772
|
+
vpn_tunnel=tunnel.name.apply(lambda name: f"projects/{project.number}/regions/us-central1/vpnTunnels/{name}"),
|
773
|
+
state="ENABLED",
|
774
|
+
aggregation_interval="INTERVAL_5_SEC",
|
775
|
+
description="VPC Flow Logs over a VPN Gateway.",
|
776
|
+
flow_sampling=0.5,
|
777
|
+
metadata="INCLUDE_ALL_METADATA")
|
778
|
+
route = gcp.compute.Route("route",
|
779
|
+
name="full-test-route",
|
780
|
+
network=network.name,
|
781
|
+
dest_range="15.0.0.0/24",
|
782
|
+
priority=1000,
|
783
|
+
next_hop_vpn_tunnel=tunnel.id)
|
784
|
+
```
|
785
|
+
|
786
|
+
## Import
|
787
|
+
|
788
|
+
VpcFlowLogsConfig can be imported using any of these accepted formats:
|
789
|
+
|
790
|
+
* `projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}}`
|
791
|
+
|
792
|
+
* `{{project}}/{{location}}/{{vpc_flow_logs_config_id}}`
|
793
|
+
|
794
|
+
* `{{location}}/{{vpc_flow_logs_config_id}}`
|
795
|
+
|
796
|
+
When using the `pulumi import` command, VpcFlowLogsConfig can be imported using one of the formats above. For example:
|
797
|
+
|
798
|
+
```sh
|
799
|
+
$ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}}
|
800
|
+
```
|
801
|
+
|
802
|
+
```sh
|
803
|
+
$ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default {{project}}/{{location}}/{{vpc_flow_logs_config_id}}
|
804
|
+
```
|
805
|
+
|
806
|
+
```sh
|
807
|
+
$ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default {{location}}/{{vpc_flow_logs_config_id}}
|
808
|
+
```
|
809
|
+
|
810
|
+
:param str resource_name: The name of the resource.
|
811
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
812
|
+
:param pulumi.Input[str] aggregation_interval: Optional. The aggregation interval for the logs. Default value is
|
813
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
814
|
+
:param pulumi.Input[str] description: Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
815
|
+
of 512 characters.
|
816
|
+
:param pulumi.Input[str] filter_expr: Optional. Export filter used to define which VPC Flow Logs should be logged.
|
817
|
+
:param pulumi.Input[float] flow_sampling: Optional. The value of the field must be in (0, 1]. The sampling rate
|
818
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
819
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
820
|
+
the state field instead. Default value is 1.0.
|
821
|
+
:param pulumi.Input[str] interconnect_attachment: Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
822
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels to represent user-provided metadata.
|
823
|
+
|
824
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
825
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
826
|
+
:param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
|
827
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
828
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
829
|
+
:param pulumi.Input[str] metadata: Optional. Configures whether all, none or a subset of metadata fields
|
830
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
831
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
832
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] metadata_fields: Optional. Custom metadata fields to include in the reported VPC flow
|
833
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
834
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
835
|
+
If it is not provided, the provider project is used.
|
836
|
+
:param pulumi.Input[str] state: Optional. The state of the VPC Flow Log configuration. Default value
|
837
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
838
|
+
:param pulumi.Input[str] vpc_flow_logs_config_id: Required. ID of the `VpcFlowLogsConfig`.
|
839
|
+
|
840
|
+
|
841
|
+
- - -
|
842
|
+
:param pulumi.Input[str] vpn_tunnel: Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
843
|
+
"""
|
844
|
+
...
|
845
|
+
@overload
|
846
|
+
def __init__(__self__,
|
847
|
+
resource_name: str,
|
848
|
+
args: VpcFlowLogsConfigArgs,
|
849
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
850
|
+
"""
|
851
|
+
## Example Usage
|
852
|
+
|
853
|
+
### Network Management Vpc Flow Logs Config Interconnect Full
|
854
|
+
|
855
|
+
```python
|
856
|
+
import pulumi
|
857
|
+
import pulumi_gcp as gcp
|
858
|
+
|
859
|
+
project = gcp.organizations.get_project()
|
860
|
+
network = gcp.compute.Network("network", name="full-interconnect-test-network")
|
861
|
+
router = gcp.compute.Router("router",
|
862
|
+
name="full-interconnect-test-router",
|
863
|
+
network=network.name,
|
864
|
+
bgp={
|
865
|
+
"asn": 16550,
|
866
|
+
})
|
867
|
+
attachment = gcp.compute.InterconnectAttachment("attachment",
|
868
|
+
name="full-interconnect-test-id",
|
869
|
+
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
870
|
+
type="PARTNER",
|
871
|
+
router=router.id,
|
872
|
+
mtu="1500")
|
873
|
+
interconnect_test = gcp.networkmanagement.VpcFlowLogsConfig("interconnect-test",
|
874
|
+
vpc_flow_logs_config_id="full-interconnect-test-id",
|
875
|
+
location="global",
|
876
|
+
interconnect_attachment=attachment.name.apply(lambda name: f"projects/{project.number}/regions/us-east4/interconnectAttachments/{name}"),
|
877
|
+
state="ENABLED",
|
878
|
+
aggregation_interval="INTERVAL_5_SEC",
|
879
|
+
description="VPC Flow Logs over a VPN Gateway.",
|
880
|
+
flow_sampling=0.5,
|
881
|
+
metadata="INCLUDE_ALL_METADATA")
|
882
|
+
```
|
883
|
+
### Network Management Vpc Flow Logs Config Interconnect Basic
|
884
|
+
|
885
|
+
```python
|
886
|
+
import pulumi
|
887
|
+
import pulumi_gcp as gcp
|
888
|
+
|
889
|
+
project = gcp.organizations.get_project()
|
890
|
+
network = gcp.compute.Network("network", name="basic-interconnect-test-network")
|
891
|
+
router = gcp.compute.Router("router",
|
892
|
+
name="basic-interconnect-test-router",
|
893
|
+
network=network.name,
|
894
|
+
bgp={
|
895
|
+
"asn": 16550,
|
896
|
+
})
|
897
|
+
attachment = gcp.compute.InterconnectAttachment("attachment",
|
898
|
+
name="basic-interconnect-test-id",
|
899
|
+
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
900
|
+
type="PARTNER",
|
901
|
+
router=router.id,
|
902
|
+
mtu="1500")
|
903
|
+
interconnect_test = gcp.networkmanagement.VpcFlowLogsConfig("interconnect-test",
|
904
|
+
vpc_flow_logs_config_id="basic-interconnect-test-id",
|
905
|
+
location="global",
|
906
|
+
interconnect_attachment=attachment.name.apply(lambda name: f"projects/{project.number}/regions/us-east4/interconnectAttachments/{name}"))
|
907
|
+
```
|
908
|
+
### Network Management Vpc Flow Logs Config Vpn Basic
|
909
|
+
|
910
|
+
```python
|
911
|
+
import pulumi
|
912
|
+
import pulumi_gcp as gcp
|
913
|
+
|
914
|
+
project = gcp.organizations.get_project()
|
915
|
+
network = gcp.compute.Network("network", name="basic-test-network")
|
916
|
+
target_gateway = gcp.compute.VPNGateway("target_gateway",
|
917
|
+
name="basic-test-gateway",
|
918
|
+
network=network.id)
|
919
|
+
vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="basic-test-address")
|
920
|
+
fr_esp = gcp.compute.ForwardingRule("fr_esp",
|
921
|
+
name="basic-test-fresp",
|
922
|
+
ip_protocol="ESP",
|
923
|
+
ip_address=vpn_static_ip.address,
|
924
|
+
target=target_gateway.id)
|
925
|
+
fr_udp500 = gcp.compute.ForwardingRule("fr_udp500",
|
926
|
+
name="basic-test-fr500",
|
927
|
+
ip_protocol="UDP",
|
928
|
+
port_range="500",
|
929
|
+
ip_address=vpn_static_ip.address,
|
930
|
+
target=target_gateway.id)
|
931
|
+
fr_udp4500 = gcp.compute.ForwardingRule("fr_udp4500",
|
932
|
+
name="basic-test-fr4500",
|
933
|
+
ip_protocol="UDP",
|
934
|
+
port_range="4500",
|
935
|
+
ip_address=vpn_static_ip.address,
|
936
|
+
target=target_gateway.id)
|
937
|
+
tunnel = gcp.compute.VPNTunnel("tunnel",
|
938
|
+
name="basic-test-tunnel",
|
939
|
+
peer_ip="15.0.0.120",
|
940
|
+
shared_secret="a secret message",
|
941
|
+
target_vpn_gateway=target_gateway.id,
|
942
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
943
|
+
fr_esp,
|
944
|
+
fr_udp500,
|
945
|
+
fr_udp4500,
|
946
|
+
]))
|
947
|
+
vpn_test = gcp.networkmanagement.VpcFlowLogsConfig("vpn-test",
|
948
|
+
vpc_flow_logs_config_id="basic-test-id",
|
949
|
+
location="global",
|
950
|
+
vpn_tunnel=tunnel.name.apply(lambda name: f"projects/{project.number}/regions/us-central1/vpnTunnels/{name}"))
|
951
|
+
route = gcp.compute.Route("route",
|
952
|
+
name="basic-test-route",
|
953
|
+
network=network.name,
|
954
|
+
dest_range="15.0.0.0/24",
|
955
|
+
priority=1000,
|
956
|
+
next_hop_vpn_tunnel=tunnel.id)
|
957
|
+
```
|
958
|
+
### Network Management Vpc Flow Logs Config Vpn Full
|
959
|
+
|
960
|
+
```python
|
961
|
+
import pulumi
|
962
|
+
import pulumi_gcp as gcp
|
963
|
+
|
964
|
+
project = gcp.organizations.get_project()
|
965
|
+
network = gcp.compute.Network("network", name="full-test-network")
|
966
|
+
target_gateway = gcp.compute.VPNGateway("target_gateway",
|
967
|
+
name="full-test-gateway",
|
968
|
+
network=network.id)
|
969
|
+
vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="full-test-address")
|
970
|
+
fr_esp = gcp.compute.ForwardingRule("fr_esp",
|
971
|
+
name="full-test-fresp",
|
972
|
+
ip_protocol="ESP",
|
973
|
+
ip_address=vpn_static_ip.address,
|
974
|
+
target=target_gateway.id)
|
975
|
+
fr_udp500 = gcp.compute.ForwardingRule("fr_udp500",
|
976
|
+
name="full-test-fr500",
|
977
|
+
ip_protocol="UDP",
|
978
|
+
port_range="500",
|
979
|
+
ip_address=vpn_static_ip.address,
|
980
|
+
target=target_gateway.id)
|
981
|
+
fr_udp4500 = gcp.compute.ForwardingRule("fr_udp4500",
|
982
|
+
name="full-test-fr4500",
|
983
|
+
ip_protocol="UDP",
|
984
|
+
port_range="4500",
|
985
|
+
ip_address=vpn_static_ip.address,
|
986
|
+
target=target_gateway.id)
|
987
|
+
tunnel = gcp.compute.VPNTunnel("tunnel",
|
988
|
+
name="full-test-tunnel",
|
989
|
+
peer_ip="15.0.0.120",
|
990
|
+
shared_secret="a secret message",
|
991
|
+
target_vpn_gateway=target_gateway.id,
|
992
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
993
|
+
fr_esp,
|
994
|
+
fr_udp500,
|
995
|
+
fr_udp4500,
|
996
|
+
]))
|
997
|
+
vpn_test = gcp.networkmanagement.VpcFlowLogsConfig("vpn-test",
|
998
|
+
vpc_flow_logs_config_id="full-test-id",
|
999
|
+
location="global",
|
1000
|
+
vpn_tunnel=tunnel.name.apply(lambda name: f"projects/{project.number}/regions/us-central1/vpnTunnels/{name}"),
|
1001
|
+
state="ENABLED",
|
1002
|
+
aggregation_interval="INTERVAL_5_SEC",
|
1003
|
+
description="VPC Flow Logs over a VPN Gateway.",
|
1004
|
+
flow_sampling=0.5,
|
1005
|
+
metadata="INCLUDE_ALL_METADATA")
|
1006
|
+
route = gcp.compute.Route("route",
|
1007
|
+
name="full-test-route",
|
1008
|
+
network=network.name,
|
1009
|
+
dest_range="15.0.0.0/24",
|
1010
|
+
priority=1000,
|
1011
|
+
next_hop_vpn_tunnel=tunnel.id)
|
1012
|
+
```
|
1013
|
+
|
1014
|
+
## Import
|
1015
|
+
|
1016
|
+
VpcFlowLogsConfig can be imported using any of these accepted formats:
|
1017
|
+
|
1018
|
+
* `projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}}`
|
1019
|
+
|
1020
|
+
* `{{project}}/{{location}}/{{vpc_flow_logs_config_id}}`
|
1021
|
+
|
1022
|
+
* `{{location}}/{{vpc_flow_logs_config_id}}`
|
1023
|
+
|
1024
|
+
When using the `pulumi import` command, VpcFlowLogsConfig can be imported using one of the formats above. For example:
|
1025
|
+
|
1026
|
+
```sh
|
1027
|
+
$ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}}
|
1028
|
+
```
|
1029
|
+
|
1030
|
+
```sh
|
1031
|
+
$ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default {{project}}/{{location}}/{{vpc_flow_logs_config_id}}
|
1032
|
+
```
|
1033
|
+
|
1034
|
+
```sh
|
1035
|
+
$ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default {{location}}/{{vpc_flow_logs_config_id}}
|
1036
|
+
```
|
1037
|
+
|
1038
|
+
:param str resource_name: The name of the resource.
|
1039
|
+
:param VpcFlowLogsConfigArgs args: The arguments to use to populate this resource's properties.
|
1040
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1041
|
+
"""
|
1042
|
+
...
|
1043
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1044
|
+
resource_args, opts = _utilities.get_resource_args_opts(VpcFlowLogsConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1045
|
+
if resource_args is not None:
|
1046
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1047
|
+
else:
|
1048
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1049
|
+
|
1050
|
+
def _internal_init(__self__,
|
1051
|
+
resource_name: str,
|
1052
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1053
|
+
aggregation_interval: Optional[pulumi.Input[str]] = None,
|
1054
|
+
description: Optional[pulumi.Input[str]] = None,
|
1055
|
+
filter_expr: Optional[pulumi.Input[str]] = None,
|
1056
|
+
flow_sampling: Optional[pulumi.Input[float]] = None,
|
1057
|
+
interconnect_attachment: Optional[pulumi.Input[str]] = None,
|
1058
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1059
|
+
location: Optional[pulumi.Input[str]] = None,
|
1060
|
+
metadata: Optional[pulumi.Input[str]] = None,
|
1061
|
+
metadata_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1062
|
+
project: Optional[pulumi.Input[str]] = None,
|
1063
|
+
state: Optional[pulumi.Input[str]] = None,
|
1064
|
+
vpc_flow_logs_config_id: Optional[pulumi.Input[str]] = None,
|
1065
|
+
vpn_tunnel: Optional[pulumi.Input[str]] = None,
|
1066
|
+
__props__=None):
|
1067
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1068
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1069
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1070
|
+
if opts.id is None:
|
1071
|
+
if __props__ is not None:
|
1072
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1073
|
+
__props__ = VpcFlowLogsConfigArgs.__new__(VpcFlowLogsConfigArgs)
|
1074
|
+
|
1075
|
+
__props__.__dict__["aggregation_interval"] = aggregation_interval
|
1076
|
+
__props__.__dict__["description"] = description
|
1077
|
+
__props__.__dict__["filter_expr"] = filter_expr
|
1078
|
+
__props__.__dict__["flow_sampling"] = flow_sampling
|
1079
|
+
__props__.__dict__["interconnect_attachment"] = interconnect_attachment
|
1080
|
+
__props__.__dict__["labels"] = labels
|
1081
|
+
if location is None and not opts.urn:
|
1082
|
+
raise TypeError("Missing required property 'location'")
|
1083
|
+
__props__.__dict__["location"] = location
|
1084
|
+
__props__.__dict__["metadata"] = metadata
|
1085
|
+
__props__.__dict__["metadata_fields"] = metadata_fields
|
1086
|
+
__props__.__dict__["project"] = project
|
1087
|
+
__props__.__dict__["state"] = state
|
1088
|
+
if vpc_flow_logs_config_id is None and not opts.urn:
|
1089
|
+
raise TypeError("Missing required property 'vpc_flow_logs_config_id'")
|
1090
|
+
__props__.__dict__["vpc_flow_logs_config_id"] = vpc_flow_logs_config_id
|
1091
|
+
__props__.__dict__["vpn_tunnel"] = vpn_tunnel
|
1092
|
+
__props__.__dict__["create_time"] = None
|
1093
|
+
__props__.__dict__["effective_labels"] = None
|
1094
|
+
__props__.__dict__["name"] = None
|
1095
|
+
__props__.__dict__["pulumi_labels"] = None
|
1096
|
+
__props__.__dict__["update_time"] = None
|
1097
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
1098
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1099
|
+
super(VpcFlowLogsConfig, __self__).__init__(
|
1100
|
+
'gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig',
|
1101
|
+
resource_name,
|
1102
|
+
__props__,
|
1103
|
+
opts)
|
1104
|
+
|
1105
|
+
@staticmethod
|
1106
|
+
def get(resource_name: str,
|
1107
|
+
id: pulumi.Input[str],
|
1108
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1109
|
+
aggregation_interval: Optional[pulumi.Input[str]] = None,
|
1110
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
1111
|
+
description: Optional[pulumi.Input[str]] = None,
|
1112
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1113
|
+
filter_expr: Optional[pulumi.Input[str]] = None,
|
1114
|
+
flow_sampling: Optional[pulumi.Input[float]] = None,
|
1115
|
+
interconnect_attachment: Optional[pulumi.Input[str]] = None,
|
1116
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1117
|
+
location: Optional[pulumi.Input[str]] = None,
|
1118
|
+
metadata: Optional[pulumi.Input[str]] = None,
|
1119
|
+
metadata_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1120
|
+
name: Optional[pulumi.Input[str]] = None,
|
1121
|
+
project: Optional[pulumi.Input[str]] = None,
|
1122
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1123
|
+
state: Optional[pulumi.Input[str]] = None,
|
1124
|
+
update_time: Optional[pulumi.Input[str]] = None,
|
1125
|
+
vpc_flow_logs_config_id: Optional[pulumi.Input[str]] = None,
|
1126
|
+
vpn_tunnel: Optional[pulumi.Input[str]] = None) -> 'VpcFlowLogsConfig':
|
1127
|
+
"""
|
1128
|
+
Get an existing VpcFlowLogsConfig resource's state with the given name, id, and optional extra
|
1129
|
+
properties used to qualify the lookup.
|
1130
|
+
|
1131
|
+
:param str resource_name: The unique name of the resulting resource.
|
1132
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1133
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1134
|
+
:param pulumi.Input[str] aggregation_interval: Optional. The aggregation interval for the logs. Default value is
|
1135
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
1136
|
+
:param pulumi.Input[str] create_time: Output only. The time the config was created.
|
1137
|
+
:param pulumi.Input[str] description: Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
1138
|
+
of 512 characters.
|
1139
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1140
|
+
:param pulumi.Input[str] filter_expr: Optional. Export filter used to define which VPC Flow Logs should be logged.
|
1141
|
+
:param pulumi.Input[float] flow_sampling: Optional. The value of the field must be in (0, 1]. The sampling rate
|
1142
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
1143
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
1144
|
+
the state field instead. Default value is 1.0.
|
1145
|
+
:param pulumi.Input[str] interconnect_attachment: Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
1146
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels to represent user-provided metadata.
|
1147
|
+
|
1148
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1149
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1150
|
+
:param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
|
1151
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
1152
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
1153
|
+
:param pulumi.Input[str] metadata: Optional. Configures whether all, none or a subset of metadata fields
|
1154
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
1155
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
1156
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] metadata_fields: Optional. Custom metadata fields to include in the reported VPC flow
|
1157
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
1158
|
+
:param pulumi.Input[str] name: Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
|
1159
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
1160
|
+
If it is not provided, the provider project is used.
|
1161
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
1162
|
+
and default labels configured on the provider.
|
1163
|
+
:param pulumi.Input[str] state: Optional. The state of the VPC Flow Log configuration. Default value
|
1164
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
1165
|
+
:param pulumi.Input[str] update_time: Output only. The time the config was updated.
|
1166
|
+
:param pulumi.Input[str] vpc_flow_logs_config_id: Required. ID of the `VpcFlowLogsConfig`.
|
1167
|
+
|
1168
|
+
|
1169
|
+
- - -
|
1170
|
+
:param pulumi.Input[str] vpn_tunnel: Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
1171
|
+
"""
|
1172
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1173
|
+
|
1174
|
+
__props__ = _VpcFlowLogsConfigState.__new__(_VpcFlowLogsConfigState)
|
1175
|
+
|
1176
|
+
__props__.__dict__["aggregation_interval"] = aggregation_interval
|
1177
|
+
__props__.__dict__["create_time"] = create_time
|
1178
|
+
__props__.__dict__["description"] = description
|
1179
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
1180
|
+
__props__.__dict__["filter_expr"] = filter_expr
|
1181
|
+
__props__.__dict__["flow_sampling"] = flow_sampling
|
1182
|
+
__props__.__dict__["interconnect_attachment"] = interconnect_attachment
|
1183
|
+
__props__.__dict__["labels"] = labels
|
1184
|
+
__props__.__dict__["location"] = location
|
1185
|
+
__props__.__dict__["metadata"] = metadata
|
1186
|
+
__props__.__dict__["metadata_fields"] = metadata_fields
|
1187
|
+
__props__.__dict__["name"] = name
|
1188
|
+
__props__.__dict__["project"] = project
|
1189
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
1190
|
+
__props__.__dict__["state"] = state
|
1191
|
+
__props__.__dict__["update_time"] = update_time
|
1192
|
+
__props__.__dict__["vpc_flow_logs_config_id"] = vpc_flow_logs_config_id
|
1193
|
+
__props__.__dict__["vpn_tunnel"] = vpn_tunnel
|
1194
|
+
return VpcFlowLogsConfig(resource_name, opts=opts, __props__=__props__)
|
1195
|
+
|
1196
|
+
@property
|
1197
|
+
@pulumi.getter(name="aggregationInterval")
|
1198
|
+
def aggregation_interval(self) -> pulumi.Output[str]:
|
1199
|
+
"""
|
1200
|
+
Optional. The aggregation interval for the logs. Default value is
|
1201
|
+
INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
|
1202
|
+
"""
|
1203
|
+
return pulumi.get(self, "aggregation_interval")
|
1204
|
+
|
1205
|
+
@property
|
1206
|
+
@pulumi.getter(name="createTime")
|
1207
|
+
def create_time(self) -> pulumi.Output[str]:
|
1208
|
+
"""
|
1209
|
+
Output only. The time the config was created.
|
1210
|
+
"""
|
1211
|
+
return pulumi.get(self, "create_time")
|
1212
|
+
|
1213
|
+
@property
|
1214
|
+
@pulumi.getter
|
1215
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
1216
|
+
"""
|
1217
|
+
Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
|
1218
|
+
of 512 characters.
|
1219
|
+
"""
|
1220
|
+
return pulumi.get(self, "description")
|
1221
|
+
|
1222
|
+
@property
|
1223
|
+
@pulumi.getter(name="effectiveLabels")
|
1224
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1225
|
+
"""
|
1226
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1227
|
+
"""
|
1228
|
+
return pulumi.get(self, "effective_labels")
|
1229
|
+
|
1230
|
+
@property
|
1231
|
+
@pulumi.getter(name="filterExpr")
|
1232
|
+
def filter_expr(self) -> pulumi.Output[Optional[str]]:
|
1233
|
+
"""
|
1234
|
+
Optional. Export filter used to define which VPC Flow Logs should be logged.
|
1235
|
+
"""
|
1236
|
+
return pulumi.get(self, "filter_expr")
|
1237
|
+
|
1238
|
+
@property
|
1239
|
+
@pulumi.getter(name="flowSampling")
|
1240
|
+
def flow_sampling(self) -> pulumi.Output[float]:
|
1241
|
+
"""
|
1242
|
+
Optional. The value of the field must be in (0, 1]. The sampling rate
|
1243
|
+
of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
|
1244
|
+
sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
|
1245
|
+
the state field instead. Default value is 1.0.
|
1246
|
+
"""
|
1247
|
+
return pulumi.get(self, "flow_sampling")
|
1248
|
+
|
1249
|
+
@property
|
1250
|
+
@pulumi.getter(name="interconnectAttachment")
|
1251
|
+
def interconnect_attachment(self) -> pulumi.Output[Optional[str]]:
|
1252
|
+
"""
|
1253
|
+
Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
|
1254
|
+
"""
|
1255
|
+
return pulumi.get(self, "interconnect_attachment")
|
1256
|
+
|
1257
|
+
@property
|
1258
|
+
@pulumi.getter
|
1259
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1260
|
+
"""
|
1261
|
+
Optional. Resource labels to represent user-provided metadata.
|
1262
|
+
|
1263
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1264
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1265
|
+
"""
|
1266
|
+
return pulumi.get(self, "labels")
|
1267
|
+
|
1268
|
+
@property
|
1269
|
+
@pulumi.getter
|
1270
|
+
def location(self) -> pulumi.Output[str]:
|
1271
|
+
"""
|
1272
|
+
Resource ID segment making up resource `name`. It identifies the resource
|
1273
|
+
within its parent collection as described in https://google.aip.dev/122. See documentation
|
1274
|
+
for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
|
1275
|
+
"""
|
1276
|
+
return pulumi.get(self, "location")
|
1277
|
+
|
1278
|
+
@property
|
1279
|
+
@pulumi.getter
|
1280
|
+
def metadata(self) -> pulumi.Output[str]:
|
1281
|
+
"""
|
1282
|
+
Optional. Configures whether all, none or a subset of metadata fields
|
1283
|
+
should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
|
1284
|
+
Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
|
1285
|
+
"""
|
1286
|
+
return pulumi.get(self, "metadata")
|
1287
|
+
|
1288
|
+
@property
|
1289
|
+
@pulumi.getter(name="metadataFields")
|
1290
|
+
def metadata_fields(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1291
|
+
"""
|
1292
|
+
Optional. Custom metadata fields to include in the reported VPC flow
|
1293
|
+
logs. Can only be specified if \\"metadata\\" was set to CUSTOM_METADATA.
|
1294
|
+
"""
|
1295
|
+
return pulumi.get(self, "metadata_fields")
|
1296
|
+
|
1297
|
+
@property
|
1298
|
+
@pulumi.getter
|
1299
|
+
def name(self) -> pulumi.Output[str]:
|
1300
|
+
"""
|
1301
|
+
Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
|
1302
|
+
"""
|
1303
|
+
return pulumi.get(self, "name")
|
1304
|
+
|
1305
|
+
@property
|
1306
|
+
@pulumi.getter
|
1307
|
+
def project(self) -> pulumi.Output[str]:
|
1308
|
+
"""
|
1309
|
+
The ID of the project in which the resource belongs.
|
1310
|
+
If it is not provided, the provider project is used.
|
1311
|
+
"""
|
1312
|
+
return pulumi.get(self, "project")
|
1313
|
+
|
1314
|
+
@property
|
1315
|
+
@pulumi.getter(name="pulumiLabels")
|
1316
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1317
|
+
"""
|
1318
|
+
The combination of labels configured directly on the resource
|
1319
|
+
and default labels configured on the provider.
|
1320
|
+
"""
|
1321
|
+
return pulumi.get(self, "pulumi_labels")
|
1322
|
+
|
1323
|
+
@property
|
1324
|
+
@pulumi.getter
|
1325
|
+
def state(self) -> pulumi.Output[str]:
|
1326
|
+
"""
|
1327
|
+
Optional. The state of the VPC Flow Log configuration. Default value
|
1328
|
+
is ENABLED. When creating a new configuration, it must be enabled. Possible
|
1329
|
+
"""
|
1330
|
+
return pulumi.get(self, "state")
|
1331
|
+
|
1332
|
+
@property
|
1333
|
+
@pulumi.getter(name="updateTime")
|
1334
|
+
def update_time(self) -> pulumi.Output[str]:
|
1335
|
+
"""
|
1336
|
+
Output only. The time the config was updated.
|
1337
|
+
"""
|
1338
|
+
return pulumi.get(self, "update_time")
|
1339
|
+
|
1340
|
+
@property
|
1341
|
+
@pulumi.getter(name="vpcFlowLogsConfigId")
|
1342
|
+
def vpc_flow_logs_config_id(self) -> pulumi.Output[str]:
|
1343
|
+
"""
|
1344
|
+
Required. ID of the `VpcFlowLogsConfig`.
|
1345
|
+
|
1346
|
+
|
1347
|
+
- - -
|
1348
|
+
"""
|
1349
|
+
return pulumi.get(self, "vpc_flow_logs_config_id")
|
1350
|
+
|
1351
|
+
@property
|
1352
|
+
@pulumi.getter(name="vpnTunnel")
|
1353
|
+
def vpn_tunnel(self) -> pulumi.Output[Optional[str]]:
|
1354
|
+
"""
|
1355
|
+
Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
|
1356
|
+
"""
|
1357
|
+
return pulumi.get(self, "vpn_tunnel")
|
1358
|
+
|