pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.17.0a1738349438__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 +91 -0
- pulumi_gcp/alloydb/cluster.py +75 -7
- pulumi_gcp/apigee/_inputs.py +91 -0
- pulumi_gcp/apigee/endpoint_attachment.py +0 -64
- pulumi_gcp/apigee/environment.py +54 -0
- pulumi_gcp/apigee/outputs.py +54 -0
- pulumi_gcp/apihub/__init__.py +10 -0
- pulumi_gcp/apihub/_inputs.py +154 -0
- pulumi_gcp/apihub/api_hub_instance.py +784 -0
- pulumi_gcp/apihub/outputs.py +124 -0
- pulumi_gcp/chronicle/__init__.py +1 -0
- pulumi_gcp/chronicle/_inputs.py +124 -0
- pulumi_gcp/chronicle/outputs.py +112 -0
- pulumi_gcp/chronicle/retrohunt.py +645 -0
- pulumi_gcp/cloudrunv2/_inputs.py +197 -0
- pulumi_gcp/cloudrunv2/get_service.py +12 -1
- pulumi_gcp/cloudrunv2/outputs.py +256 -0
- pulumi_gcp/cloudrunv2/service.py +159 -0
- pulumi_gcp/colab/__init__.py +5 -0
- pulumi_gcp/colab/_inputs.py +131 -0
- pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
- pulumi_gcp/colab/outputs.py +92 -0
- pulumi_gcp/colab/runtime.py +696 -0
- pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
- pulumi_gcp/compute/__init__.py +4 -0
- pulumi_gcp/compute/_inputs.py +526 -0
- pulumi_gcp/compute/firewall_policy_rule.py +104 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
- pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
- pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
- pulumi_gcp/compute/instance_template_iam_member.py +998 -0
- pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
- pulumi_gcp/compute/interconnect_attachment.py +189 -2
- pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
- pulumi_gcp/compute/outputs.py +352 -0
- pulumi_gcp/compute/project_metadata_item.py +12 -0
- pulumi_gcp/compute/public_advertised_prefix.py +87 -0
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
- pulumi_gcp/compute/router_peer.py +115 -3
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/filestore/get_instance.py +12 -1
- pulumi_gcp/filestore/instance.py +75 -0
- pulumi_gcp/gemini/code_repository_index.py +29 -33
- pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
- pulumi_gcp/gemini/repository_group.py +76 -26
- pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/get_key_handles.py +172 -0
- pulumi_gcp/kms/outputs.py +45 -0
- pulumi_gcp/networksecurity/_inputs.py +72 -0
- pulumi_gcp/networksecurity/outputs.py +76 -0
- pulumi_gcp/networksecurity/security_profile.py +233 -7
- pulumi_gcp/networksecurity/security_profile_group.py +218 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_s.py +128 -0
- pulumi_gcp/organizations/outputs.py +63 -0
- pulumi_gcp/parametermanager/__init__.py +3 -0
- pulumi_gcp/parametermanager/get_parameter.py +211 -0
- pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
- pulumi_gcp/parametermanager/outputs.py +210 -0
- pulumi_gcp/parametermanager/parameter_version.py +496 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/_inputs.py +213 -1
- pulumi_gcp/pubsub/outputs.py +278 -2
- pulumi_gcp/pubsub/topic.py +42 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/__init__.py +1 -0
- pulumi_gcp/redis/_inputs.py +342 -6
- pulumi_gcp/redis/cluster.py +223 -102
- pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
- pulumi_gcp/redis/outputs.py +268 -4
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/RECORD +83 -63
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/top_level.txt +0 -0
@@ -55,6 +55,8 @@ __all__ = [
|
|
55
55
|
'InterceptEndpointGroupAssociationLocationsDetail',
|
56
56
|
'MirroringDeploymentGroupConnectedEndpointGroup',
|
57
57
|
'MirroringEndpointGroupAssociationLocationsDetail',
|
58
|
+
'SecurityProfileCustomInterceptProfile',
|
59
|
+
'SecurityProfileCustomMirroringProfile',
|
58
60
|
'SecurityProfileThreatPreventionProfile',
|
59
61
|
'SecurityProfileThreatPreventionProfileSeverityOverride',
|
60
62
|
'SecurityProfileThreatPreventionProfileThreatOverride',
|
@@ -2065,6 +2067,80 @@ class MirroringEndpointGroupAssociationLocationsDetail(dict):
|
|
2065
2067
|
return pulumi.get(self, "state")
|
2066
2068
|
|
2067
2069
|
|
2070
|
+
@pulumi.output_type
|
2071
|
+
class SecurityProfileCustomInterceptProfile(dict):
|
2072
|
+
@staticmethod
|
2073
|
+
def __key_warning(key: str):
|
2074
|
+
suggest = None
|
2075
|
+
if key == "interceptEndpointGroup":
|
2076
|
+
suggest = "intercept_endpoint_group"
|
2077
|
+
|
2078
|
+
if suggest:
|
2079
|
+
pulumi.log.warn(f"Key '{key}' not found in SecurityProfileCustomInterceptProfile. Access the value via the '{suggest}' property getter instead.")
|
2080
|
+
|
2081
|
+
def __getitem__(self, key: str) -> Any:
|
2082
|
+
SecurityProfileCustomInterceptProfile.__key_warning(key)
|
2083
|
+
return super().__getitem__(key)
|
2084
|
+
|
2085
|
+
def get(self, key: str, default = None) -> Any:
|
2086
|
+
SecurityProfileCustomInterceptProfile.__key_warning(key)
|
2087
|
+
return super().get(key, default)
|
2088
|
+
|
2089
|
+
def __init__(__self__, *,
|
2090
|
+
intercept_endpoint_group: str):
|
2091
|
+
"""
|
2092
|
+
:param str intercept_endpoint_group: The Intercept Endpoint Group to which matching traffic should be intercepted.
|
2093
|
+
Format: projects/{project_id}/locations/global/interceptEndpointGroups/{endpoint_group_id}
|
2094
|
+
"""
|
2095
|
+
pulumi.set(__self__, "intercept_endpoint_group", intercept_endpoint_group)
|
2096
|
+
|
2097
|
+
@property
|
2098
|
+
@pulumi.getter(name="interceptEndpointGroup")
|
2099
|
+
def intercept_endpoint_group(self) -> str:
|
2100
|
+
"""
|
2101
|
+
The Intercept Endpoint Group to which matching traffic should be intercepted.
|
2102
|
+
Format: projects/{project_id}/locations/global/interceptEndpointGroups/{endpoint_group_id}
|
2103
|
+
"""
|
2104
|
+
return pulumi.get(self, "intercept_endpoint_group")
|
2105
|
+
|
2106
|
+
|
2107
|
+
@pulumi.output_type
|
2108
|
+
class SecurityProfileCustomMirroringProfile(dict):
|
2109
|
+
@staticmethod
|
2110
|
+
def __key_warning(key: str):
|
2111
|
+
suggest = None
|
2112
|
+
if key == "mirroringEndpointGroup":
|
2113
|
+
suggest = "mirroring_endpoint_group"
|
2114
|
+
|
2115
|
+
if suggest:
|
2116
|
+
pulumi.log.warn(f"Key '{key}' not found in SecurityProfileCustomMirroringProfile. Access the value via the '{suggest}' property getter instead.")
|
2117
|
+
|
2118
|
+
def __getitem__(self, key: str) -> Any:
|
2119
|
+
SecurityProfileCustomMirroringProfile.__key_warning(key)
|
2120
|
+
return super().__getitem__(key)
|
2121
|
+
|
2122
|
+
def get(self, key: str, default = None) -> Any:
|
2123
|
+
SecurityProfileCustomMirroringProfile.__key_warning(key)
|
2124
|
+
return super().get(key, default)
|
2125
|
+
|
2126
|
+
def __init__(__self__, *,
|
2127
|
+
mirroring_endpoint_group: str):
|
2128
|
+
"""
|
2129
|
+
:param str mirroring_endpoint_group: The Mirroring Endpoint Group to which matching traffic should be mirrored.
|
2130
|
+
Format: projects/{project_id}/locations/global/mirroringEndpointGroups/{endpoint_group_id}
|
2131
|
+
"""
|
2132
|
+
pulumi.set(__self__, "mirroring_endpoint_group", mirroring_endpoint_group)
|
2133
|
+
|
2134
|
+
@property
|
2135
|
+
@pulumi.getter(name="mirroringEndpointGroup")
|
2136
|
+
def mirroring_endpoint_group(self) -> str:
|
2137
|
+
"""
|
2138
|
+
The Mirroring Endpoint Group to which matching traffic should be mirrored.
|
2139
|
+
Format: projects/{project_id}/locations/global/mirroringEndpointGroups/{endpoint_group_id}
|
2140
|
+
"""
|
2141
|
+
return pulumi.get(self, "mirroring_endpoint_group")
|
2142
|
+
|
2143
|
+
|
2068
2144
|
@pulumi.output_type
|
2069
2145
|
class SecurityProfileThreatPreventionProfile(dict):
|
2070
2146
|
@staticmethod
|
@@ -22,6 +22,8 @@ __all__ = ['SecurityProfileArgs', 'SecurityProfile']
|
|
22
22
|
class SecurityProfileArgs:
|
23
23
|
def __init__(__self__, *,
|
24
24
|
type: pulumi.Input[str],
|
25
|
+
custom_intercept_profile: Optional[pulumi.Input['SecurityProfileCustomInterceptProfileArgs']] = None,
|
26
|
+
custom_mirroring_profile: Optional[pulumi.Input['SecurityProfileCustomMirroringProfileArgs']] = None,
|
25
27
|
description: Optional[pulumi.Input[str]] = None,
|
26
28
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
27
29
|
location: Optional[pulumi.Input[str]] = None,
|
@@ -31,7 +33,13 @@ class SecurityProfileArgs:
|
|
31
33
|
"""
|
32
34
|
The set of arguments for constructing a SecurityProfile resource.
|
33
35
|
:param pulumi.Input[str] type: The type of security profile.
|
34
|
-
Possible values are: `THREAT_PREVENTION`.
|
36
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
37
|
+
:param pulumi.Input['SecurityProfileCustomInterceptProfileArgs'] custom_intercept_profile: The configuration for defining the Intercept Endpoint Group used to
|
38
|
+
intercept traffic to third-party firewall appliances.
|
39
|
+
Structure is documented below.
|
40
|
+
:param pulumi.Input['SecurityProfileCustomMirroringProfileArgs'] custom_mirroring_profile: The configuration for defining the Mirroring Endpoint Group used to
|
41
|
+
mirror traffic to third-party collectors.
|
42
|
+
Structure is documented below.
|
35
43
|
:param pulumi.Input[str] description: An optional description of the security profile. The Max length is 512 characters.
|
36
44
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
|
37
45
|
|
@@ -49,6 +57,10 @@ class SecurityProfileArgs:
|
|
49
57
|
Structure is documented below.
|
50
58
|
"""
|
51
59
|
pulumi.set(__self__, "type", type)
|
60
|
+
if custom_intercept_profile is not None:
|
61
|
+
pulumi.set(__self__, "custom_intercept_profile", custom_intercept_profile)
|
62
|
+
if custom_mirroring_profile is not None:
|
63
|
+
pulumi.set(__self__, "custom_mirroring_profile", custom_mirroring_profile)
|
52
64
|
if description is not None:
|
53
65
|
pulumi.set(__self__, "description", description)
|
54
66
|
if labels is not None:
|
@@ -67,7 +79,7 @@ class SecurityProfileArgs:
|
|
67
79
|
def type(self) -> pulumi.Input[str]:
|
68
80
|
"""
|
69
81
|
The type of security profile.
|
70
|
-
Possible values are: `THREAT_PREVENTION`.
|
82
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
71
83
|
"""
|
72
84
|
return pulumi.get(self, "type")
|
73
85
|
|
@@ -75,6 +87,34 @@ class SecurityProfileArgs:
|
|
75
87
|
def type(self, value: pulumi.Input[str]):
|
76
88
|
pulumi.set(self, "type", value)
|
77
89
|
|
90
|
+
@property
|
91
|
+
@pulumi.getter(name="customInterceptProfile")
|
92
|
+
def custom_intercept_profile(self) -> Optional[pulumi.Input['SecurityProfileCustomInterceptProfileArgs']]:
|
93
|
+
"""
|
94
|
+
The configuration for defining the Intercept Endpoint Group used to
|
95
|
+
intercept traffic to third-party firewall appliances.
|
96
|
+
Structure is documented below.
|
97
|
+
"""
|
98
|
+
return pulumi.get(self, "custom_intercept_profile")
|
99
|
+
|
100
|
+
@custom_intercept_profile.setter
|
101
|
+
def custom_intercept_profile(self, value: Optional[pulumi.Input['SecurityProfileCustomInterceptProfileArgs']]):
|
102
|
+
pulumi.set(self, "custom_intercept_profile", value)
|
103
|
+
|
104
|
+
@property
|
105
|
+
@pulumi.getter(name="customMirroringProfile")
|
106
|
+
def custom_mirroring_profile(self) -> Optional[pulumi.Input['SecurityProfileCustomMirroringProfileArgs']]:
|
107
|
+
"""
|
108
|
+
The configuration for defining the Mirroring Endpoint Group used to
|
109
|
+
mirror traffic to third-party collectors.
|
110
|
+
Structure is documented below.
|
111
|
+
"""
|
112
|
+
return pulumi.get(self, "custom_mirroring_profile")
|
113
|
+
|
114
|
+
@custom_mirroring_profile.setter
|
115
|
+
def custom_mirroring_profile(self, value: Optional[pulumi.Input['SecurityProfileCustomMirroringProfileArgs']]):
|
116
|
+
pulumi.set(self, "custom_mirroring_profile", value)
|
117
|
+
|
78
118
|
@property
|
79
119
|
@pulumi.getter
|
80
120
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -161,6 +201,8 @@ class SecurityProfileArgs:
|
|
161
201
|
class _SecurityProfileState:
|
162
202
|
def __init__(__self__, *,
|
163
203
|
create_time: Optional[pulumi.Input[str]] = None,
|
204
|
+
custom_intercept_profile: Optional[pulumi.Input['SecurityProfileCustomInterceptProfileArgs']] = None,
|
205
|
+
custom_mirroring_profile: Optional[pulumi.Input['SecurityProfileCustomMirroringProfileArgs']] = None,
|
164
206
|
description: Optional[pulumi.Input[str]] = None,
|
165
207
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
166
208
|
etag: Optional[pulumi.Input[str]] = None,
|
@@ -176,6 +218,12 @@ class _SecurityProfileState:
|
|
176
218
|
"""
|
177
219
|
Input properties used for looking up and filtering SecurityProfile resources.
|
178
220
|
:param pulumi.Input[str] create_time: Time the security profile was created in UTC.
|
221
|
+
:param pulumi.Input['SecurityProfileCustomInterceptProfileArgs'] custom_intercept_profile: The configuration for defining the Intercept Endpoint Group used to
|
222
|
+
intercept traffic to third-party firewall appliances.
|
223
|
+
Structure is documented below.
|
224
|
+
:param pulumi.Input['SecurityProfileCustomMirroringProfileArgs'] custom_mirroring_profile: The configuration for defining the Mirroring Endpoint Group used to
|
225
|
+
mirror traffic to third-party collectors.
|
226
|
+
Structure is documented below.
|
179
227
|
:param pulumi.Input[str] description: An optional description of the security profile. The Max length is 512 characters.
|
180
228
|
: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.
|
181
229
|
:param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other fields,
|
@@ -199,11 +247,15 @@ class _SecurityProfileState:
|
|
199
247
|
:param pulumi.Input['SecurityProfileThreatPreventionProfileArgs'] threat_prevention_profile: The threat prevention configuration for the security profile.
|
200
248
|
Structure is documented below.
|
201
249
|
:param pulumi.Input[str] type: The type of security profile.
|
202
|
-
Possible values are: `THREAT_PREVENTION`.
|
250
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
203
251
|
:param pulumi.Input[str] update_time: Time the security profile was updated in UTC.
|
204
252
|
"""
|
205
253
|
if create_time is not None:
|
206
254
|
pulumi.set(__self__, "create_time", create_time)
|
255
|
+
if custom_intercept_profile is not None:
|
256
|
+
pulumi.set(__self__, "custom_intercept_profile", custom_intercept_profile)
|
257
|
+
if custom_mirroring_profile is not None:
|
258
|
+
pulumi.set(__self__, "custom_mirroring_profile", custom_mirroring_profile)
|
207
259
|
if description is not None:
|
208
260
|
pulumi.set(__self__, "description", description)
|
209
261
|
if effective_labels is not None:
|
@@ -241,6 +293,34 @@ class _SecurityProfileState:
|
|
241
293
|
def create_time(self, value: Optional[pulumi.Input[str]]):
|
242
294
|
pulumi.set(self, "create_time", value)
|
243
295
|
|
296
|
+
@property
|
297
|
+
@pulumi.getter(name="customInterceptProfile")
|
298
|
+
def custom_intercept_profile(self) -> Optional[pulumi.Input['SecurityProfileCustomInterceptProfileArgs']]:
|
299
|
+
"""
|
300
|
+
The configuration for defining the Intercept Endpoint Group used to
|
301
|
+
intercept traffic to third-party firewall appliances.
|
302
|
+
Structure is documented below.
|
303
|
+
"""
|
304
|
+
return pulumi.get(self, "custom_intercept_profile")
|
305
|
+
|
306
|
+
@custom_intercept_profile.setter
|
307
|
+
def custom_intercept_profile(self, value: Optional[pulumi.Input['SecurityProfileCustomInterceptProfileArgs']]):
|
308
|
+
pulumi.set(self, "custom_intercept_profile", value)
|
309
|
+
|
310
|
+
@property
|
311
|
+
@pulumi.getter(name="customMirroringProfile")
|
312
|
+
def custom_mirroring_profile(self) -> Optional[pulumi.Input['SecurityProfileCustomMirroringProfileArgs']]:
|
313
|
+
"""
|
314
|
+
The configuration for defining the Mirroring Endpoint Group used to
|
315
|
+
mirror traffic to third-party collectors.
|
316
|
+
Structure is documented below.
|
317
|
+
"""
|
318
|
+
return pulumi.get(self, "custom_mirroring_profile")
|
319
|
+
|
320
|
+
@custom_mirroring_profile.setter
|
321
|
+
def custom_mirroring_profile(self, value: Optional[pulumi.Input['SecurityProfileCustomMirroringProfileArgs']]):
|
322
|
+
pulumi.set(self, "custom_mirroring_profile", value)
|
323
|
+
|
244
324
|
@property
|
245
325
|
@pulumi.getter
|
246
326
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -378,7 +458,7 @@ class _SecurityProfileState:
|
|
378
458
|
def type(self) -> Optional[pulumi.Input[str]]:
|
379
459
|
"""
|
380
460
|
The type of security profile.
|
381
|
-
Possible values are: `THREAT_PREVENTION`.
|
461
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
382
462
|
"""
|
383
463
|
return pulumi.get(self, "type")
|
384
464
|
|
@@ -404,6 +484,8 @@ class SecurityProfile(pulumi.CustomResource):
|
|
404
484
|
def __init__(__self__,
|
405
485
|
resource_name: str,
|
406
486
|
opts: Optional[pulumi.ResourceOptions] = None,
|
487
|
+
custom_intercept_profile: Optional[pulumi.Input[Union['SecurityProfileCustomInterceptProfileArgs', 'SecurityProfileCustomInterceptProfileArgsDict']]] = None,
|
488
|
+
custom_mirroring_profile: Optional[pulumi.Input[Union['SecurityProfileCustomMirroringProfileArgs', 'SecurityProfileCustomMirroringProfileArgsDict']]] = None,
|
407
489
|
description: Optional[pulumi.Input[str]] = None,
|
408
490
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
409
491
|
location: Optional[pulumi.Input[str]] = None,
|
@@ -466,6 +548,58 @@ class SecurityProfile(pulumi.CustomResource):
|
|
466
548
|
}],
|
467
549
|
})
|
468
550
|
```
|
551
|
+
### Network Security Security Profile Mirroring
|
552
|
+
|
553
|
+
```python
|
554
|
+
import pulumi
|
555
|
+
import pulumi_gcp as gcp
|
556
|
+
|
557
|
+
default = gcp.compute.Network("default",
|
558
|
+
name="my-network",
|
559
|
+
auto_create_subnetworks=False)
|
560
|
+
default_mirroring_deployment_group = gcp.networksecurity.MirroringDeploymentGroup("default",
|
561
|
+
mirroring_deployment_group_id="my-dg",
|
562
|
+
location="global",
|
563
|
+
network=default.id)
|
564
|
+
default_mirroring_endpoint_group = gcp.networksecurity.MirroringEndpointGroup("default",
|
565
|
+
mirroring_endpoint_group_id="my-eg",
|
566
|
+
location="global",
|
567
|
+
mirroring_deployment_group=default_mirroring_deployment_group.id)
|
568
|
+
default_security_profile = gcp.networksecurity.SecurityProfile("default",
|
569
|
+
name="my-security-profile",
|
570
|
+
parent="organizations/123456789",
|
571
|
+
description="my description",
|
572
|
+
type="CUSTOM_MIRRORING",
|
573
|
+
custom_mirroring_profile={
|
574
|
+
"mirroring_endpoint_group": default_mirroring_endpoint_group.id,
|
575
|
+
})
|
576
|
+
```
|
577
|
+
### Network Security Security Profile Intercept
|
578
|
+
|
579
|
+
```python
|
580
|
+
import pulumi
|
581
|
+
import pulumi_gcp as gcp
|
582
|
+
|
583
|
+
default = gcp.compute.Network("default",
|
584
|
+
name="my-network",
|
585
|
+
auto_create_subnetworks=False)
|
586
|
+
default_intercept_deployment_group = gcp.networksecurity.InterceptDeploymentGroup("default",
|
587
|
+
intercept_deployment_group_id="my-dg",
|
588
|
+
location="global",
|
589
|
+
network=default.id)
|
590
|
+
default_intercept_endpoint_group = gcp.networksecurity.InterceptEndpointGroup("default",
|
591
|
+
intercept_endpoint_group_id="my-eg",
|
592
|
+
location="global",
|
593
|
+
intercept_deployment_group=default_intercept_deployment_group.id)
|
594
|
+
default_security_profile = gcp.networksecurity.SecurityProfile("default",
|
595
|
+
name="my-security-profile",
|
596
|
+
parent="organizations/123456789",
|
597
|
+
description="my description",
|
598
|
+
type="CUSTOM_INTERCEPT",
|
599
|
+
custom_intercept_profile={
|
600
|
+
"intercept_endpoint_group": default_intercept_endpoint_group.id,
|
601
|
+
})
|
602
|
+
```
|
469
603
|
|
470
604
|
## Import
|
471
605
|
|
@@ -481,6 +615,12 @@ class SecurityProfile(pulumi.CustomResource):
|
|
481
615
|
|
482
616
|
:param str resource_name: The name of the resource.
|
483
617
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
618
|
+
:param pulumi.Input[Union['SecurityProfileCustomInterceptProfileArgs', 'SecurityProfileCustomInterceptProfileArgsDict']] custom_intercept_profile: The configuration for defining the Intercept Endpoint Group used to
|
619
|
+
intercept traffic to third-party firewall appliances.
|
620
|
+
Structure is documented below.
|
621
|
+
:param pulumi.Input[Union['SecurityProfileCustomMirroringProfileArgs', 'SecurityProfileCustomMirroringProfileArgsDict']] custom_mirroring_profile: The configuration for defining the Mirroring Endpoint Group used to
|
622
|
+
mirror traffic to third-party collectors.
|
623
|
+
Structure is documented below.
|
484
624
|
:param pulumi.Input[str] description: An optional description of the security profile. The Max length is 512 characters.
|
485
625
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
|
486
626
|
|
@@ -497,7 +637,7 @@ class SecurityProfile(pulumi.CustomResource):
|
|
497
637
|
:param pulumi.Input[Union['SecurityProfileThreatPreventionProfileArgs', 'SecurityProfileThreatPreventionProfileArgsDict']] threat_prevention_profile: The threat prevention configuration for the security profile.
|
498
638
|
Structure is documented below.
|
499
639
|
:param pulumi.Input[str] type: The type of security profile.
|
500
|
-
Possible values are: `THREAT_PREVENTION`.
|
640
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
501
641
|
"""
|
502
642
|
...
|
503
643
|
@overload
|
@@ -559,6 +699,58 @@ class SecurityProfile(pulumi.CustomResource):
|
|
559
699
|
}],
|
560
700
|
})
|
561
701
|
```
|
702
|
+
### Network Security Security Profile Mirroring
|
703
|
+
|
704
|
+
```python
|
705
|
+
import pulumi
|
706
|
+
import pulumi_gcp as gcp
|
707
|
+
|
708
|
+
default = gcp.compute.Network("default",
|
709
|
+
name="my-network",
|
710
|
+
auto_create_subnetworks=False)
|
711
|
+
default_mirroring_deployment_group = gcp.networksecurity.MirroringDeploymentGroup("default",
|
712
|
+
mirroring_deployment_group_id="my-dg",
|
713
|
+
location="global",
|
714
|
+
network=default.id)
|
715
|
+
default_mirroring_endpoint_group = gcp.networksecurity.MirroringEndpointGroup("default",
|
716
|
+
mirroring_endpoint_group_id="my-eg",
|
717
|
+
location="global",
|
718
|
+
mirroring_deployment_group=default_mirroring_deployment_group.id)
|
719
|
+
default_security_profile = gcp.networksecurity.SecurityProfile("default",
|
720
|
+
name="my-security-profile",
|
721
|
+
parent="organizations/123456789",
|
722
|
+
description="my description",
|
723
|
+
type="CUSTOM_MIRRORING",
|
724
|
+
custom_mirroring_profile={
|
725
|
+
"mirroring_endpoint_group": default_mirroring_endpoint_group.id,
|
726
|
+
})
|
727
|
+
```
|
728
|
+
### Network Security Security Profile Intercept
|
729
|
+
|
730
|
+
```python
|
731
|
+
import pulumi
|
732
|
+
import pulumi_gcp as gcp
|
733
|
+
|
734
|
+
default = gcp.compute.Network("default",
|
735
|
+
name="my-network",
|
736
|
+
auto_create_subnetworks=False)
|
737
|
+
default_intercept_deployment_group = gcp.networksecurity.InterceptDeploymentGroup("default",
|
738
|
+
intercept_deployment_group_id="my-dg",
|
739
|
+
location="global",
|
740
|
+
network=default.id)
|
741
|
+
default_intercept_endpoint_group = gcp.networksecurity.InterceptEndpointGroup("default",
|
742
|
+
intercept_endpoint_group_id="my-eg",
|
743
|
+
location="global",
|
744
|
+
intercept_deployment_group=default_intercept_deployment_group.id)
|
745
|
+
default_security_profile = gcp.networksecurity.SecurityProfile("default",
|
746
|
+
name="my-security-profile",
|
747
|
+
parent="organizations/123456789",
|
748
|
+
description="my description",
|
749
|
+
type="CUSTOM_INTERCEPT",
|
750
|
+
custom_intercept_profile={
|
751
|
+
"intercept_endpoint_group": default_intercept_endpoint_group.id,
|
752
|
+
})
|
753
|
+
```
|
562
754
|
|
563
755
|
## Import
|
564
756
|
|
@@ -587,6 +779,8 @@ class SecurityProfile(pulumi.CustomResource):
|
|
587
779
|
def _internal_init(__self__,
|
588
780
|
resource_name: str,
|
589
781
|
opts: Optional[pulumi.ResourceOptions] = None,
|
782
|
+
custom_intercept_profile: Optional[pulumi.Input[Union['SecurityProfileCustomInterceptProfileArgs', 'SecurityProfileCustomInterceptProfileArgsDict']]] = None,
|
783
|
+
custom_mirroring_profile: Optional[pulumi.Input[Union['SecurityProfileCustomMirroringProfileArgs', 'SecurityProfileCustomMirroringProfileArgsDict']]] = None,
|
590
784
|
description: Optional[pulumi.Input[str]] = None,
|
591
785
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
592
786
|
location: Optional[pulumi.Input[str]] = None,
|
@@ -603,6 +797,8 @@ class SecurityProfile(pulumi.CustomResource):
|
|
603
797
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
604
798
|
__props__ = SecurityProfileArgs.__new__(SecurityProfileArgs)
|
605
799
|
|
800
|
+
__props__.__dict__["custom_intercept_profile"] = custom_intercept_profile
|
801
|
+
__props__.__dict__["custom_mirroring_profile"] = custom_mirroring_profile
|
606
802
|
__props__.__dict__["description"] = description
|
607
803
|
__props__.__dict__["labels"] = labels
|
608
804
|
__props__.__dict__["location"] = location
|
@@ -631,6 +827,8 @@ class SecurityProfile(pulumi.CustomResource):
|
|
631
827
|
id: pulumi.Input[str],
|
632
828
|
opts: Optional[pulumi.ResourceOptions] = None,
|
633
829
|
create_time: Optional[pulumi.Input[str]] = None,
|
830
|
+
custom_intercept_profile: Optional[pulumi.Input[Union['SecurityProfileCustomInterceptProfileArgs', 'SecurityProfileCustomInterceptProfileArgsDict']]] = None,
|
831
|
+
custom_mirroring_profile: Optional[pulumi.Input[Union['SecurityProfileCustomMirroringProfileArgs', 'SecurityProfileCustomMirroringProfileArgsDict']]] = None,
|
634
832
|
description: Optional[pulumi.Input[str]] = None,
|
635
833
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
636
834
|
etag: Optional[pulumi.Input[str]] = None,
|
@@ -651,6 +849,12 @@ class SecurityProfile(pulumi.CustomResource):
|
|
651
849
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
652
850
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
653
851
|
:param pulumi.Input[str] create_time: Time the security profile was created in UTC.
|
852
|
+
:param pulumi.Input[Union['SecurityProfileCustomInterceptProfileArgs', 'SecurityProfileCustomInterceptProfileArgsDict']] custom_intercept_profile: The configuration for defining the Intercept Endpoint Group used to
|
853
|
+
intercept traffic to third-party firewall appliances.
|
854
|
+
Structure is documented below.
|
855
|
+
:param pulumi.Input[Union['SecurityProfileCustomMirroringProfileArgs', 'SecurityProfileCustomMirroringProfileArgsDict']] custom_mirroring_profile: The configuration for defining the Mirroring Endpoint Group used to
|
856
|
+
mirror traffic to third-party collectors.
|
857
|
+
Structure is documented below.
|
654
858
|
:param pulumi.Input[str] description: An optional description of the security profile. The Max length is 512 characters.
|
655
859
|
: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.
|
656
860
|
:param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other fields,
|
@@ -674,7 +878,7 @@ class SecurityProfile(pulumi.CustomResource):
|
|
674
878
|
:param pulumi.Input[Union['SecurityProfileThreatPreventionProfileArgs', 'SecurityProfileThreatPreventionProfileArgsDict']] threat_prevention_profile: The threat prevention configuration for the security profile.
|
675
879
|
Structure is documented below.
|
676
880
|
:param pulumi.Input[str] type: The type of security profile.
|
677
|
-
Possible values are: `THREAT_PREVENTION`.
|
881
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
678
882
|
:param pulumi.Input[str] update_time: Time the security profile was updated in UTC.
|
679
883
|
"""
|
680
884
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
@@ -682,6 +886,8 @@ class SecurityProfile(pulumi.CustomResource):
|
|
682
886
|
__props__ = _SecurityProfileState.__new__(_SecurityProfileState)
|
683
887
|
|
684
888
|
__props__.__dict__["create_time"] = create_time
|
889
|
+
__props__.__dict__["custom_intercept_profile"] = custom_intercept_profile
|
890
|
+
__props__.__dict__["custom_mirroring_profile"] = custom_mirroring_profile
|
685
891
|
__props__.__dict__["description"] = description
|
686
892
|
__props__.__dict__["effective_labels"] = effective_labels
|
687
893
|
__props__.__dict__["etag"] = etag
|
@@ -704,6 +910,26 @@ class SecurityProfile(pulumi.CustomResource):
|
|
704
910
|
"""
|
705
911
|
return pulumi.get(self, "create_time")
|
706
912
|
|
913
|
+
@property
|
914
|
+
@pulumi.getter(name="customInterceptProfile")
|
915
|
+
def custom_intercept_profile(self) -> pulumi.Output[Optional['outputs.SecurityProfileCustomInterceptProfile']]:
|
916
|
+
"""
|
917
|
+
The configuration for defining the Intercept Endpoint Group used to
|
918
|
+
intercept traffic to third-party firewall appliances.
|
919
|
+
Structure is documented below.
|
920
|
+
"""
|
921
|
+
return pulumi.get(self, "custom_intercept_profile")
|
922
|
+
|
923
|
+
@property
|
924
|
+
@pulumi.getter(name="customMirroringProfile")
|
925
|
+
def custom_mirroring_profile(self) -> pulumi.Output[Optional['outputs.SecurityProfileCustomMirroringProfile']]:
|
926
|
+
"""
|
927
|
+
The configuration for defining the Mirroring Endpoint Group used to
|
928
|
+
mirror traffic to third-party collectors.
|
929
|
+
Structure is documented below.
|
930
|
+
"""
|
931
|
+
return pulumi.get(self, "custom_mirroring_profile")
|
932
|
+
|
707
933
|
@property
|
708
934
|
@pulumi.getter
|
709
935
|
def description(self) -> pulumi.Output[Optional[str]]:
|
@@ -801,7 +1027,7 @@ class SecurityProfile(pulumi.CustomResource):
|
|
801
1027
|
def type(self) -> pulumi.Output[str]:
|
802
1028
|
"""
|
803
1029
|
The type of security profile.
|
804
|
-
Possible values are: `THREAT_PREVENTION`.
|
1030
|
+
Possible values are: `THREAT_PREVENTION`, `CUSTOM_MIRRORING`, `CUSTOM_INTERCEPT`.
|
805
1031
|
"""
|
806
1032
|
return pulumi.get(self, "type")
|
807
1033
|
|