Definitions for @turbot/gcp-spanner
- backupInfo
- database
- databaseAka
- databaseDialect
- databaseEncryptionConfig
- databaseEncryptionInfo
- databaseName
- databaseRestoreInfo
- databaseServiceNow
- databaseState
- databaseTitle
- dbEncryptionType
- encryptionInfoItems
- instance
- instanceAka
- instanceId
- instanceName
- instanceServiceNow
- instanceStatus
- regionName
- spanner
- spannerAka
- spannerName
- spannerSupportedRegions
- srcType
backupInfo
{ "type": "object", "properties": { "backup": { "type": "string" }, "versionTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "createTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "sourceDatabase": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/backupInfo", "modUri": "tmod:@turbot/gcp-spanner" }}
database
{ "type": "object", "properties": { "name": { "$ref": "#/definitions/databaseName" }, "state": { "$ref": "#/definitions/databaseState" }, "createTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "versionRetentionPeriod": { "type": "string" }, "earliestVersionTime": { "type": "string" }, "defaultLeader": { "type": "string" }, "databaseDialect": { "$ref": "#/definitions/databaseDialect" }, "restoreInfo": { "$ref": "#/definitions/databaseRestoreInfo" }, "encryptionConfig": { "$ref": "#/definitions/databaseEncryptionConfig" }, "encryptionInfo": { "$ref": "#/definitions/databaseEncryptionInfo" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/databaseAka" } }, "title": { "$ref": "#/definitions/databaseTitle" }, "custom": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "gcp": { "$ref": "gcp#/definitions/gcpMetadata" } } } } } }, "additionalProperties": true, "tests": [ { "description": "All details provided", "input": { "name": "projects/parker-aaa/instances/test121/databases/testspannerdatabase", "state": "READY", "createTime": "2023-01-11T13:58:05.590Z", "versionRetentionPeriod": "1h", "earliestVersionTime": "2023-01-11T13:58:05.590Z", "encryptionInfo": [ { "encryptionType": "GOOGLE_DEFAULT_ENCRYPTION" } ], "databaseDialect": "GOOGLE_STANDARD_SQL", "turbot": { "custom": { "gcp": { "projectId": "parker-aaa" } }, "title": "testspannerdatabase" } } }, { "description": "invalid case - title cannot start with number", "input": { "name": "projects/parker-aaa/instances/test121/databases/testspannerdatabase", "state": "READY", "createTime": "2023-01-11T13:58:05.590Z", "versionRetentionPeriod": "1h", "earliestVersionTime": "2023-01-11T13:58:05.590Z", "encryptionInfo": [ { "encryptionType": "GOOGLE_DEFAULT_ENCRYPTION" } ], "databaseDialect": "GOOGLE_STANDARD_SQL", "turbot": { "custom": { "gcp": { "projectId": "parker-aaa" } }, "title": "1testspannerdatabase" } }, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/database", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseAka
{ "type": "string", "pattern": "^gcp://spanner.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[-a-z0-9]{1,63}[a-z0-9]/databases/[a-z][-_a-z0-9]{1,29}$", "tests": [ { "descritpion": "base case", "input": "gcp://spanner.googleapis.com/projects/cse-legolas-2/instances/test-topic/databases/testdb12" }, { "description": "invalid - invalid Aka", "input": "gcp://spanner.googleapis.com/projects/cse-legolas-2/project/instances/test-topic/databases/testdb12", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseAka", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseDialect
{ "type": "string", "enum": [ "DATABASE_DIALECT_UNSPECIFIED", "GOOGLE_STANDARD_SQL", "POSTGRESQL" ], "tests": [ { "input": "POSTGRESQL" }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseDialect", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseEncryptionConfig
{ "type": "object", "properties": { "kmsKeyName": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseEncryptionConfig", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseEncryptionInfo
{ "type": "array", "items": { "$ref": "#/definitions/encryptionInfoItems" }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseEncryptionInfo", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseName
{ "type": "string", "pattern": "^projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[a-z][-a-z0-9]{5,29}/databases/[a-z][-_a-z0-9]{1,29}$", "tests": [ { "input": "projects/cse-legolas/instances/test01/databases/testdb" }, { "description": "invalid - project name not project", "input": "projects//instances/test01/databases/testdb", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseName", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseRestoreInfo
{ "type": "object", "properties": { "sourceType": { "$ref": "#/definitions/srcType" }, "backupInfo": { "$ref": "#/definitions/backupInfo" } }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseRestoreInfo", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseServiceNow
{ "defaultColumns": { "create_time": { "column": "enabled", "type": "string" }, "database_dialect": { "column": "enabled" }, "database_name": { "column": "enabled", "label": "Name", "path": "data.name", "type": "string" }, "enable_drop_protection": { "column": "enabled", "type": "boolean" }, "encryption_config": { "column": "enabled", "size": 1000, "type": "string" }, "encryption_info": { "column": "enabled", "size": 1000, "type": "string" }, "iam_policy": { "column": "enabled", "label": "IAM Policy", "size": 1000, "type": "string" }, "project": { "column": "enabled", "path": "metadata.gcp.projectId", "type": "string" }, "restore_info": { "column": "enabled", "size": 1000, "type": "string" }, "region": { "column": "enabled", "path": "metadata.gcp.regionName" }, "state": { "column": "enabled" }, "version_retention_period": { "column": "enabled" } }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseServiceNow", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseState
{ "type": "string", "enum": [ "STATE_UNSPECIFIED", "CREATING", "READY", "READY_OPTIMIZING" ], "tests": [ { "input": "READY" }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseState", "modUri": "tmod:@turbot/gcp-spanner" }}
databaseTitle
{ "type": "string", "pattern": "^[a-z][-_a-z0-9]{1,29}$", "tests": [ { "input": "testdb" } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/databaseTitle", "modUri": "tmod:@turbot/gcp-spanner" }}
dbEncryptionType
{ "type": "string", "enum": [ "CUSTOMER_MANAGED_ENCRYPTION", "GOOGLE_DEFAULT_ENCRYPTION", "TYPE_UNSPECIFIED" ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/dbEncryptionType", "modUri": "tmod:@turbot/gcp-spanner" }}
encryptionInfoItems
{ "type": "object", "properties": { "encryptionType": { "$ref": "#/definitions/dbEncryptionType" }, "encryptionStatus": { "type": "object" }, "kmsKeyVersion": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/encryptionInfoItems", "modUri": "tmod:@turbot/gcp-spanner" }}
instance
{ "type": "object", "properties": { "id": { "$ref": "#/definitions/instanceId" }, "name": { "$ref": "#/definitions/instanceName" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "iamPolicy": { "$ref": "gcp-iam#/definitions/projectIamPolicy" }, "labels": { "$ref": "gcp#/definitions/labels" }, "state": { "$ref": "#/definitions/instanceStatus" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/instanceAka" } }, "tags": { "$ref": "gcp#/definitions/labels" }, "title": { "$ref": "#/definitions/instanceId" }, "custom": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "gcp": { "$ref": "gcp#/definitions/gcpMetadata" } } } } } }, "required": [ "id", "turbot" ], "tests": [ { "description": "All details provided", "input": { "id": "testfunction01", "name": "projects/cse-legolas/instances/test01", "turbot": { "custom": { "gcp": { "projectId": "cse-legolas-2" } }, "tags": { "foo": "bar", "foo1": "bar1" }, "title": "testfunction01" } } }, { "description": "invalid case - id data is missing", "input": { "name": "projects/cse-legolas/instances/test01", "turbot": { "custom": { "gcp": { "projectId": "cse-legolas-2" } }, "tags": { "foo": "bar", "foo1": "bar1" }, "title": "testfunction01" } }, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/instance", "modUri": "tmod:@turbot/gcp-spanner" }}
instanceAka
{ "type": "string", "pattern": "^gcp://spanner.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[-a-z0-9]{1,63}[a-z0-9]$", "tests": [ { "descritpion": "base case", "input": "gcp://spanner.googleapis.com/projects/cse-legolas-2/instances/test-topic" }, { "description": "invalid - invalid Aka", "input": "gcp://spanner.googleapis.com/projects/cse-legolas-2/project/instances/test-topic", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/instanceAka", "modUri": "tmod:@turbot/gcp-spanner" }}
instanceId
{ "type": "string", "pattern": "^[a-z][-a-z0-9]{5,29}$", "tests": [ { "description": "valid case", "input": "testfunction01" }, { "description": "invalid case - using underscore character", "input": "test_function-01", "expected": false }, { "description": "invalid case - using special characters other than hypens", "input": "test-function_02$", "expected": false }, { "description": "valid case - min legth", "input": "test-f" }, { "description": "valid case - max legth", "input": "test-ftest-ftest-ftest-ftest-f" } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/instanceId", "modUri": "tmod:@turbot/gcp-spanner" }}
instanceName
{ "type": "string", "pattern": "^projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[a-z][-a-z0-9]{5,29}$", "tests": [ { "input": "projects/cse-legolas/instances/test01" }, { "description": "invalid - project name not project", "input": "projects//instances/test01", "expected": false }, { "description": "invalid - instances is not passed", "input": "projects/cse-legolas//test01", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/instanceName", "modUri": "tmod:@turbot/gcp-spanner" }}
instanceServiceNow
{ "defaultColumns": { "config": { "column": "enabled" }, "create_time": { "column": "enabled", "type": "string" }, "iam_policy": { "column": "enabled", "label": "IAM Policy", "size": 1000, "type": "string" }, "instance_name": { "column": "enabled", "label": "Name", "path": "data.name", "type": "string" }, "instance_type": { "column": "enabled" }, "labels": { "column": "enabled", "size": 1000, "type": "string" }, "node_count": { "column": "enabled" }, "processing_units": { "column": "enabled" }, "project": { "column": "enabled", "path": "metadata.gcp.projectId", "type": "string" }, "region": { "column": "enabled", "path": "metadata.gcp.regionName" }, "state": { "column": "enabled" } }, ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/instanceServiceNow", "modUri": "tmod:@turbot/gcp-spanner" }}
instanceStatus
{ "type": "string", "enum": [ "READY", "STATE_UNSPECIFIED", "CREATING" ], "tests": [ { "input": "READY" }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/instanceStatus", "modUri": "tmod:@turbot/gcp-spanner" }}
regionName
{ "type": "string", "enum": [ "asia-east1", "asia-east2", "asia-northeast1", "asia-south1", "asia-southeast1", "australia-southeast1", "europe-north1", "europe-west1", "europe-west2", "europe-west4", "northamerica-northeast1", "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-spanner#/definitions/regionName", "modUri": "tmod:@turbot/gcp-spanner" }}
spanner
{ "allOf": [ { "$ref": "turbot#/definitions/service" }, { "type": "object", "properties": { "name": { "$ref": "#/definitions/spannerName" }, "state": { "$ref": "gcp#/definitions/state" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/spannerAka" } }, "title": { "const": "Spanner" }, "custom": { "type": "object", "properties": { "gcp": { "$ref": "gcp#/definitions/gcpMetadata" } } } } } }, "required": [ "name", "turbot" ], "additionalProperties": true, "tests": [ { "description": "Valid title", "input": { "name": "projects/932405488407/services/spanner.googleapis.com", "turbot": { "akas": [ "gcp://serviceusage.googleapis.com/projects/932405488407/services/spanner.googleapis.com" ], "title": "Spanner", "custom": { "gcp": { "projectId": "cse-legolas-2" } } } } }, { "description": "invalid - service provider name prefixed", "input": { "turbot": { "akas": [ "gcp://serviceusage.googleapis.com/projects/932405488407/services/spanner.googleapis.com" ], "title": "GCP Spanner", "custom": { "gcp": { "projectId": "cse-legolas-2" } } } }, "expected": false } ] } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/spanner", "modUri": "tmod:@turbot/gcp-spanner" }}
spannerAka
{ "type": "string", "pattern": "^gcp://serviceusage.googleapis.com/projects/[0-9]{12}/services/spanner.googleapis.com$", "tests": [ { "description": "base", "input": "gcp://serviceusage.googleapis.com/projects/932405488407/services/spanner.googleapis.com" }, { "description": "invalid aka", "input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/spanner.googleapis.com", "expected": false }, { "description": "invalid aka", "input": "aws://serviceusage.googleapis.com/projects/cse-legolas-2/services/spanner.googleapis.com", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/spannerAka", "modUri": "tmod:@turbot/gcp-spanner" }}
spannerName
{ "type": "string", "pattern": "^projects/[0-9]{12}/services/spanner.googleapis.com", "tests": [ { "description": "base", "input": "projects/932405488407/services/spanner.googleapis.com" }, { "description": "invalid aka", "input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/spanner.googleapis.com", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/spannerName", "modUri": "tmod:@turbot/gcp-spanner" }}
spannerSupportedRegions
{ "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-west4", "northamerica-northeast1", "us-central1", "us-east1", "us-east4", "us-west1", "us-west2" ], "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-west4", "northamerica-northeast1", "us-central1", "us-east1", "us-east4", "us-west1", "us-west2" ] }, { "description": "invalid - no regions", "input": [], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/spannerSupportedRegions", "modUri": "tmod:@turbot/gcp-spanner" }}
srcType
{ "type": "string", "enum": [ "TYPE_UNSPECIFIED", "BACKUP" ], ".turbot": { "uri": "tmod:@turbot/gcp-spanner#/definitions/srcType", "modUri": "tmod:@turbot/gcp-spanner" }}