File tree Expand file tree Collapse file tree 2 files changed +37
-1
lines changed
templates/terraform/examples Expand file tree Collapse file tree 2 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -58,6 +58,11 @@ examples:
5858 primary_resource_id : ' default'
5959 vars :
6060 name : ' my-pool'
61+ pool_location : ' asia-east1'
62+ cloud_kms_key : ' projects/keys-project/locations/asia-east1/keyRings/key-ring/cryptoKeys/crypto-key'
63+ test_vars_overrides :
64+ ' pool_location ' : ' "asia-east1"'
65+ ' cloud_kms_key ' : ' acctest.BootstrapKMSKeyWithPurposeInLocation(t, "ENCRYPT_DECRYPT", "asia-east1").CryptoKey.Name'
6166 - name : ' privateca_quickstart'
6267 primary_resource_id : ' default'
6368 vars :
@@ -507,3 +512,17 @@ properties:
507512
508513 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass":
509514 "1.3kg", "count": "3" }.
515+ - name : ' encryptionSpec'
516+ type : NestedObject
517+ description : |
518+ Used when customer would like to encrypt data at rest. The customer-provided key will be used
519+ to encrypt the Subject, SubjectAltNames and PEM-encoded certificate fields. When unspecified,
520+ customer data will remain unencrypted.
521+ immutable : true
522+ properties :
523+ - name : ' cloudKmsKey'
524+ type : String
525+ description : |
526+ The resource name for an existing Cloud KMS key in the format
527+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
528+ immutable : true
Original file line number Diff line number Diff line change 1+ resource "google_project_service_identity" "privateca_sa" {
2+ service = "privateca.googleapis.com"
3+ }
4+
5+ resource "google_kms_crypto_key_iam_member" "privateca_sa_keyuser_encrypterdecrypter" {
6+ crypto_key_id = "{{index $.Vars "cloud_kms_key"}}"
7+ role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
8+ member = google_project_service_identity.privateca_sa.member
9+ }
10+
111resource "google_privateca_ca_pool" "{{$.PrimaryResourceId}}" {
212 name = "{{index $.Vars "name"}}"
3- location = "us-central1 "
13+ location = "{{index $.Vars "pool_location"}} "
414 tier = "ENTERPRISE"
515 publishing_options {
616 publish_ca_cert = false
@@ -10,6 +20,9 @@ resource "google_privateca_ca_pool" "{{$.PrimaryResourceId}}" {
1020 labels = {
1121 foo = "bar"
1222 }
23+ encryption_spec {
24+ cloud_kms_key = "{{index $.Vars "cloud_kms_key"}}"
25+ }
1326 issuance_policy {
1427 allowed_key_types {
1528 elliptic_curve {
@@ -87,4 +100,8 @@ resource "google_privateca_ca_pool" "{{$.PrimaryResourceId}}" {
87100 }
88101 }
89102 }
103+
104+ depends_on = [
105+ google_kms_crypto_key_iam_member.privateca_sa_keyuser_encrypterdecrypter,
106+ ]
90107}
You can’t perform that action at this time.
0 commit comments