Definitions for @turbot/gcp-monitoring

alertPolicy

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/alertPolicyName"
},
"displayName": {
"$ref": "#/definitions/displayName"
},
"combiner": {
"type": "string"
},
"creationRecord": {
"type": "object"
},
"mutationRecord": {
"type": "object"
},
"conditions": {
"type": "array"
},
"enabled": {
"type": "boolean"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/alertPolicyAka"
}
},
"title": {
"$ref": "#/definitions/displayName"
},
"custom": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"required": [
"name",
"displayName"
],
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"name": "projects/cse-legolas-2/alertPolicies/4315547539152184316",
"displayName": "test01",
"turbot": {
"akas": [
"gcp://monitoring.googleapis.com/projects/cse-legolas-2/alertPolicies/4315547539152184316"
],
"title": "test01",
"custom": {
"createTimestamp": "2019-02-13T16:06:19.156Z",
"gcp": {
"projectId": "foo-bar",
"regionName": "us-east1"
}
}
}
}
},
{
"description": "Invalid - Missing name",
"input": {
"displayName": "test01",
"turbot": {
"akas": [
"gcp://monitoring.googleapis.com/projects/cse-legolas-2/alertPolicies/4315547539152184316"
],
"title": "test01",
"custom": {
"createTimestamp": "2019-02-13T16:06:19.156Z",
"gcp": {
"projectId": "foo-bar",
"regionName": "us-east1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing Display name",
"input": {
"name": "projects/cse-legolas-2/alertPolicies/4315547539152184316",
"turbot": {
"akas": [
"gcp://monitoring.googleapis.com/projects/cse-legolas-2/alertPolicies/4315547539152184316"
],
"title": "test01",
"custom": {
"createTimestamp": "2019-02-13T16:06:19.156Z",
"gcp": {
"projectId": "foo-bar",
"regionName": "us-east1"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/alertPolicy",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

alertPolicyAka

{
"type": "string",
"pattern": "^gcp://monitoring.googleapis.com/projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/alertPolicies/[0-9]*$",
"tests": [
{
"descritpion": "base case",
"input": "gcp://monitoring.googleapis.com/projects/cse-legolas-2/alertPolicies/4315547539152184316"
},
{
"descritpion": "invalid - invalid policy name",
"input": "gcp://monitoring.googleapis.com/projects/cse-legolas-2/alertPolicy/4315547539152184316",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/alertPolicyAka",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

alertPolicyName

{
"type": "string",
"pattern": "^projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/alertPolicies/[^\\/]+$",
"tests": [
{
"description": "valid case",
"input": "projects/cse-legolas/alertPolicies/10057070610513165822"
},
{
"description": "invalid - cannot end with a slash",
"input": "projects/cse-legolas/alertPolicies/10057070610513165822/",
"expected": false
},
{
"description": "invalid - must match pattern",
"input": "projects/alertPolicies/10057070610513165822",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/alertPolicyName",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

displayName

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/displayName",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

group

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/groupName"
},
"displayName": {
"type": "string"
},
"filter": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/groupAka"
}
},
"title": {
"$ref": "#/definitions/groupName"
},
"custom": {
"type": "object",
"properties": {
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"required": [
"name"
],
"additionalProperties": true,
"tests": [
{
"description": "valid input - all details provided",
"input": {
"name": "projects/cse-legolas/groups/4451801278912436753",
"turbot": {
"title": "projects/cse-legolas/groups/4451801278912436753",
"custom": {
"gcp": {
"projectId": "cse-legolas"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/group",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

groupAka

{
"type": "string",
"pattern": "^gcp://monitoring.googleapis.com/projects/[^/]+/groups/[^/]+$",
"tests": [
{
"descritpion": "base case",
"input": "gcp://monitoring.googleapis.com/projects/cse-legolas-2/groups/group-1"
},
{
"description": "invalid - invalid arn",
"input": "i.googleapis.com/projects/cse-legolas-2/groups/group-1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/groupAka",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

groupName

{
"type": "string",
"pattern": "^projects\\/[^\\/]+\\/groups\\/[^\\/]+$",
"tests": [
{
"description": "valid case",
"input": "projects/cse-legolas/groups/4451801278912436753"
},
{
"description": "invalid - cannot end with a slash",
"input": "projects/cse-legolas/groups/4451801278912436753/",
"expected": false
},
{
"description": "invalid - must match pattern",
"input": "projects/groups/10057070610513165822",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/groupName",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

monitoring

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

monitoringAka

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

notificationChannel

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/notificationChannelName"
},
"type": {
"type": "string"
},
"displayName": {
"type": "string"
},
"labels": {
"type": "object"
},
"enabled": {
"type": "boolean"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/notificationChannelAka"
}
},
"title": {
"$ref": "#/definitions/notificationChannelName"
},
"custom": {
"type": "object",
"properties": {
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"required": [
"name"
],
"additionalProperties": true,
"tests": [
{
"description": "valid input - all details provided",
"input": {
"name": "projects/cse-legolas/notificationChannels/4451801278912436753",
"turbot": {
"title": "projects/cse-legolas/notificationChannels/4451801278912436753",
"custom": {
"gcp": {
"projectId": "cse-legolas"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/notificationChannel",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

notificationChannelAka

{
"type": "string",
"pattern": "^gcp://monitoring.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}/notificationChannels/[^/]+$",
"tests": [
{
"descritpion": "base case",
"input": "gcp://monitoring.googleapis.com/projects/cse-legolas-2/notificationChannels/4451801278912436753"
},
{
"description": "invalid - invalid arn",
"input": "i.googleapis.com/projects/cse-legolas-2/groups/group-1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/notificationChannelAka",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}

notificationChannelName

{
"type": "string",
"pattern": "^projects/[a-z0-9-]{5,29}[a-z0-9]{1}/notificationChannels/[^\\/]+$",
"tests": [
{
"description": "valid case",
"input": "projects/cse-legolas/notificationChannels/18441674239400949303"
},
{
"description": "invalid - cannot end with a slash",
"input": "projects/cse-legolas/notificationChannels/18441674239400949303/",
"expected": false
},
{
"description": "invalid - must match pattern",
"input": "projects/notificationChannels/10057070610513165822",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-monitoring#/definitions/notificationChannelName",
"modUri": "tmod:@turbot/gcp-monitoring"
}
}