Definitions for @turbot/gcp-secretmanager

secret

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/secretName"
},
"replication": {
"$ref": "#/definitions/secretReplication"
},
"createTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"labels": {
"$ref": "gcp#/definitions/labels"
},
"topics": {
"type": "array",
"items": {
"$ref": "#/definitions/secretTopics"
}
},
"etag": {
"type": "string"
},
"rotation": {
"$ref": "#/definitions/secretRotation"
},
"versionAliases": {
"type": "object"
},
"annotations": {
"type": "object"
},
"expireTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ttl": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/secretAka"
}
},
"tags": {
"$ref": "gcp#/definitions/labels"
},
"title": {
"$ref": "#/definitions/secretTitle"
},
"custom": {
"type": "object",
"properties": {
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"name": "projects/979620418102/secrets/testsecret121B",
"replication": {
"userManaged": {
"replicas": [
{
"location": "us-east1",
"customerManagedEncryption": {
"kmsKeyName": "projects/parker-aaa/locations/us-east1/keyRings/test1/cryptoKeys/test1"
}
}
]
}
},
"createTime": "2019-03-19T03:17:06.000Z",
"labels": {
"foo": "bar"
},
"expireTime": "2020-03-19T03:17:06.000Z",
"etag": "\"15f316900cece3\"",
"annotations": {
"key": "test"
},
"turbot": {
"custom": {
"gcp": {
"projectId": "parker-aaa",
"regionName": "us-east1"
}
},
"createTimestamp": "2019-03-19T03:17:06.000Z",
"tags": {
"foo": "bar"
},
"title": "testsecret121B"
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secret",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretAka

{
"type": "string",
"pattern": "^gcp://secretmanager.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}/secrets/[a-zA-Z0-9-_]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "gcp://secretmanager.googleapis.com/projects/cse-legolas-2/secrets/test"
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretAka",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretManager

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/secretManagerName"
},
"state": {
"$ref": "gcp#/definitions/state"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/secretManagerAka"
}
},
"title": {
"const": "Secret Manager"
},
"custom": {
"type": "object",
"properties": {
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid title",
"input": {
"name": "projects/932405488407/services/secretmanager.googleapis.com",
"turbot": {
"akas": [
"gcp://serviceusage.googleapis.com/projects/932405488407/services/secretmanager.googleapis.com"
],
"title": "Secret Manager",
"custom": {
"gcp": {
"projectId": "cse-legolas-2"
}
}
}
}
},
{
"description": "invalid - service provider name prefixed",
"input": {
"turbot": {
"akas": [
"gcp://serviceusage.googleapis.com/projects/932405488407/services/secretmanager.googleapis.com"
],
"title": "GCP Secret Manager",
"custom": {
"gcp": {
"projectId": "cse-legolas-2"
}
}
}
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretManager",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretManagerAka

{
"type": "string",
"pattern": "^gcp://serviceusage.googleapis.com/projects/[0-9]{12}/services/secretmanager.googleapis.com$",
"tests": [
{
"description": "base",
"input": "gcp://serviceusage.googleapis.com/projects/932405488407/services/secretmanager.googleapis.com"
},
{
"description": "invalid aka",
"input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/secretmanager.googleapis.com",
"expected": false
},
{
"description": "invalid aka",
"input": "aws://serviceusage.googleapis.com/projects/cse-legolas-2/services/secretmanager.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretManagerAka",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretManagerName

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

secretName

{
"type": "string",
"pattern": "^projects/[a-z0-9-]{5,29}[a-z0-9]{1}/secrets/[a-zA-Z0-9-_]+$",
"tests": [
{
"description": "valid case",
"input": "projects/979620418102/secrets/testsecret121B"
},
{
"description": "invalid - cannot contain empty spaces",
"input": "projects/979620418102/secrets/ testsecret121B",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretName",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretReplication

{
"type": "object",
"properties": {
"automatic": {
"type": "object",
"properties": {
"customerManagedEncryption": {
"type": "object",
"properties": {
"kmsKeyName": {
"type": "string"
}
}
}
}
},
"userManaged": {
"type": "object",
"properties": {
"replicas": {
"type": "array",
"items": {
"$ref": "#/definitions/secretUserManagedReplica"
}
}
}
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretReplication",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretRotation

{
"type": "object",
"properties": {
"nextRotationTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"rotationPeriod": {
"type": "string"
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretRotation",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretTitle

{
"type": "string",
"pattern": "^[a-zA-Z0-9-_]+$",
"tests": [
{
"description": "valid case",
"input": "testsecret121B"
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretTitle",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretTopics

{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretTopics",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}

secretUserManagedReplica

{
"type": "object",
"properties": {
"location": {
"type": "string"
},
"customerManagedEncryption": {
"type": "object",
"properties": {
"kmsKeyName": {
"type": "string"
}
}
}
},
".turbot": {
"uri": "tmod:@turbot/gcp-secretmanager#/definitions/secretUserManagedReplica",
"modUri": "tmod:@turbot/gcp-secretmanager"
}
}