pulumi-gcp 8.30.0a1746772896__py3-none-any.whl → 8.30.0a1747042890__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 +16 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/_inputs.py +61 -0
- pulumi_gcp/apigee/outputs.py +36 -0
- pulumi_gcp/apigee/security_profile_v2.py +554 -0
- pulumi_gcp/bigtable/_inputs.py +24 -4
- pulumi_gcp/bigtable/outputs.py +15 -1
- pulumi_gcp/cloudrun/_inputs.py +18 -0
- pulumi_gcp/cloudrun/outputs.py +12 -0
- pulumi_gcp/cloudrunv2/_inputs.py +44 -1
- pulumi_gcp/cloudrunv2/job.py +50 -0
- pulumi_gcp/cloudrunv2/outputs.py +55 -3
- pulumi_gcp/compute/forwarding_rule.py +21 -0
- pulumi_gcp/compute/outputs.py +8 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +6 -6
- pulumi_gcp/container/outputs.py +4 -4
- pulumi_gcp/filestore/_inputs.py +156 -0
- pulumi_gcp/filestore/get_instance.py +12 -1
- pulumi_gcp/filestore/instance.py +47 -0
- pulumi_gcp/filestore/outputs.py +202 -0
- pulumi_gcp/networkconnectivity/_inputs.py +74 -0
- pulumi_gcp/networkconnectivity/outputs.py +61 -0
- pulumi_gcp/networkconnectivity/spoke.py +32 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/resourcemanager/__init__.py +1 -0
- pulumi_gcp/resourcemanager/capability.py +346 -0
- pulumi_gcp/sql/_inputs.py +126 -0
- pulumi_gcp/sql/outputs.py +239 -4
- pulumi_gcp/tpu/node.py +4 -0
- {pulumi_gcp-8.30.0a1746772896.dist-info → pulumi_gcp-8.30.0a1747042890.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.30.0a1746772896.dist-info → pulumi_gcp-8.30.0a1747042890.dist-info}/RECORD +36 -34
- {pulumi_gcp-8.30.0a1746772896.dist-info → pulumi_gcp-8.30.0a1747042890.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.30.0a1746772896.dist-info → pulumi_gcp-8.30.0a1747042890.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,554 @@
|
|
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 builtins
|
6
|
+
import copy
|
7
|
+
import warnings
|
8
|
+
import sys
|
9
|
+
import pulumi
|
10
|
+
import pulumi.runtime
|
11
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
12
|
+
if sys.version_info >= (3, 11):
|
13
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
14
|
+
else:
|
15
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
16
|
+
from .. import _utilities
|
17
|
+
from . import outputs
|
18
|
+
from ._inputs import *
|
19
|
+
|
20
|
+
__all__ = ['SecurityProfileV2Args', 'SecurityProfileV2']
|
21
|
+
|
22
|
+
@pulumi.input_type
|
23
|
+
class SecurityProfileV2Args:
|
24
|
+
def __init__(__self__, *,
|
25
|
+
org_id: pulumi.Input[builtins.str],
|
26
|
+
profile_assessment_configs: pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]],
|
27
|
+
profile_id: pulumi.Input[builtins.str],
|
28
|
+
description: Optional[pulumi.Input[builtins.str]] = None):
|
29
|
+
"""
|
30
|
+
The set of arguments for constructing a SecurityProfileV2 resource.
|
31
|
+
:param pulumi.Input[builtins.str] org_id: The Apigee Organization associated with the Apigee Security Profile V2,
|
32
|
+
in the format `organizations/{{org_name}}`.
|
33
|
+
:param pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]] profile_assessment_configs: A map of the assessment name and the assessment config.
|
34
|
+
Structure is documented below.
|
35
|
+
:param pulumi.Input[builtins.str] profile_id: Resource ID of the security profile.
|
36
|
+
:param pulumi.Input[builtins.str] description: Description of the security profile.
|
37
|
+
"""
|
38
|
+
pulumi.set(__self__, "org_id", org_id)
|
39
|
+
pulumi.set(__self__, "profile_assessment_configs", profile_assessment_configs)
|
40
|
+
pulumi.set(__self__, "profile_id", profile_id)
|
41
|
+
if description is not None:
|
42
|
+
pulumi.set(__self__, "description", description)
|
43
|
+
|
44
|
+
@property
|
45
|
+
@pulumi.getter(name="orgId")
|
46
|
+
def org_id(self) -> pulumi.Input[builtins.str]:
|
47
|
+
"""
|
48
|
+
The Apigee Organization associated with the Apigee Security Profile V2,
|
49
|
+
in the format `organizations/{{org_name}}`.
|
50
|
+
"""
|
51
|
+
return pulumi.get(self, "org_id")
|
52
|
+
|
53
|
+
@org_id.setter
|
54
|
+
def org_id(self, value: pulumi.Input[builtins.str]):
|
55
|
+
pulumi.set(self, "org_id", value)
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter(name="profileAssessmentConfigs")
|
59
|
+
def profile_assessment_configs(self) -> pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]]:
|
60
|
+
"""
|
61
|
+
A map of the assessment name and the assessment config.
|
62
|
+
Structure is documented below.
|
63
|
+
"""
|
64
|
+
return pulumi.get(self, "profile_assessment_configs")
|
65
|
+
|
66
|
+
@profile_assessment_configs.setter
|
67
|
+
def profile_assessment_configs(self, value: pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]]):
|
68
|
+
pulumi.set(self, "profile_assessment_configs", value)
|
69
|
+
|
70
|
+
@property
|
71
|
+
@pulumi.getter(name="profileId")
|
72
|
+
def profile_id(self) -> pulumi.Input[builtins.str]:
|
73
|
+
"""
|
74
|
+
Resource ID of the security profile.
|
75
|
+
"""
|
76
|
+
return pulumi.get(self, "profile_id")
|
77
|
+
|
78
|
+
@profile_id.setter
|
79
|
+
def profile_id(self, value: pulumi.Input[builtins.str]):
|
80
|
+
pulumi.set(self, "profile_id", value)
|
81
|
+
|
82
|
+
@property
|
83
|
+
@pulumi.getter
|
84
|
+
def description(self) -> Optional[pulumi.Input[builtins.str]]:
|
85
|
+
"""
|
86
|
+
Description of the security profile.
|
87
|
+
"""
|
88
|
+
return pulumi.get(self, "description")
|
89
|
+
|
90
|
+
@description.setter
|
91
|
+
def description(self, value: Optional[pulumi.Input[builtins.str]]):
|
92
|
+
pulumi.set(self, "description", value)
|
93
|
+
|
94
|
+
|
95
|
+
@pulumi.input_type
|
96
|
+
class _SecurityProfileV2State:
|
97
|
+
def __init__(__self__, *,
|
98
|
+
create_time: Optional[pulumi.Input[builtins.str]] = None,
|
99
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
100
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
101
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
102
|
+
profile_assessment_configs: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]]] = None,
|
103
|
+
profile_id: Optional[pulumi.Input[builtins.str]] = None,
|
104
|
+
update_time: Optional[pulumi.Input[builtins.str]] = None):
|
105
|
+
"""
|
106
|
+
Input properties used for looking up and filtering SecurityProfileV2 resources.
|
107
|
+
:param pulumi.Input[builtins.str] create_time: The timestamp at which this profile was created.
|
108
|
+
:param pulumi.Input[builtins.str] description: Description of the security profile.
|
109
|
+
:param pulumi.Input[builtins.str] name: Name of the security profile v2 resource,
|
110
|
+
in the format `organizations/{{org_name}}/securityProfilesV2/{{profile_id}}`.
|
111
|
+
:param pulumi.Input[builtins.str] org_id: The Apigee Organization associated with the Apigee Security Profile V2,
|
112
|
+
in the format `organizations/{{org_name}}`.
|
113
|
+
:param pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]] profile_assessment_configs: A map of the assessment name and the assessment config.
|
114
|
+
Structure is documented below.
|
115
|
+
:param pulumi.Input[builtins.str] profile_id: Resource ID of the security profile.
|
116
|
+
:param pulumi.Input[builtins.str] update_time: The timestamp at which this profile was most recently updated.
|
117
|
+
"""
|
118
|
+
if create_time is not None:
|
119
|
+
pulumi.set(__self__, "create_time", create_time)
|
120
|
+
if description is not None:
|
121
|
+
pulumi.set(__self__, "description", description)
|
122
|
+
if name is not None:
|
123
|
+
pulumi.set(__self__, "name", name)
|
124
|
+
if org_id is not None:
|
125
|
+
pulumi.set(__self__, "org_id", org_id)
|
126
|
+
if profile_assessment_configs is not None:
|
127
|
+
pulumi.set(__self__, "profile_assessment_configs", profile_assessment_configs)
|
128
|
+
if profile_id is not None:
|
129
|
+
pulumi.set(__self__, "profile_id", profile_id)
|
130
|
+
if update_time is not None:
|
131
|
+
pulumi.set(__self__, "update_time", update_time)
|
132
|
+
|
133
|
+
@property
|
134
|
+
@pulumi.getter(name="createTime")
|
135
|
+
def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
136
|
+
"""
|
137
|
+
The timestamp at which this profile was created.
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "create_time")
|
140
|
+
|
141
|
+
@create_time.setter
|
142
|
+
def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
143
|
+
pulumi.set(self, "create_time", value)
|
144
|
+
|
145
|
+
@property
|
146
|
+
@pulumi.getter
|
147
|
+
def description(self) -> Optional[pulumi.Input[builtins.str]]:
|
148
|
+
"""
|
149
|
+
Description of the security profile.
|
150
|
+
"""
|
151
|
+
return pulumi.get(self, "description")
|
152
|
+
|
153
|
+
@description.setter
|
154
|
+
def description(self, value: Optional[pulumi.Input[builtins.str]]):
|
155
|
+
pulumi.set(self, "description", value)
|
156
|
+
|
157
|
+
@property
|
158
|
+
@pulumi.getter
|
159
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
160
|
+
"""
|
161
|
+
Name of the security profile v2 resource,
|
162
|
+
in the format `organizations/{{org_name}}/securityProfilesV2/{{profile_id}}`.
|
163
|
+
"""
|
164
|
+
return pulumi.get(self, "name")
|
165
|
+
|
166
|
+
@name.setter
|
167
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
168
|
+
pulumi.set(self, "name", value)
|
169
|
+
|
170
|
+
@property
|
171
|
+
@pulumi.getter(name="orgId")
|
172
|
+
def org_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
173
|
+
"""
|
174
|
+
The Apigee Organization associated with the Apigee Security Profile V2,
|
175
|
+
in the format `organizations/{{org_name}}`.
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "org_id")
|
178
|
+
|
179
|
+
@org_id.setter
|
180
|
+
def org_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
181
|
+
pulumi.set(self, "org_id", value)
|
182
|
+
|
183
|
+
@property
|
184
|
+
@pulumi.getter(name="profileAssessmentConfigs")
|
185
|
+
def profile_assessment_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]]]:
|
186
|
+
"""
|
187
|
+
A map of the assessment name and the assessment config.
|
188
|
+
Structure is documented below.
|
189
|
+
"""
|
190
|
+
return pulumi.get(self, "profile_assessment_configs")
|
191
|
+
|
192
|
+
@profile_assessment_configs.setter
|
193
|
+
def profile_assessment_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileV2ProfileAssessmentConfigArgs']]]]):
|
194
|
+
pulumi.set(self, "profile_assessment_configs", value)
|
195
|
+
|
196
|
+
@property
|
197
|
+
@pulumi.getter(name="profileId")
|
198
|
+
def profile_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
199
|
+
"""
|
200
|
+
Resource ID of the security profile.
|
201
|
+
"""
|
202
|
+
return pulumi.get(self, "profile_id")
|
203
|
+
|
204
|
+
@profile_id.setter
|
205
|
+
def profile_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
206
|
+
pulumi.set(self, "profile_id", value)
|
207
|
+
|
208
|
+
@property
|
209
|
+
@pulumi.getter(name="updateTime")
|
210
|
+
def update_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
211
|
+
"""
|
212
|
+
The timestamp at which this profile was most recently updated.
|
213
|
+
"""
|
214
|
+
return pulumi.get(self, "update_time")
|
215
|
+
|
216
|
+
@update_time.setter
|
217
|
+
def update_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
218
|
+
pulumi.set(self, "update_time", value)
|
219
|
+
|
220
|
+
|
221
|
+
@pulumi.type_token("gcp:apigee/securityProfileV2:SecurityProfileV2")
|
222
|
+
class SecurityProfileV2(pulumi.CustomResource):
|
223
|
+
@overload
|
224
|
+
def __init__(__self__,
|
225
|
+
resource_name: str,
|
226
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
227
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
228
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
229
|
+
profile_assessment_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityProfileV2ProfileAssessmentConfigArgs', 'SecurityProfileV2ProfileAssessmentConfigArgsDict']]]]] = None,
|
230
|
+
profile_id: Optional[pulumi.Input[builtins.str]] = None,
|
231
|
+
__props__=None):
|
232
|
+
"""
|
233
|
+
Security profile for risk assessment version 2 in Apigee.
|
234
|
+
|
235
|
+
To get more information about SecurityProfileV2, see:
|
236
|
+
|
237
|
+
* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.securityProfilesV2/create)
|
238
|
+
* How-to Guides
|
239
|
+
* [Creating a security profile](https://cloud.google.com/apigee/docs/api-security/security-scores#security-profiles-v2)
|
240
|
+
|
241
|
+
## Example Usage
|
242
|
+
|
243
|
+
### Apigee Security Profile V2 Basic
|
244
|
+
|
245
|
+
```python
|
246
|
+
import pulumi
|
247
|
+
import pulumi_gcp as gcp
|
248
|
+
|
249
|
+
current = gcp.organizations.get_client_config()
|
250
|
+
apigee_network = gcp.compute.Network("apigee_network", name="apigee-network")
|
251
|
+
apigee_range = gcp.compute.GlobalAddress("apigee_range",
|
252
|
+
name="apigee-range",
|
253
|
+
purpose="VPC_PEERING",
|
254
|
+
address_type="INTERNAL",
|
255
|
+
prefix_length=16,
|
256
|
+
network=apigee_network.id)
|
257
|
+
apigee_vpc_connection = gcp.servicenetworking.Connection("apigee_vpc_connection",
|
258
|
+
network=apigee_network.id,
|
259
|
+
service="servicenetworking.googleapis.com",
|
260
|
+
reserved_peering_ranges=[apigee_range.name])
|
261
|
+
apigee_org = gcp.apigee.Organization("apigee_org",
|
262
|
+
analytics_region="us-central1",
|
263
|
+
project_id=current.project,
|
264
|
+
authorized_network=apigee_network.id,
|
265
|
+
opts = pulumi.ResourceOptions(depends_on=[apigee_vpc_connection]))
|
266
|
+
apigee_org_security_addons_config = gcp.apigee.AddonsConfig("apigee_org_security_addons_config",
|
267
|
+
org=apigee_org.name,
|
268
|
+
addons_config={
|
269
|
+
"api_security_config": {
|
270
|
+
"enabled": True,
|
271
|
+
},
|
272
|
+
})
|
273
|
+
security_profile_v2 = gcp.apigee.SecurityProfileV2("security_profile_v2",
|
274
|
+
profile_id="my-profile",
|
275
|
+
org_id=apigee_org.id,
|
276
|
+
description="terraform test description",
|
277
|
+
profile_assessment_configs=[
|
278
|
+
{
|
279
|
+
"assessment": "auth-policies-check",
|
280
|
+
"weight": "MAJOR",
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"assessment": "mediation-policies-check",
|
284
|
+
"weight": "MODERATE",
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"assessment": "threat-policies-check",
|
288
|
+
"weight": "MINOR",
|
289
|
+
},
|
290
|
+
],
|
291
|
+
opts = pulumi.ResourceOptions(depends_on=[apigee_org_security_addons_config]))
|
292
|
+
```
|
293
|
+
|
294
|
+
## Import
|
295
|
+
|
296
|
+
SecurityProfileV2 can be imported using any of these accepted formats:
|
297
|
+
|
298
|
+
* `{{org_id}}/securityProfilesV2/{{profile_id}}`
|
299
|
+
|
300
|
+
* `{{org_id}}/{{profile_id}}`
|
301
|
+
|
302
|
+
When using the `pulumi import` command, SecurityProfileV2 can be imported using one of the formats above. For example:
|
303
|
+
|
304
|
+
```sh
|
305
|
+
$ pulumi import gcp:apigee/securityProfileV2:SecurityProfileV2 default {{org_id}}/securityProfilesV2/{{profile_id}}
|
306
|
+
```
|
307
|
+
|
308
|
+
```sh
|
309
|
+
$ pulumi import gcp:apigee/securityProfileV2:SecurityProfileV2 default {{org_id}}/{{profile_id}}
|
310
|
+
```
|
311
|
+
|
312
|
+
:param str resource_name: The name of the resource.
|
313
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
314
|
+
:param pulumi.Input[builtins.str] description: Description of the security profile.
|
315
|
+
:param pulumi.Input[builtins.str] org_id: The Apigee Organization associated with the Apigee Security Profile V2,
|
316
|
+
in the format `organizations/{{org_name}}`.
|
317
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['SecurityProfileV2ProfileAssessmentConfigArgs', 'SecurityProfileV2ProfileAssessmentConfigArgsDict']]]] profile_assessment_configs: A map of the assessment name and the assessment config.
|
318
|
+
Structure is documented below.
|
319
|
+
:param pulumi.Input[builtins.str] profile_id: Resource ID of the security profile.
|
320
|
+
"""
|
321
|
+
...
|
322
|
+
@overload
|
323
|
+
def __init__(__self__,
|
324
|
+
resource_name: str,
|
325
|
+
args: SecurityProfileV2Args,
|
326
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
327
|
+
"""
|
328
|
+
Security profile for risk assessment version 2 in Apigee.
|
329
|
+
|
330
|
+
To get more information about SecurityProfileV2, see:
|
331
|
+
|
332
|
+
* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.securityProfilesV2/create)
|
333
|
+
* How-to Guides
|
334
|
+
* [Creating a security profile](https://cloud.google.com/apigee/docs/api-security/security-scores#security-profiles-v2)
|
335
|
+
|
336
|
+
## Example Usage
|
337
|
+
|
338
|
+
### Apigee Security Profile V2 Basic
|
339
|
+
|
340
|
+
```python
|
341
|
+
import pulumi
|
342
|
+
import pulumi_gcp as gcp
|
343
|
+
|
344
|
+
current = gcp.organizations.get_client_config()
|
345
|
+
apigee_network = gcp.compute.Network("apigee_network", name="apigee-network")
|
346
|
+
apigee_range = gcp.compute.GlobalAddress("apigee_range",
|
347
|
+
name="apigee-range",
|
348
|
+
purpose="VPC_PEERING",
|
349
|
+
address_type="INTERNAL",
|
350
|
+
prefix_length=16,
|
351
|
+
network=apigee_network.id)
|
352
|
+
apigee_vpc_connection = gcp.servicenetworking.Connection("apigee_vpc_connection",
|
353
|
+
network=apigee_network.id,
|
354
|
+
service="servicenetworking.googleapis.com",
|
355
|
+
reserved_peering_ranges=[apigee_range.name])
|
356
|
+
apigee_org = gcp.apigee.Organization("apigee_org",
|
357
|
+
analytics_region="us-central1",
|
358
|
+
project_id=current.project,
|
359
|
+
authorized_network=apigee_network.id,
|
360
|
+
opts = pulumi.ResourceOptions(depends_on=[apigee_vpc_connection]))
|
361
|
+
apigee_org_security_addons_config = gcp.apigee.AddonsConfig("apigee_org_security_addons_config",
|
362
|
+
org=apigee_org.name,
|
363
|
+
addons_config={
|
364
|
+
"api_security_config": {
|
365
|
+
"enabled": True,
|
366
|
+
},
|
367
|
+
})
|
368
|
+
security_profile_v2 = gcp.apigee.SecurityProfileV2("security_profile_v2",
|
369
|
+
profile_id="my-profile",
|
370
|
+
org_id=apigee_org.id,
|
371
|
+
description="terraform test description",
|
372
|
+
profile_assessment_configs=[
|
373
|
+
{
|
374
|
+
"assessment": "auth-policies-check",
|
375
|
+
"weight": "MAJOR",
|
376
|
+
},
|
377
|
+
{
|
378
|
+
"assessment": "mediation-policies-check",
|
379
|
+
"weight": "MODERATE",
|
380
|
+
},
|
381
|
+
{
|
382
|
+
"assessment": "threat-policies-check",
|
383
|
+
"weight": "MINOR",
|
384
|
+
},
|
385
|
+
],
|
386
|
+
opts = pulumi.ResourceOptions(depends_on=[apigee_org_security_addons_config]))
|
387
|
+
```
|
388
|
+
|
389
|
+
## Import
|
390
|
+
|
391
|
+
SecurityProfileV2 can be imported using any of these accepted formats:
|
392
|
+
|
393
|
+
* `{{org_id}}/securityProfilesV2/{{profile_id}}`
|
394
|
+
|
395
|
+
* `{{org_id}}/{{profile_id}}`
|
396
|
+
|
397
|
+
When using the `pulumi import` command, SecurityProfileV2 can be imported using one of the formats above. For example:
|
398
|
+
|
399
|
+
```sh
|
400
|
+
$ pulumi import gcp:apigee/securityProfileV2:SecurityProfileV2 default {{org_id}}/securityProfilesV2/{{profile_id}}
|
401
|
+
```
|
402
|
+
|
403
|
+
```sh
|
404
|
+
$ pulumi import gcp:apigee/securityProfileV2:SecurityProfileV2 default {{org_id}}/{{profile_id}}
|
405
|
+
```
|
406
|
+
|
407
|
+
:param str resource_name: The name of the resource.
|
408
|
+
:param SecurityProfileV2Args args: The arguments to use to populate this resource's properties.
|
409
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
410
|
+
"""
|
411
|
+
...
|
412
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
413
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecurityProfileV2Args, pulumi.ResourceOptions, *args, **kwargs)
|
414
|
+
if resource_args is not None:
|
415
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
416
|
+
else:
|
417
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
418
|
+
|
419
|
+
def _internal_init(__self__,
|
420
|
+
resource_name: str,
|
421
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
422
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
423
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
424
|
+
profile_assessment_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityProfileV2ProfileAssessmentConfigArgs', 'SecurityProfileV2ProfileAssessmentConfigArgsDict']]]]] = None,
|
425
|
+
profile_id: Optional[pulumi.Input[builtins.str]] = None,
|
426
|
+
__props__=None):
|
427
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
428
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
429
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
430
|
+
if opts.id is None:
|
431
|
+
if __props__ is not None:
|
432
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
433
|
+
__props__ = SecurityProfileV2Args.__new__(SecurityProfileV2Args)
|
434
|
+
|
435
|
+
__props__.__dict__["description"] = description
|
436
|
+
if org_id is None and not opts.urn:
|
437
|
+
raise TypeError("Missing required property 'org_id'")
|
438
|
+
__props__.__dict__["org_id"] = org_id
|
439
|
+
if profile_assessment_configs is None and not opts.urn:
|
440
|
+
raise TypeError("Missing required property 'profile_assessment_configs'")
|
441
|
+
__props__.__dict__["profile_assessment_configs"] = profile_assessment_configs
|
442
|
+
if profile_id is None and not opts.urn:
|
443
|
+
raise TypeError("Missing required property 'profile_id'")
|
444
|
+
__props__.__dict__["profile_id"] = profile_id
|
445
|
+
__props__.__dict__["create_time"] = None
|
446
|
+
__props__.__dict__["name"] = None
|
447
|
+
__props__.__dict__["update_time"] = None
|
448
|
+
super(SecurityProfileV2, __self__).__init__(
|
449
|
+
'gcp:apigee/securityProfileV2:SecurityProfileV2',
|
450
|
+
resource_name,
|
451
|
+
__props__,
|
452
|
+
opts)
|
453
|
+
|
454
|
+
@staticmethod
|
455
|
+
def get(resource_name: str,
|
456
|
+
id: pulumi.Input[str],
|
457
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
458
|
+
create_time: Optional[pulumi.Input[builtins.str]] = None,
|
459
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
460
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
461
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
462
|
+
profile_assessment_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityProfileV2ProfileAssessmentConfigArgs', 'SecurityProfileV2ProfileAssessmentConfigArgsDict']]]]] = None,
|
463
|
+
profile_id: Optional[pulumi.Input[builtins.str]] = None,
|
464
|
+
update_time: Optional[pulumi.Input[builtins.str]] = None) -> 'SecurityProfileV2':
|
465
|
+
"""
|
466
|
+
Get an existing SecurityProfileV2 resource's state with the given name, id, and optional extra
|
467
|
+
properties used to qualify the lookup.
|
468
|
+
|
469
|
+
:param str resource_name: The unique name of the resulting resource.
|
470
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
471
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
472
|
+
:param pulumi.Input[builtins.str] create_time: The timestamp at which this profile was created.
|
473
|
+
:param pulumi.Input[builtins.str] description: Description of the security profile.
|
474
|
+
:param pulumi.Input[builtins.str] name: Name of the security profile v2 resource,
|
475
|
+
in the format `organizations/{{org_name}}/securityProfilesV2/{{profile_id}}`.
|
476
|
+
:param pulumi.Input[builtins.str] org_id: The Apigee Organization associated with the Apigee Security Profile V2,
|
477
|
+
in the format `organizations/{{org_name}}`.
|
478
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['SecurityProfileV2ProfileAssessmentConfigArgs', 'SecurityProfileV2ProfileAssessmentConfigArgsDict']]]] profile_assessment_configs: A map of the assessment name and the assessment config.
|
479
|
+
Structure is documented below.
|
480
|
+
:param pulumi.Input[builtins.str] profile_id: Resource ID of the security profile.
|
481
|
+
:param pulumi.Input[builtins.str] update_time: The timestamp at which this profile was most recently updated.
|
482
|
+
"""
|
483
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
484
|
+
|
485
|
+
__props__ = _SecurityProfileV2State.__new__(_SecurityProfileV2State)
|
486
|
+
|
487
|
+
__props__.__dict__["create_time"] = create_time
|
488
|
+
__props__.__dict__["description"] = description
|
489
|
+
__props__.__dict__["name"] = name
|
490
|
+
__props__.__dict__["org_id"] = org_id
|
491
|
+
__props__.__dict__["profile_assessment_configs"] = profile_assessment_configs
|
492
|
+
__props__.__dict__["profile_id"] = profile_id
|
493
|
+
__props__.__dict__["update_time"] = update_time
|
494
|
+
return SecurityProfileV2(resource_name, opts=opts, __props__=__props__)
|
495
|
+
|
496
|
+
@property
|
497
|
+
@pulumi.getter(name="createTime")
|
498
|
+
def create_time(self) -> pulumi.Output[builtins.str]:
|
499
|
+
"""
|
500
|
+
The timestamp at which this profile was created.
|
501
|
+
"""
|
502
|
+
return pulumi.get(self, "create_time")
|
503
|
+
|
504
|
+
@property
|
505
|
+
@pulumi.getter
|
506
|
+
def description(self) -> pulumi.Output[Optional[builtins.str]]:
|
507
|
+
"""
|
508
|
+
Description of the security profile.
|
509
|
+
"""
|
510
|
+
return pulumi.get(self, "description")
|
511
|
+
|
512
|
+
@property
|
513
|
+
@pulumi.getter
|
514
|
+
def name(self) -> pulumi.Output[builtins.str]:
|
515
|
+
"""
|
516
|
+
Name of the security profile v2 resource,
|
517
|
+
in the format `organizations/{{org_name}}/securityProfilesV2/{{profile_id}}`.
|
518
|
+
"""
|
519
|
+
return pulumi.get(self, "name")
|
520
|
+
|
521
|
+
@property
|
522
|
+
@pulumi.getter(name="orgId")
|
523
|
+
def org_id(self) -> pulumi.Output[builtins.str]:
|
524
|
+
"""
|
525
|
+
The Apigee Organization associated with the Apigee Security Profile V2,
|
526
|
+
in the format `organizations/{{org_name}}`.
|
527
|
+
"""
|
528
|
+
return pulumi.get(self, "org_id")
|
529
|
+
|
530
|
+
@property
|
531
|
+
@pulumi.getter(name="profileAssessmentConfigs")
|
532
|
+
def profile_assessment_configs(self) -> pulumi.Output[Sequence['outputs.SecurityProfileV2ProfileAssessmentConfig']]:
|
533
|
+
"""
|
534
|
+
A map of the assessment name and the assessment config.
|
535
|
+
Structure is documented below.
|
536
|
+
"""
|
537
|
+
return pulumi.get(self, "profile_assessment_configs")
|
538
|
+
|
539
|
+
@property
|
540
|
+
@pulumi.getter(name="profileId")
|
541
|
+
def profile_id(self) -> pulumi.Output[builtins.str]:
|
542
|
+
"""
|
543
|
+
Resource ID of the security profile.
|
544
|
+
"""
|
545
|
+
return pulumi.get(self, "profile_id")
|
546
|
+
|
547
|
+
@property
|
548
|
+
@pulumi.getter(name="updateTime")
|
549
|
+
def update_time(self) -> pulumi.Output[builtins.str]:
|
550
|
+
"""
|
551
|
+
The timestamp at which this profile was most recently updated.
|
552
|
+
"""
|
553
|
+
return pulumi.get(self, "update_time")
|
554
|
+
|
pulumi_gcp/bigtable/_inputs.py
CHANGED
@@ -291,6 +291,10 @@ if not MYPY:
|
|
291
291
|
kms_key_name: NotRequired[pulumi.Input[builtins.str]]
|
292
292
|
"""
|
293
293
|
Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster.
|
294
|
+
"""
|
295
|
+
node_scaling_factor: NotRequired[pulumi.Input[builtins.str]]
|
296
|
+
"""
|
297
|
+
The node scaling factor for this cluster. One of `"NodeScalingFactor1X"` or `"NodeScalingFactor2X"`. Defaults to `"NodeScalingFactor1X"`. If `"NodeScalingFactor2X"` is specified, then `num_nodes`, `min_nodes`, and `max_nodes` would need to be specified in increments of 2. This value cannot be updated after the cluster is created.
|
294
298
|
|
295
299
|
> **Note**: Removing the field entirely from the config will cause the provider to default to the backend value.
|
296
300
|
|
@@ -330,6 +334,7 @@ class InstanceClusterArgs:
|
|
330
334
|
cluster_id: pulumi.Input[builtins.str],
|
331
335
|
autoscaling_config: Optional[pulumi.Input['InstanceClusterAutoscalingConfigArgs']] = None,
|
332
336
|
kms_key_name: Optional[pulumi.Input[builtins.str]] = None,
|
337
|
+
node_scaling_factor: Optional[pulumi.Input[builtins.str]] = None,
|
333
338
|
num_nodes: Optional[pulumi.Input[builtins.int]] = None,
|
334
339
|
state: Optional[pulumi.Input[builtins.str]] = None,
|
335
340
|
storage_type: Optional[pulumi.Input[builtins.str]] = None,
|
@@ -338,6 +343,7 @@ class InstanceClusterArgs:
|
|
338
343
|
:param pulumi.Input[builtins.str] cluster_id: The ID of the Cloud Bigtable cluster. Must be 6-30 characters and must only contain hyphens, lowercase letters and numbers.
|
339
344
|
:param pulumi.Input['InstanceClusterAutoscalingConfigArgs'] autoscaling_config: [Autoscaling](https://cloud.google.com/bigtable/docs/autoscaling#parameters) config for the cluster, contains the following arguments:
|
340
345
|
:param pulumi.Input[builtins.str] kms_key_name: Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster.
|
346
|
+
:param pulumi.Input[builtins.str] node_scaling_factor: The node scaling factor for this cluster. One of `"NodeScalingFactor1X"` or `"NodeScalingFactor2X"`. Defaults to `"NodeScalingFactor1X"`. If `"NodeScalingFactor2X"` is specified, then `num_nodes`, `min_nodes`, and `max_nodes` would need to be specified in increments of 2. This value cannot be updated after the cluster is created.
|
341
347
|
|
342
348
|
> **Note**: Removing the field entirely from the config will cause the provider to default to the backend value.
|
343
349
|
|
@@ -361,6 +367,8 @@ class InstanceClusterArgs:
|
|
361
367
|
pulumi.set(__self__, "autoscaling_config", autoscaling_config)
|
362
368
|
if kms_key_name is not None:
|
363
369
|
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
370
|
+
if node_scaling_factor is not None:
|
371
|
+
pulumi.set(__self__, "node_scaling_factor", node_scaling_factor)
|
364
372
|
if num_nodes is not None:
|
365
373
|
pulumi.set(__self__, "num_nodes", num_nodes)
|
366
374
|
if state is not None:
|
@@ -399,6 +407,18 @@ class InstanceClusterArgs:
|
|
399
407
|
def kms_key_name(self) -> Optional[pulumi.Input[builtins.str]]:
|
400
408
|
"""
|
401
409
|
Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster.
|
410
|
+
"""
|
411
|
+
return pulumi.get(self, "kms_key_name")
|
412
|
+
|
413
|
+
@kms_key_name.setter
|
414
|
+
def kms_key_name(self, value: Optional[pulumi.Input[builtins.str]]):
|
415
|
+
pulumi.set(self, "kms_key_name", value)
|
416
|
+
|
417
|
+
@property
|
418
|
+
@pulumi.getter(name="nodeScalingFactor")
|
419
|
+
def node_scaling_factor(self) -> Optional[pulumi.Input[builtins.str]]:
|
420
|
+
"""
|
421
|
+
The node scaling factor for this cluster. One of `"NodeScalingFactor1X"` or `"NodeScalingFactor2X"`. Defaults to `"NodeScalingFactor1X"`. If `"NodeScalingFactor2X"` is specified, then `num_nodes`, `min_nodes`, and `max_nodes` would need to be specified in increments of 2. This value cannot be updated after the cluster is created.
|
402
422
|
|
403
423
|
> **Note**: Removing the field entirely from the config will cause the provider to default to the backend value.
|
404
424
|
|
@@ -409,11 +429,11 @@ class InstanceClusterArgs:
|
|
409
429
|
`bigtable.Instance` resource. If these values are changing, use a new
|
410
430
|
`cluster_id`.
|
411
431
|
"""
|
412
|
-
return pulumi.get(self, "
|
432
|
+
return pulumi.get(self, "node_scaling_factor")
|
413
433
|
|
414
|
-
@
|
415
|
-
def
|
416
|
-
pulumi.set(self, "
|
434
|
+
@node_scaling_factor.setter
|
435
|
+
def node_scaling_factor(self, value: Optional[pulumi.Input[builtins.str]]):
|
436
|
+
pulumi.set(self, "node_scaling_factor", value)
|
417
437
|
|
418
438
|
@property
|
419
439
|
@pulumi.getter(name="numNodes")
|