pulumi-gcp 7.21.0a1714565535__py3-none-any.whl → 7.21.0a1714596856__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 +40 -0
- pulumi_gcp/alloydb/_inputs.py +74 -0
- pulumi_gcp/alloydb/instance.py +90 -0
- pulumi_gcp/alloydb/outputs.py +98 -0
- pulumi_gcp/apigee/environment.py +47 -0
- pulumi_gcp/applicationintegration/__init__.py +1 -0
- pulumi_gcp/applicationintegration/_inputs.py +843 -0
- pulumi_gcp/applicationintegration/auth_config.py +998 -0
- pulumi_gcp/applicationintegration/outputs.py +891 -0
- pulumi_gcp/bigquerydatapolicy/_inputs.py +21 -4
- pulumi_gcp/bigquerydatapolicy/data_policy.py +78 -0
- pulumi_gcp/bigquerydatapolicy/outputs.py +16 -3
- pulumi_gcp/certificateauthority/_inputs.py +92 -12
- pulumi_gcp/certificateauthority/authority.py +110 -0
- pulumi_gcp/certificateauthority/certificate.py +176 -0
- pulumi_gcp/certificateauthority/outputs.py +144 -12
- pulumi_gcp/composer/__init__.py +1 -0
- pulumi_gcp/composer/user_workloads_secret.py +441 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +121 -58
- pulumi_gcp/compute/global_forwarding_rule.py +0 -282
- pulumi_gcp/compute/outputs.py +120 -57
- pulumi_gcp/compute/region_target_https_proxy.py +257 -0
- pulumi_gcp/compute/region_url_map.py +0 -470
- pulumi_gcp/compute/security_policy_rule.py +850 -0
- pulumi_gcp/dataloss/__init__.py +1 -0
- pulumi_gcp/dataloss/_inputs.py +1040 -0
- pulumi_gcp/dataloss/outputs.py +1123 -0
- pulumi_gcp/dataloss/prevention_discovery_config.py +737 -0
- pulumi_gcp/dns/_inputs.py +2 -2
- pulumi_gcp/dns/outputs.py +2 -2
- pulumi_gcp/dns/record_set.py +2 -2
- pulumi_gcp/filestore/get_instance.py +11 -1
- pulumi_gcp/filestore/instance.py +101 -0
- pulumi_gcp/firebase/_inputs.py +16 -0
- pulumi_gcp/firebase/app_check_play_integrity_config.py +20 -0
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +10 -0
- pulumi_gcp/firebase/hosting_version.py +44 -0
- pulumi_gcp/firebase/outputs.py +12 -0
- pulumi_gcp/logging/folder_sink.py +54 -0
- pulumi_gcp/logging/organization_sink.py +54 -0
- pulumi_gcp/monitoring/_inputs.py +46 -2
- pulumi_gcp/monitoring/outputs.py +40 -2
- pulumi_gcp/monitoring/uptime_check_config.py +6 -0
- pulumi_gcp/networkconnectivity/__init__.py +1 -0
- pulumi_gcp/networkconnectivity/internal_range.py +1024 -0
- pulumi_gcp/secretmanager/get_secret.py +13 -3
- pulumi_gcp/secretmanager/outputs.py +20 -1
- pulumi_gcp/secretmanager/secret.py +90 -3
- pulumi_gcp/storage/__init__.py +1 -0
- pulumi_gcp/storage/get_bucket_objects.py +153 -0
- pulumi_gcp/storage/outputs.py +63 -0
- {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/RECORD +56 -50
- {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/top_level.txt +0 -0
@@ -18,16 +18,21 @@ __all__ = [
|
|
18
18
|
@pulumi.input_type
|
19
19
|
class DataPolicyDataMaskingPolicyArgs:
|
20
20
|
def __init__(__self__, *,
|
21
|
-
predefined_expression: pulumi.Input[str]
|
21
|
+
predefined_expression: Optional[pulumi.Input[str]] = None,
|
22
|
+
routine: Optional[pulumi.Input[str]] = None):
|
22
23
|
"""
|
23
24
|
:param pulumi.Input[str] predefined_expression: The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options.
|
24
25
|
Possible values are: `SHA256`, `ALWAYS_NULL`, `DEFAULT_MASKING_VALUE`, `LAST_FOUR_CHARACTERS`, `FIRST_FOUR_CHARACTERS`, `EMAIL_MASK`, `DATE_YEAR_MASK`.
|
26
|
+
:param pulumi.Input[str] routine: The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
|
25
27
|
"""
|
26
|
-
|
28
|
+
if predefined_expression is not None:
|
29
|
+
pulumi.set(__self__, "predefined_expression", predefined_expression)
|
30
|
+
if routine is not None:
|
31
|
+
pulumi.set(__self__, "routine", routine)
|
27
32
|
|
28
33
|
@property
|
29
34
|
@pulumi.getter(name="predefinedExpression")
|
30
|
-
def predefined_expression(self) -> pulumi.Input[str]:
|
35
|
+
def predefined_expression(self) -> Optional[pulumi.Input[str]]:
|
31
36
|
"""
|
32
37
|
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options.
|
33
38
|
Possible values are: `SHA256`, `ALWAYS_NULL`, `DEFAULT_MASKING_VALUE`, `LAST_FOUR_CHARACTERS`, `FIRST_FOUR_CHARACTERS`, `EMAIL_MASK`, `DATE_YEAR_MASK`.
|
@@ -35,9 +40,21 @@ class DataPolicyDataMaskingPolicyArgs:
|
|
35
40
|
return pulumi.get(self, "predefined_expression")
|
36
41
|
|
37
42
|
@predefined_expression.setter
|
38
|
-
def predefined_expression(self, value: pulumi.Input[str]):
|
43
|
+
def predefined_expression(self, value: Optional[pulumi.Input[str]]):
|
39
44
|
pulumi.set(self, "predefined_expression", value)
|
40
45
|
|
46
|
+
@property
|
47
|
+
@pulumi.getter
|
48
|
+
def routine(self) -> Optional[pulumi.Input[str]]:
|
49
|
+
"""
|
50
|
+
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
|
51
|
+
"""
|
52
|
+
return pulumi.get(self, "routine")
|
53
|
+
|
54
|
+
@routine.setter
|
55
|
+
def routine(self, value: Optional[pulumi.Input[str]]):
|
56
|
+
pulumi.set(self, "routine", value)
|
57
|
+
|
41
58
|
|
42
59
|
@pulumi.input_type
|
43
60
|
class DataPolicyIamBindingConditionArgs:
|
@@ -301,6 +301,45 @@ class DataPolicy(pulumi.CustomResource):
|
|
301
301
|
policy_tag=policy_tag.name,
|
302
302
|
data_policy_type="COLUMN_LEVEL_SECURITY_POLICY")
|
303
303
|
```
|
304
|
+
### Bigquery Datapolicy Data Policy Routine
|
305
|
+
|
306
|
+
```python
|
307
|
+
import pulumi
|
308
|
+
import pulumi_gcp as gcp
|
309
|
+
|
310
|
+
taxonomy = gcp.datacatalog.Taxonomy("taxonomy",
|
311
|
+
region="us-central1",
|
312
|
+
display_name="taxonomy",
|
313
|
+
description="A collection of policy tags",
|
314
|
+
activated_policy_types=["FINE_GRAINED_ACCESS_CONTROL"])
|
315
|
+
policy_tag = gcp.datacatalog.PolicyTag("policy_tag",
|
316
|
+
taxonomy=taxonomy.id,
|
317
|
+
display_name="Low security",
|
318
|
+
description="A policy tag normally associated with low security items")
|
319
|
+
test = gcp.bigquery.Dataset("test",
|
320
|
+
dataset_id="dataset_id",
|
321
|
+
location="us-central1")
|
322
|
+
custom_masking_routine = gcp.bigquery.Routine("custom_masking_routine",
|
323
|
+
dataset_id=test.dataset_id,
|
324
|
+
routine_id="custom_masking_routine",
|
325
|
+
routine_type="SCALAR_FUNCTION",
|
326
|
+
language="SQL",
|
327
|
+
data_governance_type="DATA_MASKING",
|
328
|
+
definition_body="SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')",
|
329
|
+
return_type="{\\"typeKind\\" : \\"STRING\\"}",
|
330
|
+
arguments=[gcp.bigquery.RoutineArgumentArgs(
|
331
|
+
name="ssn",
|
332
|
+
data_type="{\\"typeKind\\" : \\"STRING\\"}",
|
333
|
+
)])
|
334
|
+
data_policy = gcp.bigquerydatapolicy.DataPolicy("data_policy",
|
335
|
+
location="us-central1",
|
336
|
+
data_policy_id="data_policy",
|
337
|
+
policy_tag=policy_tag.name,
|
338
|
+
data_policy_type="DATA_MASKING_POLICY",
|
339
|
+
data_masking_policy=gcp.bigquerydatapolicy.DataPolicyDataMaskingPolicyArgs(
|
340
|
+
routine=custom_masking_routine.id,
|
341
|
+
))
|
342
|
+
```
|
304
343
|
|
305
344
|
## Import
|
306
345
|
|
@@ -379,6 +418,45 @@ class DataPolicy(pulumi.CustomResource):
|
|
379
418
|
policy_tag=policy_tag.name,
|
380
419
|
data_policy_type="COLUMN_LEVEL_SECURITY_POLICY")
|
381
420
|
```
|
421
|
+
### Bigquery Datapolicy Data Policy Routine
|
422
|
+
|
423
|
+
```python
|
424
|
+
import pulumi
|
425
|
+
import pulumi_gcp as gcp
|
426
|
+
|
427
|
+
taxonomy = gcp.datacatalog.Taxonomy("taxonomy",
|
428
|
+
region="us-central1",
|
429
|
+
display_name="taxonomy",
|
430
|
+
description="A collection of policy tags",
|
431
|
+
activated_policy_types=["FINE_GRAINED_ACCESS_CONTROL"])
|
432
|
+
policy_tag = gcp.datacatalog.PolicyTag("policy_tag",
|
433
|
+
taxonomy=taxonomy.id,
|
434
|
+
display_name="Low security",
|
435
|
+
description="A policy tag normally associated with low security items")
|
436
|
+
test = gcp.bigquery.Dataset("test",
|
437
|
+
dataset_id="dataset_id",
|
438
|
+
location="us-central1")
|
439
|
+
custom_masking_routine = gcp.bigquery.Routine("custom_masking_routine",
|
440
|
+
dataset_id=test.dataset_id,
|
441
|
+
routine_id="custom_masking_routine",
|
442
|
+
routine_type="SCALAR_FUNCTION",
|
443
|
+
language="SQL",
|
444
|
+
data_governance_type="DATA_MASKING",
|
445
|
+
definition_body="SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')",
|
446
|
+
return_type="{\\"typeKind\\" : \\"STRING\\"}",
|
447
|
+
arguments=[gcp.bigquery.RoutineArgumentArgs(
|
448
|
+
name="ssn",
|
449
|
+
data_type="{\\"typeKind\\" : \\"STRING\\"}",
|
450
|
+
)])
|
451
|
+
data_policy = gcp.bigquerydatapolicy.DataPolicy("data_policy",
|
452
|
+
location="us-central1",
|
453
|
+
data_policy_id="data_policy",
|
454
|
+
policy_tag=policy_tag.name,
|
455
|
+
data_policy_type="DATA_MASKING_POLICY",
|
456
|
+
data_masking_policy=gcp.bigquerydatapolicy.DataPolicyDataMaskingPolicyArgs(
|
457
|
+
routine=custom_masking_routine.id,
|
458
|
+
))
|
459
|
+
```
|
382
460
|
|
383
461
|
## Import
|
384
462
|
|
@@ -35,22 +35,35 @@ class DataPolicyDataMaskingPolicy(dict):
|
|
35
35
|
return super().get(key, default)
|
36
36
|
|
37
37
|
def __init__(__self__, *,
|
38
|
-
predefined_expression: str
|
38
|
+
predefined_expression: Optional[str] = None,
|
39
|
+
routine: Optional[str] = None):
|
39
40
|
"""
|
40
41
|
:param str predefined_expression: The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options.
|
41
42
|
Possible values are: `SHA256`, `ALWAYS_NULL`, `DEFAULT_MASKING_VALUE`, `LAST_FOUR_CHARACTERS`, `FIRST_FOUR_CHARACTERS`, `EMAIL_MASK`, `DATE_YEAR_MASK`.
|
43
|
+
:param str routine: The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
|
42
44
|
"""
|
43
|
-
|
45
|
+
if predefined_expression is not None:
|
46
|
+
pulumi.set(__self__, "predefined_expression", predefined_expression)
|
47
|
+
if routine is not None:
|
48
|
+
pulumi.set(__self__, "routine", routine)
|
44
49
|
|
45
50
|
@property
|
46
51
|
@pulumi.getter(name="predefinedExpression")
|
47
|
-
def predefined_expression(self) -> str:
|
52
|
+
def predefined_expression(self) -> Optional[str]:
|
48
53
|
"""
|
49
54
|
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options.
|
50
55
|
Possible values are: `SHA256`, `ALWAYS_NULL`, `DEFAULT_MASKING_VALUE`, `LAST_FOUR_CHARACTERS`, `FIRST_FOUR_CHARACTERS`, `EMAIL_MASK`, `DATE_YEAR_MASK`.
|
51
56
|
"""
|
52
57
|
return pulumi.get(self, "predefined_expression")
|
53
58
|
|
59
|
+
@property
|
60
|
+
@pulumi.getter
|
61
|
+
def routine(self) -> Optional[str]:
|
62
|
+
"""
|
63
|
+
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
|
64
|
+
"""
|
65
|
+
return pulumi.get(self, "routine")
|
66
|
+
|
54
67
|
|
55
68
|
@pulumi.output_type
|
56
69
|
class DataPolicyIamBindingCondition(dict):
|
@@ -15,6 +15,7 @@ __all__ = [
|
|
15
15
|
'AuthorityConfigSubjectConfigArgs',
|
16
16
|
'AuthorityConfigSubjectConfigSubjectArgs',
|
17
17
|
'AuthorityConfigSubjectConfigSubjectAltNameArgs',
|
18
|
+
'AuthorityConfigSubjectKeyIdArgs',
|
18
19
|
'AuthorityConfigX509ConfigArgs',
|
19
20
|
'AuthorityConfigX509ConfigAdditionalExtensionArgs',
|
20
21
|
'AuthorityConfigX509ConfigAdditionalExtensionObjectIdArgs',
|
@@ -73,6 +74,7 @@ __all__ = [
|
|
73
74
|
'CertificateConfigSubjectConfigArgs',
|
74
75
|
'CertificateConfigSubjectConfigSubjectArgs',
|
75
76
|
'CertificateConfigSubjectConfigSubjectAltNameArgs',
|
77
|
+
'CertificateConfigSubjectKeyIdArgs',
|
76
78
|
'CertificateConfigX509ConfigArgs',
|
77
79
|
'CertificateConfigX509ConfigAdditionalExtensionArgs',
|
78
80
|
'CertificateConfigX509ConfigAdditionalExtensionObjectIdArgs',
|
@@ -152,18 +154,20 @@ class AuthorityAccessUrlArgs:
|
|
152
154
|
class AuthorityConfigArgs:
|
153
155
|
def __init__(__self__, *,
|
154
156
|
subject_config: pulumi.Input['AuthorityConfigSubjectConfigArgs'],
|
155
|
-
x509_config: pulumi.Input['AuthorityConfigX509ConfigArgs']
|
157
|
+
x509_config: pulumi.Input['AuthorityConfigX509ConfigArgs'],
|
158
|
+
subject_key_id: Optional[pulumi.Input['AuthorityConfigSubjectKeyIdArgs']] = None):
|
156
159
|
"""
|
157
160
|
:param pulumi.Input['AuthorityConfigSubjectConfigArgs'] subject_config: Specifies some of the values in a certificate that are related to the subject.
|
158
161
|
Structure is documented below.
|
159
|
-
|
160
|
-
|
161
|
-
<a name="nested_x509_config"></a>The `x509_config` block supports:
|
162
162
|
:param pulumi.Input['AuthorityConfigX509ConfigArgs'] x509_config: Describes how some of the technical X.509 fields in a certificate should be populated.
|
163
163
|
Structure is documented below.
|
164
|
+
:param pulumi.Input['AuthorityConfigSubjectKeyIdArgs'] subject_key_id: When specified this provides a custom SKI to be used in the certificate. This should only be used to maintain a SKI of an existing CA originally created outside CA service, which was not generated using method (1) described in RFC 5280 section 4.2.1.2..
|
165
|
+
Structure is documented below.
|
164
166
|
"""
|
165
167
|
pulumi.set(__self__, "subject_config", subject_config)
|
166
168
|
pulumi.set(__self__, "x509_config", x509_config)
|
169
|
+
if subject_key_id is not None:
|
170
|
+
pulumi.set(__self__, "subject_key_id", subject_key_id)
|
167
171
|
|
168
172
|
@property
|
169
173
|
@pulumi.getter(name="subjectConfig")
|
@@ -171,9 +175,6 @@ class AuthorityConfigArgs:
|
|
171
175
|
"""
|
172
176
|
Specifies some of the values in a certificate that are related to the subject.
|
173
177
|
Structure is documented below.
|
174
|
-
|
175
|
-
|
176
|
-
<a name="nested_x509_config"></a>The `x509_config` block supports:
|
177
178
|
"""
|
178
179
|
return pulumi.get(self, "subject_config")
|
179
180
|
|
@@ -194,6 +195,19 @@ class AuthorityConfigArgs:
|
|
194
195
|
def x509_config(self, value: pulumi.Input['AuthorityConfigX509ConfigArgs']):
|
195
196
|
pulumi.set(self, "x509_config", value)
|
196
197
|
|
198
|
+
@property
|
199
|
+
@pulumi.getter(name="subjectKeyId")
|
200
|
+
def subject_key_id(self) -> Optional[pulumi.Input['AuthorityConfigSubjectKeyIdArgs']]:
|
201
|
+
"""
|
202
|
+
When specified this provides a custom SKI to be used in the certificate. This should only be used to maintain a SKI of an existing CA originally created outside CA service, which was not generated using method (1) described in RFC 5280 section 4.2.1.2..
|
203
|
+
Structure is documented below.
|
204
|
+
"""
|
205
|
+
return pulumi.get(self, "subject_key_id")
|
206
|
+
|
207
|
+
@subject_key_id.setter
|
208
|
+
def subject_key_id(self, value: Optional[pulumi.Input['AuthorityConfigSubjectKeyIdArgs']]):
|
209
|
+
pulumi.set(self, "subject_key_id", value)
|
210
|
+
|
197
211
|
|
198
212
|
@pulumi.input_type
|
199
213
|
class AuthorityConfigSubjectConfigArgs:
|
@@ -441,6 +455,33 @@ class AuthorityConfigSubjectConfigSubjectAltNameArgs:
|
|
441
455
|
pulumi.set(self, "uris", value)
|
442
456
|
|
443
457
|
|
458
|
+
@pulumi.input_type
|
459
|
+
class AuthorityConfigSubjectKeyIdArgs:
|
460
|
+
def __init__(__self__, *,
|
461
|
+
key_id: Optional[pulumi.Input[str]] = None):
|
462
|
+
"""
|
463
|
+
:param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexidecimal.
|
464
|
+
|
465
|
+
<a name="nested_x509_config"></a>The `x509_config` block supports:
|
466
|
+
"""
|
467
|
+
if key_id is not None:
|
468
|
+
pulumi.set(__self__, "key_id", key_id)
|
469
|
+
|
470
|
+
@property
|
471
|
+
@pulumi.getter(name="keyId")
|
472
|
+
def key_id(self) -> Optional[pulumi.Input[str]]:
|
473
|
+
"""
|
474
|
+
The value of the KeyId in lowercase hexidecimal.
|
475
|
+
|
476
|
+
<a name="nested_x509_config"></a>The `x509_config` block supports:
|
477
|
+
"""
|
478
|
+
return pulumi.get(self, "key_id")
|
479
|
+
|
480
|
+
@key_id.setter
|
481
|
+
def key_id(self, value: Optional[pulumi.Input[str]]):
|
482
|
+
pulumi.set(self, "key_id", value)
|
483
|
+
|
484
|
+
|
444
485
|
@pulumi.input_type
|
445
486
|
class AuthorityConfigX509ConfigArgs:
|
446
487
|
def __init__(__self__, *,
|
@@ -3449,8 +3490,7 @@ class CertificateCertificateDescriptionSubjectKeyIdArgs:
|
|
3449
3490
|
def __init__(__self__, *,
|
3450
3491
|
key_id: Optional[pulumi.Input[str]] = None):
|
3451
3492
|
"""
|
3452
|
-
:param pulumi.Input[str] key_id:
|
3453
|
-
Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most likely the 160 bit SHA-1 hash of the public key.
|
3493
|
+
:param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexidecimal.
|
3454
3494
|
"""
|
3455
3495
|
if key_id is not None:
|
3456
3496
|
pulumi.set(__self__, "key_id", key_id)
|
@@ -3459,8 +3499,7 @@ class CertificateCertificateDescriptionSubjectKeyIdArgs:
|
|
3459
3499
|
@pulumi.getter(name="keyId")
|
3460
3500
|
def key_id(self) -> Optional[pulumi.Input[str]]:
|
3461
3501
|
"""
|
3462
|
-
|
3463
|
-
Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most likely the 160 bit SHA-1 hash of the public key.
|
3502
|
+
The value of the KeyId in lowercase hexidecimal.
|
3464
3503
|
"""
|
3465
3504
|
return pulumi.get(self, "key_id")
|
3466
3505
|
|
@@ -4284,7 +4323,8 @@ class CertificateConfigArgs:
|
|
4284
4323
|
def __init__(__self__, *,
|
4285
4324
|
public_key: pulumi.Input['CertificateConfigPublicKeyArgs'],
|
4286
4325
|
subject_config: pulumi.Input['CertificateConfigSubjectConfigArgs'],
|
4287
|
-
x509_config: pulumi.Input['CertificateConfigX509ConfigArgs']
|
4326
|
+
x509_config: pulumi.Input['CertificateConfigX509ConfigArgs'],
|
4327
|
+
subject_key_id: Optional[pulumi.Input['CertificateConfigSubjectKeyIdArgs']] = None):
|
4288
4328
|
"""
|
4289
4329
|
:param pulumi.Input['CertificateConfigPublicKeyArgs'] public_key: A PublicKey describes a public key.
|
4290
4330
|
Structure is documented below.
|
@@ -4295,10 +4335,14 @@ class CertificateConfigArgs:
|
|
4295
4335
|
Structure is documented below.
|
4296
4336
|
:param pulumi.Input['CertificateConfigX509ConfigArgs'] x509_config: Describes how some of the technical X.509 fields in a certificate should be populated.
|
4297
4337
|
Structure is documented below.
|
4338
|
+
:param pulumi.Input['CertificateConfigSubjectKeyIdArgs'] subject_key_id: When specified this provides a custom SKI to be used in the certificate. This should only be used to maintain a SKI of an existing CA originally created outside CA service, which was not generated using method (1) described in RFC 5280 section 4.2.1.2..
|
4339
|
+
Structure is documented below.
|
4298
4340
|
"""
|
4299
4341
|
pulumi.set(__self__, "public_key", public_key)
|
4300
4342
|
pulumi.set(__self__, "subject_config", subject_config)
|
4301
4343
|
pulumi.set(__self__, "x509_config", x509_config)
|
4344
|
+
if subject_key_id is not None:
|
4345
|
+
pulumi.set(__self__, "subject_key_id", subject_key_id)
|
4302
4346
|
|
4303
4347
|
@property
|
4304
4348
|
@pulumi.getter(name="publicKey")
|
@@ -4342,6 +4386,19 @@ class CertificateConfigArgs:
|
|
4342
4386
|
def x509_config(self, value: pulumi.Input['CertificateConfigX509ConfigArgs']):
|
4343
4387
|
pulumi.set(self, "x509_config", value)
|
4344
4388
|
|
4389
|
+
@property
|
4390
|
+
@pulumi.getter(name="subjectKeyId")
|
4391
|
+
def subject_key_id(self) -> Optional[pulumi.Input['CertificateConfigSubjectKeyIdArgs']]:
|
4392
|
+
"""
|
4393
|
+
When specified this provides a custom SKI to be used in the certificate. This should only be used to maintain a SKI of an existing CA originally created outside CA service, which was not generated using method (1) described in RFC 5280 section 4.2.1.2..
|
4394
|
+
Structure is documented below.
|
4395
|
+
"""
|
4396
|
+
return pulumi.get(self, "subject_key_id")
|
4397
|
+
|
4398
|
+
@subject_key_id.setter
|
4399
|
+
def subject_key_id(self, value: Optional[pulumi.Input['CertificateConfigSubjectKeyIdArgs']]):
|
4400
|
+
pulumi.set(self, "subject_key_id", value)
|
4401
|
+
|
4345
4402
|
|
4346
4403
|
@pulumi.input_type
|
4347
4404
|
class CertificateConfigPublicKeyArgs:
|
@@ -4629,6 +4686,29 @@ class CertificateConfigSubjectConfigSubjectAltNameArgs:
|
|
4629
4686
|
pulumi.set(self, "uris", value)
|
4630
4687
|
|
4631
4688
|
|
4689
|
+
@pulumi.input_type
|
4690
|
+
class CertificateConfigSubjectKeyIdArgs:
|
4691
|
+
def __init__(__self__, *,
|
4692
|
+
key_id: Optional[pulumi.Input[str]] = None):
|
4693
|
+
"""
|
4694
|
+
:param pulumi.Input[str] key_id: The value of the KeyId in lowercase hexidecimal.
|
4695
|
+
"""
|
4696
|
+
if key_id is not None:
|
4697
|
+
pulumi.set(__self__, "key_id", key_id)
|
4698
|
+
|
4699
|
+
@property
|
4700
|
+
@pulumi.getter(name="keyId")
|
4701
|
+
def key_id(self) -> Optional[pulumi.Input[str]]:
|
4702
|
+
"""
|
4703
|
+
The value of the KeyId in lowercase hexidecimal.
|
4704
|
+
"""
|
4705
|
+
return pulumi.get(self, "key_id")
|
4706
|
+
|
4707
|
+
@key_id.setter
|
4708
|
+
def key_id(self, value: Optional[pulumi.Input[str]]):
|
4709
|
+
pulumi.set(self, "key_id", value)
|
4710
|
+
|
4711
|
+
|
4632
4712
|
@pulumi.input_type
|
4633
4713
|
class CertificateConfigX509ConfigArgs:
|
4634
4714
|
def __init__(__self__, *,
|
@@ -975,6 +975,61 @@ class Authority(pulumi.CustomResource):
|
|
975
975
|
),
|
976
976
|
))
|
977
977
|
```
|
978
|
+
### Privateca Certificate Authority Custom Ski
|
979
|
+
|
980
|
+
```python
|
981
|
+
import pulumi
|
982
|
+
import pulumi_gcp as gcp
|
983
|
+
|
984
|
+
default = gcp.certificateauthority.Authority("default",
|
985
|
+
pool="ca-pool",
|
986
|
+
certificate_authority_id="my-certificate-authority",
|
987
|
+
location="us-central1",
|
988
|
+
deletion_protection=True,
|
989
|
+
config=gcp.certificateauthority.AuthorityConfigArgs(
|
990
|
+
subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
|
991
|
+
subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
|
992
|
+
organization="HashiCorp",
|
993
|
+
common_name="my-certificate-authority",
|
994
|
+
),
|
995
|
+
subject_alt_name=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectAltNameArgs(
|
996
|
+
dns_names=["hashicorp.com"],
|
997
|
+
),
|
998
|
+
),
|
999
|
+
subject_key_id=gcp.certificateauthority.AuthorityConfigSubjectKeyIdArgs(
|
1000
|
+
key_id="4cf3372289b1d411b999dbb9ebcd44744b6b2fca",
|
1001
|
+
),
|
1002
|
+
x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
|
1003
|
+
ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
|
1004
|
+
is_ca=True,
|
1005
|
+
max_issuer_path_length=10,
|
1006
|
+
),
|
1007
|
+
key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
|
1008
|
+
base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
|
1009
|
+
digital_signature=True,
|
1010
|
+
content_commitment=True,
|
1011
|
+
key_encipherment=False,
|
1012
|
+
data_encipherment=True,
|
1013
|
+
key_agreement=True,
|
1014
|
+
cert_sign=True,
|
1015
|
+
crl_sign=True,
|
1016
|
+
decipher_only=True,
|
1017
|
+
),
|
1018
|
+
extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
|
1019
|
+
server_auth=True,
|
1020
|
+
client_auth=False,
|
1021
|
+
email_protection=True,
|
1022
|
+
code_signing=True,
|
1023
|
+
time_stamping=True,
|
1024
|
+
),
|
1025
|
+
),
|
1026
|
+
),
|
1027
|
+
),
|
1028
|
+
lifetime="86400s",
|
1029
|
+
key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
|
1030
|
+
cloud_kms_key_version="projects/keys-project/locations/us-central1/keyRings/key-ring/cryptoKeys/crypto-key/cryptoKeyVersions/1",
|
1031
|
+
))
|
1032
|
+
```
|
978
1033
|
|
979
1034
|
## Import
|
980
1035
|
|
@@ -1257,6 +1312,61 @@ class Authority(pulumi.CustomResource):
|
|
1257
1312
|
),
|
1258
1313
|
))
|
1259
1314
|
```
|
1315
|
+
### Privateca Certificate Authority Custom Ski
|
1316
|
+
|
1317
|
+
```python
|
1318
|
+
import pulumi
|
1319
|
+
import pulumi_gcp as gcp
|
1320
|
+
|
1321
|
+
default = gcp.certificateauthority.Authority("default",
|
1322
|
+
pool="ca-pool",
|
1323
|
+
certificate_authority_id="my-certificate-authority",
|
1324
|
+
location="us-central1",
|
1325
|
+
deletion_protection=True,
|
1326
|
+
config=gcp.certificateauthority.AuthorityConfigArgs(
|
1327
|
+
subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
|
1328
|
+
subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
|
1329
|
+
organization="HashiCorp",
|
1330
|
+
common_name="my-certificate-authority",
|
1331
|
+
),
|
1332
|
+
subject_alt_name=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectAltNameArgs(
|
1333
|
+
dns_names=["hashicorp.com"],
|
1334
|
+
),
|
1335
|
+
),
|
1336
|
+
subject_key_id=gcp.certificateauthority.AuthorityConfigSubjectKeyIdArgs(
|
1337
|
+
key_id="4cf3372289b1d411b999dbb9ebcd44744b6b2fca",
|
1338
|
+
),
|
1339
|
+
x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
|
1340
|
+
ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
|
1341
|
+
is_ca=True,
|
1342
|
+
max_issuer_path_length=10,
|
1343
|
+
),
|
1344
|
+
key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
|
1345
|
+
base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
|
1346
|
+
digital_signature=True,
|
1347
|
+
content_commitment=True,
|
1348
|
+
key_encipherment=False,
|
1349
|
+
data_encipherment=True,
|
1350
|
+
key_agreement=True,
|
1351
|
+
cert_sign=True,
|
1352
|
+
crl_sign=True,
|
1353
|
+
decipher_only=True,
|
1354
|
+
),
|
1355
|
+
extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
|
1356
|
+
server_auth=True,
|
1357
|
+
client_auth=False,
|
1358
|
+
email_protection=True,
|
1359
|
+
code_signing=True,
|
1360
|
+
time_stamping=True,
|
1361
|
+
),
|
1362
|
+
),
|
1363
|
+
),
|
1364
|
+
),
|
1365
|
+
lifetime="86400s",
|
1366
|
+
key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
|
1367
|
+
cloud_kms_key_version="projects/keys-project/locations/us-central1/keyRings/key-ring/cryptoKeys/crypto-key/cryptoKeyVersions/1",
|
1368
|
+
))
|
1369
|
+
```
|
1260
1370
|
|
1261
1371
|
## Import
|
1262
1372
|
|