Definitions for @turbot/gcp-bigtable

AutoscalingLimits

{
"description": "Limits for the number of nodes a Cluster can autoscale up/down to.",
"properties": {
"maxServeNodes": {
"description": "Required. Maximum number of nodes to scale up to.",
"type": "integer"
},
"minServeNodes": {
"description": "Required. Minimum number of nodes to scale down to.",
"type": "integer"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/AutoscalingLimits",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

AutoscalingTargets

{
"description": "The Autoscaling targets for a Cluster. These determine the recommended nodes.",
"properties": {
"cpuUtilizationPercent": {
"description": "The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80, otherwise it will return INVALID_ARGUMENT error.",
"type": "integer"
},
"storageUtilizationGibPerNode": {
"description": "The storage utilization that the Autoscaler should be trying to achieve. This number is limited between 2560 (2.5TiB) and 5120 (5TiB) for a SSD cluster and between 8192 (8TiB) and 16384 (16TiB) for an HDD cluster, otherwise it will return INVALID_ARGUMENT error. If this value is set to 0, it will be treated as if it were set to the default value: 2560 for SSD, 8192 for HDD.",
"type": "integer"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/AutoscalingTargets",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

BackupInfo

{
"description": "Information about a backup.",
"properties": {
"backup": {
"description": "Output only. Name of the backup.",
"readOnly": true,
"type": "string"
},
"endTime": {
"description": "Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp.",
"readOnly": true,
"type": "string"
},
"sourceBackup": {
"description": "Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//backups/.",
"readOnly": true,
"type": "string"
},
"sourceTable": {
"description": "Output only. Name of the table the backup was created from.",
"readOnly": true,
"type": "string"
},
"startTime": {
"description": "Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp.",
"readOnly": true,
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/BackupInfo",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

bigtable

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/bigtableName"
},
"state": {
"$ref": "gcp#/definitions/state"
},
"config": {
"type": "object"
},
"parent": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/bigtableAka"
}
},
"title": {
"const": "Bigtable"
},
"custom": {
"type": "object",
"properties": {
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"required": [
"name"
],
"tests": [
{
"description": "Valid - base test",
"input": {
"name": "projects/932405488407/services/bigtableadmin.googleapis.com",
"turbot": {
"akas": [
"gcp://serviceusage.googleapis.com/projects/932405488407/services/bigtableadmin.googleapis.com"
],
"title": "Bigtable",
"custom": {
"gcp": {
"projectId": "cse-legolas-2"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/bigtable",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

bigtableAka

{
"type": "string",
"pattern": "^gcp://serviceusage.googleapis.com/projects/[0-9]{12}/services/bigtableadmin.googleapis.com",
"tests": [
{
"description": "base",
"input": "gcp://serviceusage.googleapis.com/projects/932405488407/services/bigtableadmin.googleapis.com"
},
{
"description": "invalid aka",
"input": "gcp://serviceusage.googleapis.com/projectss/932405488407/services/bigtableadmin.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/bigtableAka",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

bigtableName

{
"type": "string",
"pattern": "^projects/[0-9]{1,12}/services/bigtableadmin.googleapis.com$",
"tests": [
{
"input": "projects/932405488407/services/bigtableadmin.googleapis.com"
},
{
"description": "invalid - project name not project",
"input": "projects//services/test01",
"expected": false
},
{
"description": "invalid - instances is not passed",
"input": "projects/cse-legolas//test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/bigtableName",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

bigtableSupportedRegions

{
"type": "array",
"items": {
"$ref": "#/definitions/regionName"
},
"minItems": 1,
"example": [
[
"us-central1",
"us-east1"
]
],
"default": [
"us-central1",
"us-west2",
"us-east4",
"us-west1",
"us-east1",
"northamerica-northeast1",
"europe-west1",
"europe-north1",
"europe-west2",
"europe-west4",
"asia-south1",
"asia-southeast1",
"asia-east1",
"asia-east2",
"asia-northeast1",
"australia-southeast1"
],
"tests": [
{
"description": "one region",
"input": [
"us-east1"
]
},
{
"description": "all supported regions",
"input": [
"us-central1",
"us-west2",
"us-east4",
"us-west1",
"us-east1",
"northamerica-northeast1",
"europe-west1",
"europe-north1",
"europe-west2",
"europe-west4",
"asia-south1",
"asia-southeast1",
"asia-east1",
"asia-east2",
"asia-northeast1",
"australia-southeast1"
]
},
{
"description": "invalid - no regions",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/bigtableSupportedRegions",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

ChangeStreamConfig

{
"description": "Change stream configuration.",
"properties": {
"retentionPeriod": {
"description": "How long the change stream should be retained. Change stream data older than the retention period will not be returned when reading the change stream from the table. Values must be at least 1 day and at most 7 days, and will be truncated to microsecond granularity.",
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/ChangeStreamConfig",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

cluster

{
"type": "object",
"properties": {
"instanceName": {
"$ref": "#/definitions/instanceName"
},
"name": {
"$ref": "#/definitions/clusterName"
},
"hasDependencies": {
"type": "boolean"
},
"state": {
"$ref": "#/definitions/clusterState"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/clusterAka"
}
},
"title": {
"$ref": "#/definitions/clusterName"
},
"custom": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"required": [
"name",
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"name": "projects/cse-legolas-2/instances/test12387/clusters/test12387-c31123",
"turbot": {
"akas": [
"gcp://bigtableadmin.googleapis.com/projects/cse-legolas-2/instances/test01/clusters/tst02"
],
"title": "projects/cse-legolas-2/instances/test12387/clusters/test12387-c31123",
"custom": {
"createTimestamp": "2017-03-05T13:58:05.590Z",
"gcp": {
"projectId": "cse-legolas-2"
}
}
}
}
},
{
"description": "Invalid - Missing clusterName",
"input": {
"turbot": {
"akas": [
"gcp://bigtableadmin.googleapis.com/projects/cse-legolas-2/instances/test01/clusters/tst02"
],
"title": "test12387-c31123",
"custom": {
"createTimestamp": "2017-03-05T13:58:05.590Z",
"gcp": {
"projectId": "cse-legolas-2"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing Guardrails data",
"input": {
"name": "projects/cse-legolas/instances/test12387/clusters/test12387-c31123"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/cluster",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

Cluster

{
"description": "A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.",
"properties": {
"clusterConfig": {
"$ref": "#/definitions/ClusterConfig",
"description": "Configuration for this cluster."
},
"defaultStorageType": {
"description": "Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden.",
"enum": [
"STORAGE_TYPE_UNSPECIFIED",
"SSD",
"HDD"
],
"type": "string"
},
"encryptionConfig": {
"$ref": "#/definitions/EncryptionConfig",
"description": "Immutable. The encryption configuration for CMEK-protected clusters."
},
"location": {
"description": "Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.",
"type": "string"
},
"name": {
"description": "The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.",
"type": "string"
},
"serveNodes": {
"description": "The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization.",
"type": "integer"
},
"state": {
"description": "Output only. The current state of the cluster.",
"enum": [
"STATE_NOT_KNOWN",
"READY",
"CREATING",
"RESIZING",
"DISABLED"
],
"readOnly": true,
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/Cluster",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

clusterAka

{
"type": "string",
"pattern": "^gcp://bigtableadmin.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[a-z][a-z0-9\\-]{3,28}[a-z0-9]/clusters/[a-z][a-z0-9\\-]{3,29}$",
"tests": [
{
"descritpion": "base case",
"input": "gcp://bigtableadmin.googleapis.com/projects/cse-legolas-2/instances/test01/clusters/tst02"
},
{
"description": "invalid - project ID too short",
"input": "gcp://w.googleapis.com/compute/projects/cse/instances/test01/clusters/test02",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/clusterAka",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

ClusterAutoscalingConfig

{
"description": "Autoscaling config for a cluster.",
"properties": {
"autoscalingLimits": {
"$ref": "#/definitions/AutoscalingLimits",
"description": "Required. Autoscaling limits for this cluster."
},
"autoscalingTargets": {
"$ref": "#/definitions/AutoscalingTargets",
"description": "Required. Autoscaling targets for this cluster."
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/ClusterAutoscalingConfig",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

ClusterConfig

{
"description": "Configuration for a cluster.",
"properties": {
"clusterAutoscalingConfig": {
"$ref": "#/definitions/ClusterAutoscalingConfig",
"description": "Autoscaling configuration for this cluster."
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/ClusterConfig",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

clusterId

{
"type": "string",
"pattern": "^[a-z][-a-z0-9]+$",
"minlength": 4,
"maxlength": 30,
"tests": [
{
"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"
},
{
"description": "valid case - max legth",
"input": "testtesttesttesttesttesttestte"
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/clusterId",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

clusterName

{
"type": "string",
"pattern": "^projects/[^/]+/instances/[a-z][a-z0-9\\-]{3,28}[a-z0-9]/clusters/[a-z][a-z0-9\\-]{3,29}$",
"tests": [
{
"input": "projects/cse-legolas/instances/test12387/clusters/test12387-c31123"
},
{
"description": "invalid case - using underscore character",
"input": "projects/cse-legolas/instances/test12387/clusters/test12387-c31123_",
"expected": false
},
{
"description": "invalid case - using special characters other than hypens",
"input": "projects/cse-legolas/instances/test12387/clusters/test@12387-c31123",
"expected": false
},
{
"description": "valid case - min legth",
"input": "projects/cse-legolas/instances/test1/clusters/testc"
},
{
"description": "valid case - max legth",
"input": "projects/cse-legolas/instances/test1test1test1test1test1test1/clusters/ttest1test1test1test1test1esca"
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/clusterName",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

clusterServiceNow

{
"defaultColumns": {
"cluster_name": {
"column": "enabled",
"label": "Cluster Name",
"path": "data.name"
},
"cluster_config": {
"column": "enabled",
"label": "Cluster Config",
"type": "string",
"size": 1000,
"path": "data.clusterConfig"
},
"cluster_location": {
"column": "enabled",
"label": "Location",
"path": "data.location"
},
"default_storage_type": {
"column": "enabled",
"label": "Default Storage Type",
"type": "string",
"path": "data.defaultStorageType"
},
"encryption_config": {
"column": "enabled",
"label": "Encryption Config",
"type": "string",
"size": 1000,
"path": "data.encryptionConfig"
},
"project": {
"column": "enabled",
"label": "Project",
"path": "metadata.gcp.projectId"
},
"server_nodes": {
"column": "enabled",
"label": "Server Nodes",
"path": "data.serveNodes"
},
"state": {
"column": "enabled",
"label": "State"
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/clusterServiceNow",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

clusterState

{
"type": "string",
"enum": [
"READY",
"STATE_NOT_KNOWN",
"CREATING",
"RESIZING",
"DISABLED"
],
"tests": [
{
"input": "READY"
},
{
"input": "STATE_NOT_KNOWN"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/clusterState",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

EncryptionConfig

{
"description": "Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster.",
"properties": {
"kmsKeyName": {
"description": "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. Values are of the form `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}`",
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/EncryptionConfig",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

instance

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/instanceName"
},
"displayName": {
"type": "string"
},
"type": {
"type": "string"
},
"labels": {
"$ref": "gcp#/definitions/labels"
},
"iamPolicy": {
"$ref": "gcp-iam#/definitions/projectIamPolicy"
},
"hasData": {
"type": "boolean"
},
"state": {
"$ref": "#/definitions/instanceState"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/instanceAka"
}
},
"tags": {
"$ref": "gcp#/definitions/labels"
},
"title": {
"$ref": "#/definitions/instanceName"
},
"custom": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"required": [
"name"
],
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"name": "projects/cse-legolas/instances/test01",
"labels": {
"foo": "bar"
},
"turbot": {
"akas": [
"gcp://bigtableadmin.googleapis.com/projects/cse-legolas-2/instances/test01"
],
"tags": {
"foo": "bar"
},
"title": "projects/cse-legolas/instances/test01",
"custom": {
"createTimestamp": "2017-03-05T13:58:05.590Z",
"gcp": {
"projectId": "foo-bar",
"zoneName": "us-central1-c"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/instance",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

instanceAka

{
"type": "string",
"pattern": "^gcp://bigtableadmin.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[a-z][a-z0-9\\-]{3,28}[a-z0-9]$",
"tests": [
{
"descritpion": "base case",
"input": "gcp://bigtableadmin.googleapis.com/projects/cse-legolas-2/instances/test01"
},
{
"description": "invalid - project ID too short",
"input": "gcp://w.googleapis.com/compute/projects/cse/instances/test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/instanceAka",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

instanceId

{
"type": "string",
"pattern": "^[a-z][-a-z0-9]{4,30}[a-z0-9]$",
"tests": [
{
"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": "aastfunction01testfunction01test"
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/instanceId",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

instanceName

{
"type": "string",
"pattern": "projects/[a-z0-9-]{5,29}[a-z0-9]{1}/instances/[a-z][a-z0-9\\-]{3,28}[a-z0-9]",
"tests": [
{
"input": "projects/cse-legolas/instances/test12387"
},
{
"description": "invalid case - using underscore character",
"input": "projects/cse-legolas/instances/test_12387",
"expected": false
},
{
"description": "invalid case - using special characters other than hypens",
"input": "projects/cse-legolas/instances/test@12387",
"expected": false
},
{
"description": "valid case - min legth",
"input": "projects/cse-legolas/instances/test1"
},
{
"description": "valid case - max legth",
"input": "projects/cse-legolas/instances/test1test1test1test1test1test1"
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/instanceName",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

instanceServiceNow

{
"defaultColumns": {
"display_name": {
"column": "enabled",
"label": "Display Name",
"path": "data.displayName"
},
"iam_policy": {
"column": "enabled",
"label": "IAM Policy",
"type": "string",
"size": 1000,
"path": "data.iamPolicy"
},
"instance_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
},
"instance_type": {
"column": "enabled",
"label": "Type",
"path": "data.type"
},
"labels": {
"column": "enabled",
"label": "Labels",
"type": "string",
"size": 1000
},
"project": {
"column": "enabled",
"label": "Project",
"path": "metadata.gcp.projectId"
},
"state": {
"column": "enabled",
"label": "State"
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/instanceServiceNow",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

instanceState

{
"type": "string",
"enum": [
"READY",
"STATE_NOT_KNOWN",
"CREATING"
],
"tests": [
{
"input": "CREATING"
},
{
"input": "READY"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/instanceState",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

regionName

{
"type": "string",
"enum": [
"us-central1",
"us-west2",
"us-east4",
"us-west1",
"us-east1",
"northamerica-northeast1",
"europe-west1",
"europe-north1",
"europe-west2",
"europe-west4",
"asia-south1",
"asia-southeast1",
"asia-east1",
"asia-east2",
"asia-northeast1",
"australia-southeast1"
],
"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-bigtable#/definitions/regionName",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

RestoreInfo

{
"description": "Information about a table restore.",
"properties": {
"backupInfo": {
"$ref": "#/definitions/BackupInfo",
"description": "Information about the backup used to restore the table. The backup may no longer exist."
},
"sourceType": {
"description": "The type of the restore source.",
"enum": [
"RESTORE_SOURCE_TYPE_UNSPECIFIED",
"BACKUP"
],
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/RestoreInfo",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

table

{
"type": "object",
"properties": {
"tableId": {
"$ref": "#/definitions/tableId"
},
"instanceName": {
"$ref": "#/definitions/instanceName"
},
"name": {
"type": "string"
},
"granularity": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/table",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

Table

{
"description": "A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.",
"properties": {
"changeStreamConfig": {
"$ref": "#/definitions/ChangeStreamConfig",
"description": "If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained."
},
"clusterStates": {
"additionalProperties": {
"$ref": "#/definitions/ClusterState"
},
"description": "Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`",
"readOnly": true,
"type": "object"
},
"columnFamilies": {
"additionalProperties": {
"$ref": "#/definitions/ColumnFamily"
},
"description": "The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`",
"type": "object"
},
"deletionProtection": {
"description": "Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs.",
"type": "boolean"
},
"granularity": {
"description": "Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`.",
"enum": [
"TIMESTAMP_GRANULARITY_UNSPECIFIED",
"MILLIS"
],
"type": "string"
},
"name": {
"description": "The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`",
"type": "string"
},
"restoreInfo": {
"$ref": "#/definitions/RestoreInfo",
"description": "Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.",
"readOnly": true
},
"stats": {
"$ref": "#/definitions/TableStats",
"description": "Output only. Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped ColumnFamily collection above.",
"readOnly": true
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/Table",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

tableId

{
"type": "string",
"pattern": "^[_a-zA-Z0-9][-_.a-zA-Z0-9]*$",
"tests": [
{
"input": "my-table"
},
{
"description": "invalid case - using @ character",
"input": "my@test",
"expected": false
},
{
"description": "invalid case - shoud not have space in between",
"input": "my table",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/tableId",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

tableServiceNow

{
"defaultColumns": {
"change_stream_config": {
"column": "enabled",
"label": "Change Stream Config",
"type": "string",
"size": 1000,
"path": "data.changeStreamConfig"
},
"cluster_states": {
"column": "enabled",
"label": "Cluster States",
"type": "string",
"size": 1000,
"path": "data.clusterStates"
},
"column_families": {
"column": "enabled",
"label": "Column Families",
"type": "string",
"size": 1000,
"path": "data.columnFamilies"
},
"deletion_protection": {
"column": "enabled",
"label": "Deletion Protection",
"type": "boolean",
"path": "data.deletionProtection"
},
"granularity": {
"column": "enabled",
"label": "Granularity",
"type": "string",
"size": 1000,
"path": "data.granularity"
},
"project": {
"column": "enabled",
"label": "Project",
"path": "metadata.gcp.projectId"
},
"restore_info": {
"column": "enabled",
"label": "Stats",
"type": "Restore Info",
"size": 1000,
"path": "data.restoreInfo"
},
"stats": {
"column": "enabled",
"label": "Stats",
"type": "string",
"size": 1000,
"path": "data.stats"
},
"table_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/tableServiceNow",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}

TableStats

{
"description": "Approximate statistics related to a table. These statistics are calculated infrequently, while simultaneously, data in the table can change rapidly. Thus the values reported here (e.g. row count) are very likely out-of date, even the instant they are received in this API. Thus, only treat these values as approximate. IMPORTANT: Everything below is approximate, unless otherwise specified.",
"properties": {
"averageCellsPerColumn": {
"description": "How many cells are present per column (column family, column qualifier) combinations, averaged over all columns in all rows in the table. e.g. A table with 2 rows: * A row with 3 cells in \"family:col\" and 1 cell in \"other:col\" (4 cells / 2 columns) * A row with 1 cell in \"family:col\", 7 cells in \"family:other_col\", and 7 cells in \"other:data\" (15 cells / 3 columns) would report (4 + 15)/(2 + 3) = 3.8 in this field.",
"type": "number"
},
"averageColumnsPerRow": {
"description": "How many (column family, column qualifier) combinations are present per row in the table, averaged over all rows in the table. e.g. A table with 2 rows: * A row with cells in \"family:col\" and \"other:col\" (2 distinct columns) * A row with cells in \"family:col\", \"family:other_col\", and \"other:data\" (3 distinct columns) would report (2 + 3)/2 = 2.5 in this field.",
"type": "number"
},
"logicalDataBytes": {
"description": "This is roughly how many bytes would be needed to read the entire table (e.g. by streaming all contents out).",
"type": "string"
},
"rowCount": {
"description": "How many rows are in the table.",
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-bigtable#/definitions/TableStats",
"modUri": "tmod:@turbot/gcp-bigtable"
}
}