Definitions for @turbot/gcp-kms
- cryptoKey
- cryptoKeyAka
- cryptoKeyName
- cryptoKeyServiceNow
- keyRing
- keyRingAka
- keyRingName
- keyRingServiceNow
- kms
- kmsAka
- kmsName
- kmsSupportedRegions
- regionName
cryptoKey
{ "type": "object", "properties": { "name": { "$ref": "#/definitions/cryptoKeyName" }, "primary": { "type": "object" }, "purpose": { "type": "string" }, "createTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "nextRotationTime": { "type": "string" }, "rotationPeriod": { "type": "string" }, "versionTemplate": { "type": "object" }, "labels": { "type": "object" }, "iamPolicy": { "$ref": "gcp-iam#/definitions/projectIamPolicy" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/cryptoKeyAka" } }, "title": { "$ref": "#/definitions/cryptoKeyName" }, "custom": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "gcp": { "$ref": "gcp#/definitions/gcpMetadata" } } } } } }, "required": [ "name" ], "additionalProperties": true, "tests": [ { "description": "valid Input - all details provided", "input": { "name": "projects/cse-legolas-2/locations/asia-south1/keyRings/test-key/cryptoKeys/test", "turbot": { "akas": [ "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/test/cryptoKeys/test" ], "title": "projects/cse-legolas-2/locations/asia-south1/keyRings/test-key/cryptoKeys/test", "custom": { "createTimestamp": "2019-02-13T16:06:19.156Z", "gcp": { "projectId": "cse-legolas-2", "regionName": "us-east1" } } } } }, { "description": "invalid case - name is missing", "input": { "turbot": { "akas": [ "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/test/cryptoKeys/test" ], "title": "projects/cse-legolas-2/locations/asia-south1/keyRings/test-key/cryptoKeys/test", "custom": { "createTimestamp": "2019-02-13T16:06:19.156Z", "gcp": { "projectId": "cse-legolas-2", "regionName": "us-east1" } } } }, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/cryptoKey", "modUri": "tmod:@turbot/gcp-kms" }}
cryptoKeyAka
{ "type": "string", "pattern": "^gcp://cloudkms.googleapis.com/projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/locations/[a-z0-9-._]{3,63}/keyRings/[a-zA-Z0-9_-]{1,63}/cryptoKeys/[a-zA-Z0-9-_]{1,63}$", "tests": [ { "descritpion": "base case", "input": "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/test/cryptoKeys/test" }, { "descritpion": "invalid - invalid cryptoKey name", "input": "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/test/cryptoKeys/@test", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/cryptoKeyAka", "modUri": "tmod:@turbot/gcp-kms" }}
cryptoKeyName
{ "type": "string", ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/cryptoKeyName", "modUri": "tmod:@turbot/gcp-kms" }}
cryptoKeyServiceNow
{ "defaultColumns": { "create_time": { "column": "enabled", "label": "Create Time" }, "cryptokey_name": { "column": "enabled", "label": "CryptoKey Name", "path": "data.primary.name" }, "destroy_scheduled_duration": { "column": "enabled", "label": "Destroy Scheduled Duration", "path": "data.destroyScheduledDuration" }, "iam_policy": { "column": "enabled", "label": "IAM Policy", "type": "string", "size": 1000 }, "key_ring_name": { "column": "enabled", "label": "Name", "path": "data.name" }, "labels": { "column": "enabled", "label": "Labels", "type": "string", "size": 1000, "path": "data.labels" }, "next_rotation_time": { "column": "enabled", "label": "Next Rotation Time", "path": "data.nextRotationTime" }, "primary": { "column": "enabled", "label": "Primary", "type": "string", "size": 1000, "path": "data.primary" }, "project": { "column": "enabled", "label": "Project", "path": "metadata.gcp.projectId" }, "purpose": { "column": "enabled", "label": "Purpose" }, "region_name": { "column": "enabled", "label": "Region Name", "path": "metadata.gcp.regionName" }, "rotation_period": { "column": "enabled", "label": "Rotation Period" }, "version_template": { "column": "enabled", "label": "Version Template", "type": "string", "size": 1000, "path": "data.versionTemplate" } }, ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/cryptoKeyServiceNow", "modUri": "tmod:@turbot/gcp-kms" }}
keyRing
{ "type": "object", "properties": { "name": { "type": "string" }, "createTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "iamPolicy": { "$ref": "gcp-iam#/definitions/projectIamPolicy" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/keyRingAka" } }, "title": { "$ref": "#/definitions/keyRingName" }, "custom": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "gcp": { "$ref": "gcp#/definitions/gcpMetadata" } } } } } }, "required": [ "name" ], "additionalProperties": true, "tests": [ { "description": "valid Input - all details provided", "input": { "name": "projects/cse-legolas-2/locations/asia-south1/keyRings/test-key", "title": "projects/cse-legolas-2/locations/asia-south1/keyRings/test-key", "turbot": { "akas": [ "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/test" ], "title": "projects/cse-legolas-2/locations/asia-south1/keyRings/test-key", "custom": { "createTimestamp": "2019-02-13T16:06:19.156Z", "gcp": { "projectId": "cse-legolas-2", "regionName": "us-east1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/keyRing", "modUri": "tmod:@turbot/gcp-kms" }}
keyRingAka
{ "type": "string", "pattern": "^gcp://cloudkms.googleapis.com/projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/locations/[a-z0-9-._]{3,63}/keyRings/[a-zA-Z0-9_-]{1,63}$", "tests": [ { "descritpion": "base case", "input": "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/test" }, { "descritpion": "invalid - invalid bucket name", "input": "gcp://cloudkms.googleapis.com/projects/cse-legolas-2/locations/eur4/keyRings/@test", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/keyRingAka", "modUri": "tmod:@turbot/gcp-kms" }}
keyRingName
{ "type": "string", ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/keyRingName", "modUri": "tmod:@turbot/gcp-kms" }}
keyRingServiceNow
{ "defaultColumns": { "create_time": { "column": "enabled", "label": "Create Time" }, "iam_policy": { "column": "enabled", "label": "IAM Policy", "type": "string", "size": 1000, "path": "data.iamPolicy" }, "keyring_name": { "column": "enabled", "label": "Name", "path": "data.name" }, "project": { "column": "enabled", "label": "Project", "path": "metadata.gcp.projectId" }, "region_name": { "column": "enabled", "label": "Region Name", "path": "metadata.gcp.regionName" } }, ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/keyRingServiceNow", "modUri": "tmod:@turbot/gcp-kms" }}
kms
{ "type": "object", "properties": { "name": { "$ref": "#/definitions/kmsName" }, "state": { "$ref": "gcp#/definitions/state" }, "config": { "type": "object" }, "parent": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/kmsAka" } }, "title": { "type": "string" }, "custom": { "type": "object", "properties": { "gcp": { "$ref": "gcp#/definitions/gcpMetadata" } } } } } }, "required": [ "name" ], "tests": [ { "description": "Valid - base test", "input": { "name": "projects/932405488407/services/cloudkms.googleapis.com", "turbot": { "akas": [ "gcp://serviceusage.googleapis.com/projects/932405488407/services/cloudkms.googleapis.com" ], "title": "Cloud Functions API", "custom": { "gcp": { "projectId": "cse-legolas-2" } } } } } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/kms", "modUri": "tmod:@turbot/gcp-kms" }}
kmsAka
{ "type": "string", "pattern": "^gcp://serviceusage.googleapis.com/projects/[0-9]{12}/services/cloudkms.googleapis.com", "tests": [ { "description": "base", "input": "gcp://serviceusage.googleapis.com/projects/932405488407/services/cloudkms.googleapis.com" }, { "description": "invalid aka", "input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/cloudkms.googleapis.com", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/kmsAka", "modUri": "tmod:@turbot/gcp-kms" }}
kmsName
{ "type": "string", "pattern": "^projects/[0-9]{1,12}/services/cloudkms.googleapis.com$", "tests": [ { "description": "base", "input": "projects/932405488407/services/cloudkms.googleapis.com" }, { "description": "invalid aka", "input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/cloudkms.googleapis.com", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/kmsName", "modUri": "tmod:@turbot/gcp-kms" }}
kmsSupportedRegions
{ "type": "array", "items": { "$ref": "#/definitions/regionName" }, "minItems": 1, "example": [ [ "us-central1", "us-east1" ] ], "default": [ "asia-east1", "asia-east2", "asia-northeast1", "asia-south1", "asia-southeast1", "australia-southeast1", "europe-north1", "europe-west1", "europe-west2", "europe-west3", "europe-west4", "europe-west6", "northamerica-northeast1", "us-central1", "us-east1", "us-east4", "us-west1", "us-west2", "southamerica-east1", "eur4", "nam4", "asia", "europe", "us" ], "tests": [ { "description": "one region", "input": [ "us-east1" ] }, { "description": "all supported regions", "input": [ "asia-east1", "asia-east2", "asia-northeast1", "asia-south1", "asia-southeast1", "australia-southeast1", "europe-north1", "europe-west1", "europe-west2", "europe-west3", "europe-west4", "europe-west6", "northamerica-northeast1", "us-central1", "us-east1", "us-east4", "us-west1", "us-west2", "southamerica-east1", "eur4", "nam4", "asia", "europe", "us" ] }, { "description": "invalid - no regions", "input": [], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/kmsSupportedRegions", "modUri": "tmod:@turbot/gcp-kms" }}
regionName
{ "type": "string", "enum": [ "asia", "asia-east1", "asia-east2", "asia-northeast1", "asia-northeast2", "asia-south1", "asia-southeast1", "australia-southeast1", "eur4", "europe", "europe-north1", "europe-west1", "europe-west2", "europe-west3", "europe-west4", "europe-west6", "nam4", "northamerica-northeast1", "southamerica-east1", "us", "us-central1", "us-east1", "us-east4", "us-west1", "us-west2" ], "tests": [ { "description": "valid", "input": "us-east1" }, { "description": "invalid - usea1", "input": "usea1", "expected": false }, { "description": "invalid - au-north-1", "input": "au-north-1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-kms#/definitions/regionName", "modUri": "tmod:@turbot/gcp-kms" }}