pulumi-gcp 8.9.0a1731221331__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.
Files changed (114) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/activedirectory/domain.py +24 -0
  3. pulumi_gcp/apigee/__init__.py +1 -0
  4. pulumi_gcp/apigee/_inputs.py +74 -0
  5. pulumi_gcp/apigee/api.py +456 -0
  6. pulumi_gcp/apigee/outputs.py +65 -0
  7. pulumi_gcp/applicationintegration/auth_config.py +24 -0
  8. pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
  9. pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
  11. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
  12. pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
  13. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
  15. pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
  16. pulumi_gcp/bigquery/data_transfer_config.py +24 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +46 -0
  18. pulumi_gcp/cloudrunv2/job.py +0 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +60 -2
  20. pulumi_gcp/cloudrunv2/service.py +0 -2
  21. pulumi_gcp/compute/__init__.py +1 -0
  22. pulumi_gcp/compute/_inputs.py +2163 -256
  23. pulumi_gcp/compute/disk.py +7 -7
  24. pulumi_gcp/compute/firewall_policy_rule.py +108 -54
  25. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  26. pulumi_gcp/compute/health_check.py +42 -42
  27. pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
  28. pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
  29. pulumi_gcp/compute/node_template.py +95 -0
  30. pulumi_gcp/compute/outputs.py +1639 -213
  31. pulumi_gcp/compute/region_disk.py +7 -7
  32. pulumi_gcp/compute/region_health_check.py +42 -42
  33. pulumi_gcp/compute/region_instance_group_manager.py +54 -14
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
  36. pulumi_gcp/compute/region_resize_request.py +772 -0
  37. pulumi_gcp/compute/region_security_policy.py +120 -0
  38. pulumi_gcp/compute/region_security_policy_rule.py +6 -6
  39. pulumi_gcp/compute/router_peer.py +56 -35
  40. pulumi_gcp/compute/security_scan_config.py +8 -8
  41. pulumi_gcp/config/__init__.pyi +4 -0
  42. pulumi_gcp/config/vars.py +8 -0
  43. pulumi_gcp/container/_inputs.py +345 -10
  44. pulumi_gcp/container/cluster.py +101 -0
  45. pulumi_gcp/container/get_cluster.py +23 -1
  46. pulumi_gcp/container/outputs.py +456 -8
  47. pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
  48. pulumi_gcp/dataproc/__init__.py +2 -0
  49. pulumi_gcp/dataproc/_inputs.py +101 -0
  50. pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
  51. pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
  52. pulumi_gcp/dataproc/outputs.py +94 -0
  53. pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
  54. pulumi_gcp/firebase/android_app.py +2 -2
  55. pulumi_gcp/firebase/apple_app.py +2 -2
  56. pulumi_gcp/firebase/web_app.py +2 -2
  57. pulumi_gcp/firestore/index.py +44 -0
  58. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  59. pulumi_gcp/gkeonprem/outputs.py +10 -10
  60. pulumi_gcp/healthcare/dataset.py +7 -7
  61. pulumi_gcp/healthcare/dicom_store.py +7 -7
  62. pulumi_gcp/healthcare/fhir_store.py +7 -7
  63. pulumi_gcp/healthcare/hl7_store.py +14 -14
  64. pulumi_gcp/iam/__init__.py +1 -0
  65. pulumi_gcp/iam/_inputs.py +161 -0
  66. pulumi_gcp/iam/outputs.py +114 -0
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
  68. pulumi_gcp/logging/metric.py +2 -2
  69. pulumi_gcp/looker/_inputs.py +6 -0
  70. pulumi_gcp/looker/instance.py +169 -321
  71. pulumi_gcp/looker/outputs.py +4 -0
  72. pulumi_gcp/memorystore/instance.py +4 -0
  73. pulumi_gcp/monitoring/alert_policy.py +24 -0
  74. pulumi_gcp/monitoring/custom_service.py +24 -0
  75. pulumi_gcp/monitoring/group.py +24 -0
  76. pulumi_gcp/monitoring/metric_descriptor.py +24 -0
  77. pulumi_gcp/monitoring/slo.py +24 -0
  78. pulumi_gcp/monitoring/uptime_check_config.py +24 -0
  79. pulumi_gcp/networkmanagement/__init__.py +1 -0
  80. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
  81. pulumi_gcp/osconfig/patch_deployment.py +8 -8
  82. pulumi_gcp/provider.py +40 -0
  83. pulumi_gcp/pulumi-plugin.json +1 -1
  84. pulumi_gcp/redis/_inputs.py +3 -3
  85. pulumi_gcp/redis/outputs.py +2 -2
  86. pulumi_gcp/securitycenter/notification_config.py +4 -16
  87. pulumi_gcp/securitycenter/project_notification_config.py +0 -24
  88. pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
  89. pulumi_gcp/spanner/__init__.py +1 -0
  90. pulumi_gcp/spanner/_inputs.py +9 -9
  91. pulumi_gcp/spanner/get_database.py +229 -0
  92. pulumi_gcp/spanner/get_instance.py +12 -1
  93. pulumi_gcp/spanner/instance.py +70 -0
  94. pulumi_gcp/spanner/outputs.py +46 -12
  95. pulumi_gcp/sql/_inputs.py +26 -0
  96. pulumi_gcp/sql/database_instance.py +124 -11
  97. pulumi_gcp/sql/get_database_instance.py +12 -1
  98. pulumi_gcp/sql/outputs.py +51 -0
  99. pulumi_gcp/storage/_inputs.py +3 -3
  100. pulumi_gcp/storage/outputs.py +2 -2
  101. pulumi_gcp/tags/tag_binding.py +4 -4
  102. pulumi_gcp/tags/tag_value.py +2 -2
  103. pulumi_gcp/transcoder/job.py +24 -0
  104. pulumi_gcp/vertex/_inputs.py +184 -0
  105. pulumi_gcp/vertex/ai_endpoint.py +394 -8
  106. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  107. pulumi_gcp/vertex/outputs.py +166 -0
  108. pulumi_gcp/workbench/instance.py +21 -7
  109. pulumi_gcp/workflows/workflow.py +36 -0
  110. pulumi_gcp/workstations/workstation_config.py +8 -8
  111. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/METADATA +1 -1
  112. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/RECORD +114 -103
  113. {pulumi_gcp-8.9.0a1731221331.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/WHEEL +1 -1
  114. {pulumi_gcp-8.9.0a1731221331.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
+