Definitions for @turbot/aws-elasticsearch

accessPolicies

{
"type": "string",
"tests": [
{
"input": "search-streaming-logs-oojmrbhufr27n44zdri52wukdy.us-west-1.es.amazonaws.com"
},
{
"input": null
},
{
"input": "search-logs-p5st2kbt77diuihoqi6omd7jiu.us-east-1.es.example.com"
},
{
"description": "empty string",
"input": ""
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/accessPolicies",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

advancedOptions

{
"type": "string",
"tests": [
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/advancedOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

automatedSnapshotStartHour

{
"type": "integer",
"tests": [
{
"input": 1
},
{
"input": 12
},
{
"description": "invalid - decimal value provided",
"input": 4.5,
"expected": false
},
{
"description": "invalid - string tpye provided",
"input": "three",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/automatedSnapshotStartHour",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

cloudWatchLogsLogGroupArn

{
"type": "string",
"tests": [
{
"input": "arn:aws:logs:us-east-1:123456789012:log-group:sample-domain"
},
{
"input": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:*"
},
{
"input": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:log-stream:my-log-stream-1"
},
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/cloudWatchLogsLogGroupArn",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

cognitoOptions

{
"type": "object",
"properties": {
"Enabled": {
"$ref": "#/definitions/enabled"
},
"UserPoolId": {
"$ref": "#/definitions/poolId"
},
"IdentityPoolId": {
"$ref": "#/definitions/poolId"
},
"RoleArn": {
"$ref": "#/definitions/roleArn"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/cognitoOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

dedicatedMasterCount

{
"type": "integer",
"default": 3,
"tests": [
{
"input": 1
},
{
"input": 12
},
{
"description": "invalid - string tpye provided",
"input": "three",
"expected": false
},
{
"description": "invalid - decimal value provided",
"input": 4.5,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/dedicatedMasterCount",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

dedicatedMasterTypeList

{
"type": "array",
"items": {
"$ref": "#/definitions/instanceType"
},
"default": [
"*"
],
"example": [
"c4.large.elasticsearch",
"r3.4xlarge.elasticsearch"
],
"tests": [
{
"description": "one instance type",
"input": [
"r4.large.elasticsearch"
]
},
{
"description": "multiple instance types",
"input": [
"i3.large.elasticsearch",
"i3.xlarge.elasticsearch",
"i3.2xlarge.elasticsearch"
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/dedicatedMasterTypeList",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

deploymentCloseDateTimeStamp

{
"type": "string",
"format": "date-time",
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/deploymentCloseDateTimeStamp",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

deploymentStatus

{
"type": "string",
"enum": [
"PENDING_UPDATE",
"IN_PROGRESS",
"COMPLETED",
"NOT_ELIGIBLE",
"ELIGIBLE"
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/deploymentStatus",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

domain

{
"type": "object",
"properties": {
"DomainId": {
"$ref": "#/definitions/domainId"
},
"DomainName": {
"$ref": "#/definitions/domainName"
},
"Arn": {
"$ref": "#/definitions/domainAka"
},
"Created": {
"$ref": "#/definitions/enabled"
},
"Deleted": {
"$ref": "#/definitions/enabled"
},
"Endpoint": {
"$ref": "#/definitions/endpoint"
},
"Endpoints": {
"$ref": "#/definitions/endpoints"
},
"Processing": {
"$ref": "#/definitions/enabled"
},
"UpgradeProcessing": {
"$ref": "#/definitions/enabled"
},
"NodeToNodeEncryptionOptions": {
"$ref": "#/definitions/nodeToNodeEncryptionOptions"
},
"ServiceSoftwareOptions": {
"$ref": "#/definitions/serviceSoftwareOptions"
},
"DomainEndpointOptions": {
"$ref": "#/definitions/domainEndpointOptions"
},
"ElasticsearchVersion": {
"$ref": "#/definitions/elasticsearchVersion"
},
"ElasticsearchClusterConfig": {
"$ref": "#/definitions/elasticsearchClusterConfig"
},
"EbsOptions": {
"$ref": "#/definitions/ebsOptions"
},
"AccessPolicies": {
"$ref": "#/definitions/accessPolicies"
},
"SnapshotOptions": {
"$ref": "#/definitions/snapshotOptions"
},
"VpcOptions": {
"$ref": "#/definitions/vpcOptions"
},
"LogPublishingOptions": {
"$ref": "#/definitions/logPublishingOptions"
},
"AdvancedOptions": {
"$ref": "#/definitions/advancedOptions"
},
"EncryptionAtRestOptions": {
"$ref": "#/definitions/encryptionAtRestOptions"
},
"CognitoOptions": {
"$ref": "#/definitions/cognitoOptions"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/domainAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/domainName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"test": [
{
"description": "Valid - All properties",
"input": {
"DomainId": "123456789012/streaming-logs",
"DomainName": "streaming-logs",
"Arn": "arn:aws:es:us-west-1:123456789012:domain/streaming-logs",
"ElasticsearchClusterConfig": {
"InstnaceType": "t2.small.elasticsearch",
"InstanceCount": 10,
"DedicatedMasterEnabled": true,
"DedicatedMasterType": "t2.small.elasticsearch",
"DedicatedMasterCount": 20,
"ZoneAwarenessEnabled": false
},
"Tags": [
{
"Key": "testKey",
"Value": "testValue"
}
],
"turbot": {
"akas": [
"arn:aws:es:us-east-1:012345678910:domain/test02"
],
"tags": {
"testKey": "testValue"
},
"title": "streaming-logs",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing DomainName",
"input": {
"DomainId": "123456789012/streaming-logs",
"Arn": "arn:aws:es:us-west-1:123456789012:domain/streaming-logs",
"ElasticsearchClusterConfig": {
"InstnaceType": "t2.small.elasticsearch",
"InstanceCount": 10,
"DedicatedMasterEnabled": true,
"DedicatedMasterType": "t2.small.elasticsearch",
"DedicatedMasterCount": 20,
"ZoneAwarenessEnabled": false
},
"Tags": [
{
"Key": "testKey",
"Value": "testValue"
}
],
"turbot": {
"akas": [
"arn:aws:es:us-east-1:012345678910:domain/test02"
],
"tags": {
"testKey": "testValue"
},
"title": "streaming-logs",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"DomainId": "123456789012/streaming-logs",
"DomainName": "streaming-logs",
"Arn": "arn:aws:es:us-west-1:123456789012:domain/streaming-logs",
"ElasticsearchClusterConfig": {
"InstnaceType": "t2.small.elasticsearch",
"InstanceCount": 10,
"DedicatedMasterEnabled": true,
"DedicatedMasterType": "t2.small.elasticsearch",
"DedicatedMasterCount": 20,
"ZoneAwarenessEnabled": false
},
"Tags": [
{
"Key": "testKey",
"Value": "testValue"
}
],
"expected": false
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/domain",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

domainAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:es:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:domain/[a-z][a-z0-9-]+$",
"tests": [
{
"input": "arn:aws:es:us-east-1:012345678910:domain/test02"
},
{
"description": "invalid - aws account id incorrect",
"input": "arn:aws:es:us-east-1:0123456789101:domain/test02",
"expected": false
},
{
"description": "invalid - service name is missing",
"input": "arn:aws:us-east-1:012345678910:domain/test02",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/domainAka",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

domainEndpointOptions

{
"type": "object",
"properties": {
"EnforceHTTPS": {
"type": "boolean",
"description": "Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain."
},
"TLSSecurityPolicy": {
"$ref": "#/definitions/tlsSecurityPolicy",
"description": "Specify the TLS security policy that needs to be applied to the HTTPS endpoint of Elasticsearch domain. <br/> It can be one of the following values: <ul> <li><b>Policy-Min-TLS-1-0-2019-07: </b> TLS security policy which supports TLSv1.0 and higher.</li> <li><b>Policy-Min-TLS-1-2-2019-07: </b> TLS security policy which supports only TLSv1.2</li> </ul> "
}
},
"description": "Options to configure endpoint for the Elasticsearch domain.",
"tests": [
{
"input": {
"EnforceHTTPS": true,
"TLSSecurityPolicy": "Policy-Min-TLS-1-0-2019-07"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/domainEndpointOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

domainId

{
"type": "string",
"pattern": "^[0-9]{12}/[a-z][a-z0-9-]{3,28}$",
"tests": [
{
"input": "123456789012/streaming-logs"
},
{
"input": "123456789012/weblogs"
},
{
"input": "123456789012/logs"
},
{
"input": "000000000000/your-domain-name"
},
{
"description": "invalid - aws account id not default length",
"input": "12345/weblogs",
"expected": false
},
{
"description": "max length",
"input": "123456789012/this-is-my-fancy-domain-name"
},
{
"description": "invalid - domain name must start with a lowercase letter",
"input": "123456789012/Weblogs",
"expected": false
},
{
"description": "invalid - accountId and domain areto be seperated by slash",
"input": "123456789012+logs",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/domainId",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

domainName

{
"type": "string",
"tests": [
{
"input": "streaming-logs"
},
{
"description": "min length",
"input": "abc"
},
{
"description": "max length",
"input": "abcdefghijklmnopqrstuvwxyz-a"
},
{
"description": "invalid - must start with a lowercase letter",
"input": "Hello",
"expected": false
},
{
"description": "invalid - must start with a lowercase letter",
"input": "1234hi",
"expected": false
},
{
"description": "invalid - at symbol is not allowed in regex",
"input": "hello@123",
"expected": false
},
{
"description": "invalid - too long",
"input": "streaming-logsstreaming-logsstreaming-logsstreaming-logsstreaming-logsstreaming-logsstreaming-logs",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/domainName",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

ebsOptions

{
"type": "object",
"properties": {
"EbsEnabled": {
"$ref": "#/definitions/enabled"
},
"VolumeType": {
"$ref": "#/definitions/volumeType"
},
"VolumeSize": {
"$ref": "#/definitions/volumeSize"
},
"Iops": {
"$ref": "#/definitions/iops"
}
},
"tests": [
{
"description": "base case",
"input": {
"EbsEnabled": true,
"VolumeType": "gp2",
"VolumeSize": 150,
"Iops": 1200
}
},
{
"description": "invalid - not a valid option for volumetype",
"input": {
"EbsEnabled": true,
"VolumeType": "generalpurpose",
"VolumeSize": 150,
"Iops": 1200
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/ebsOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

elasticsearchClusterConfig

{
"type": "object",
"properties": {
"InstanceType": {
"$ref": "#/definitions/instanceType"
},
"InstanceCount": {
"$ref": "#/definitions/instanceCount"
},
"DedicatedMasterEnabled": {
"default": false,
"$ref": "#/definitions/enabled"
},
"DedicatedMasterType": {
"$ref": "#/definitions/instanceType"
},
"DedicatedMasterCount": {
"$ref": "#/definitions/dedicatedMasterCount"
},
"ZoneAwarenessEnabled": {
"default": false,
"$ref": "#/definitions/enabled"
}
},
"tests": [
{
"description": "base case",
"input": {
"InstnaceType": "t2.small.elasticsearch",
"InstanceCount": 10,
"DedicatedMasterEnabled": true,
"DedicatedMasterType": "t2.small.elasticsearch",
"DedicatedMasterCount": 20,
"ZoneAwarenessEnabled": false
}
},
{
"description": "invalid - string type given instead of boolean",
"input": {
"InstnaceType": "t2.small.elasticsearch",
"InstanceCount": 10,
"DedicatedMasterEnabled": true,
"DedicatedMasterType": "t2.small.elasticsearch",
"DedicatedMasterCount": 20,
"ZoneAwarenessEnabled": "not-true"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/elasticsearchClusterConfig",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

elasticsearchVersion

{
"type": "string",
"default": 1.5,
"enum": [
"6.2",
"6.0",
"5.5",
"5.3",
"5.1",
"2.3",
"1.5"
],
"tests": [
{
"input": 5.5
},
{
"input": 1.5
},
{
"description": "invalid - not listed in allowed options",
"input": "t2.micro",
"expected": false
},
{
"description": "invalid - null",
"input": null,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/elasticsearchVersion",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

enabled

{
"type": "boolean",
"tests": [
{
"input": true
},
{
"input": false
},
{
"input": true
},
{
"input": false
},
{
"input": "true"
},
{
"input": 0
},
{
"input": "false"
},
{
"description": "invalid - string",
"input": "hello",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/enabled",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

encryptionAtRestOptions

{
"type": "object",
"properties": {
"Enabled": {
"$ref": "#/definitions/enabled"
},
"KmsKeyId": {
"$ref": "#/definitions/poolId"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/encryptionAtRestOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

endpoint

{
"type": "string",
"tests": [
{
"input": "search-streaming-logs-oojmrbhufr27n44zdri52wukdy.us-west-1.es.amazonaws.com"
},
{
"input": "search-logs-p5st2kbt77diuihoqi6omd7jiu.us-east-1.es.amazonaws.com"
},
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/endpoint",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

endpoints

{
"type": "object",
"properties": {
"Key": {
"$ref": "#/definitions/endpointsKey"
},
"Value": {
"$ref": "#/definitions/endpointsValue"
}
},
"tests": [
{
"input": {
"Key": "hello",
"Value": "hello"
}
},
{
"input": {
"Key": "vpc",
"Value": "vpc-endpoint-sdfds"
}
},
{
"description": "sample endpoints",
"input": {
"vpc": "vpc-vkumbha-45jbxibo7c7sbwabh6k4ehva2i.us-east-1.es.amazonaws.com"
}
},
{
"description": "vpc endpoints",
"input": {
"Key": "vpc",
"Value": "vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com"
}
},
{
"description": "null value",
"input": {
"Key": null,
"Value": null
}
},
{
"description": "empty string",
"input": {
"Key": "",
"Value": ""
}
},
{
"description": "invalid - should be key value pair",
"input": "hello",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/endpoints",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

endpointsKey

{
"type": "string",
"tests": [
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/endpointsKey",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

endpointsValue

{
"type": "string",
"tests": [
{
"input": "vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com"
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/endpointsValue",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

es

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "Elasticsearch"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/esAka"
}
},
"title": {
"const": "Elasticsearch"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"required": [
"name",
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "All valid properties",
"input": {
"name": "Elasticsearch",
"turbot": {
"akas": [
"arn:aws:es:us-east-1:123456789012"
],
"title": "Elasticsearch",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - service provider name prefixed",
"input": {
"name": "AWS EElasticSearch",
"turbot": {
"akas": [
"arn:aws:es:us-east-1:123456789012"
],
"title": "Elasticsearch",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/es",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

esAka

{
"type": "string",
"pattern": "arn:aws:es:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{12}$",
"tests": [
{
"description": "base",
"input": "arn:aws:es:us-east-1:123456789012"
},
{
"description": "invalid service name",
"input": "arn:aws:ES:us-east-1:123456789012",
"expected": false
},
{
"description": "invalid account id",
"input": "arn:aws:es:us-east-1:7482384923473272947",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/esAka",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

instanceCount

{
"type": "integer",
"default": 1,
"tests": [
{
"input": 1
},
{
"input": 12
},
{
"description": "invalid - string tpye provided",
"input": "three",
"expected": false
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - decimal value provided",
"input": 4.5,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/instanceCount",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

instanceType

{
"type": "string",
"pattern": "^[a-z0-9.?*]+$",
"default": "*",
"example": [
"*",
"t2.*",
"i3.?large.elasticsearch",
"*.elasticsearch"
],
"tests": [
{
"input": "*"
},
{
"input": "m3."
},
{
"input": "r4?"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - t2+",
"input": "t2.+",
"expected": false
},
{
"description": "invalid - t2-*",
"input": "t2-*",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/instanceType",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

instanceTypeList

{
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/instanceType"
},
"default": [
"*"
],
"tests": [
{
"description": "one instance type",
"input": [
"m3.medium.elasticsearch"
]
},
{
"description": "multiple instance types",
"input": [
"c4.large.elasticsearch",
"c4.xlarge.elasticsearch",
"c4.2xlarge.elasticsearch",
"c4.4xlarge.elasticsearch",
"c4.8xlarge.elasticsearch"
]
},
{
"description": "invalid - no instance type provided",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/instanceTypeList",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

iops

{
"type": "integer",
"minimum": 1000,
"maximum": 16000,
"tests": [
{
"input": 9999
},
{
"input": 11111
},
{
"description": "minimum",
"input": 1000
},
{
"description": "maximum",
"input": 16000
},
{
"description": "invalid - decimal value provided",
"input": 1114.5,
"expected": false
},
{
"description": "invalid - string tpye provided",
"input": "three",
"expected": false
},
{
"description": "invalid - less than minimum",
"input": 999,
"expected": false
},
{
"description": "invalid - greater than maximum",
"input": 111111111,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/iops",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

logPublishingOptions

{
"type": "object",
"properties": {
"INDEX_SLOW_LOGS": {
"$ref": "#/definitions/slowLogs"
},
"SEARCH_SLOW_LOGS": {
"$ref": "#/definitions/slowLogs"
}
},
"tests": [
{
"description": "base case",
"input": {
"INDEX_SLOW_LOGS": {
"CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:264071961897:log-group:sample-domain",
"Enabled": true
},
"SEARCH_SLOW_LOGS": {
"CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:264071961897:log-group:sample-domain1",
"Enabled": false
}
}
},
{
"description": "invalid - not a boolean type for enabled property",
"input": {
"INDEX_SLOW_LOGS": {
"CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:log-stream:my-log-stream-1",
"Enabled": "notfalse"
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/logPublishingOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

nodeToNodeEncryptionOptions

{
"type": "object",
"properties": {
"Enabled": {
"type": "boolean",
"description": "Specify true to enable node-to-node encryption."
}
},
"description": "Specifies the node-to-node encryption options.",
"tests": [
{
"input": {
"Enabled": false
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/nodeToNodeEncryptionOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

poolId

{
"type": "string",
"tests": [
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/poolId",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

roleArn

{
"type": "string",
"tests": [
{
"input": "arn:aws:iam::123456789012:role/my-kibana-role"
},
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/roleArn",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

securityGroupIds

{
"type": "string",
"tests": [
{
"input": "sg-12345678"
},
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/securityGroupIds",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

serviceSoftwareOptions

{
"type": "object",
"properties": {
"CurrentVersion": {
"type": "string",
"description": "The current service software version that is present on the domain."
},
"NewVersion": {
"type": "string",
"description": "The new service software version if one is available."
},
"UpdateAvailable": {
"type": "boolean",
"description": "<code>True</code> if you are able to update you service software version. <code>False</code> if you are not able to update your service software version. "
},
"Cancellable": {
"type": "boolean",
"description": "<code>True</code> if you are able to cancel your service software version update. <code>False</code> if you are not able to cancel your service software version. "
},
"UpdateStatus": {
"$ref": "#/definitions/deploymentStatus",
"description": "The status of your service software update. This field can take the following values: <code>ELIGIBLE</code>, <code>PENDING_UPDATE</code>, <code>IN_PROGRESS</code>, <code>COMPLETED</code>, and <code>NOT_ELIGIBLE</code>."
},
"Description": {
"type": "string",
"description": "The description of the <code>UpdateStatus</code>."
},
"AutomatedUpdateDate": {
"$ref": "#/definitions/deploymentCloseDateTimeStamp",
"description": "Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software."
}
},
"description": "The current options of an Elasticsearch domain service software options.",
"tests": [
{
"input": {
"CurrentVersion": "R20190724-P1",
"NewVersion": "",
"UpdateAvailable": false,
"Cancellable": false,
"UpdateStatus": "COMPLETED",
"Description": "There is no software update available for this domain.",
"AutomatedUpdateDate": "2019-09-08T06:33:27.000Z"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/serviceSoftwareOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

slowLogs

{
"type": "object",
"properties": {
"CloudWatchLogsLogGroupArn": {
"$ref": "#/definitions/cloudWatchLogsLogGroupArn"
},
"Enabled": {
"$ref": "#/definitions/enabled"
}
},
"tests": [
{
"description": "base case",
"input": {
"CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:264071961897:log-group:sample-domain",
"Enabled": true
}
},
{
"description": "response representation",
"input": {
"CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:264071961897:log-group:sample-domain1",
"Enabled": false
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/slowLogs",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

snapshotOptions

{
"type": "object",
"properties": {
"AutomatedSnapshotStartHour": {
"$ref": "#/definitions/automatedSnapshotStartHour"
}
},
"tests": [
{
"description": "base case",
"input": {
"AutomatedSnapshotStartHour": 15
}
},
{
"description": "additional property",
"input": {
"AutomatedSnapshotStartHour": 15,
"EbsEnabled": true
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/snapshotOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

subnetIds

{
"type": "string",
"tests": [
{
"input": "subnet-87654321"
},
{
"input": "subnet-12345678"
},
{
"input": null
},
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"input": "Test.The-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/subnetIds",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

tlsSecurityPolicy

{
"type": "string",
"enum": [
"Policy-Min-TLS-1-0-2019-07",
"Policy-Min-TLS-1-2-2019-07"
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/tlsSecurityPolicy",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

volumeSize

{
"type": "integer",
"tests": [
{
"input": 1
},
{
"input": 12
},
{
"description": "invalid - decimal value provided",
"input": 4.5,
"expected": false
},
{
"description": "invalid - string tpye provided",
"input": "three",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/volumeSize",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

volumeType

{
"type": "string",
"enum": [
"standard",
"gp2",
"io1"
],
"tests": [
{
"input": "standard"
},
{
"input": "gp2"
},
{
"input": "io1"
},
{
"description": "invalid - not listed in allowed options",
"input": "t2.micro",
"expected": false
},
{
"description": "invalid - case sensitive",
"input": "GP2",
"expected": false
},
{
"description": "invalid - null",
"input": null,
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/volumeType",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

volumeTypeList

{
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/volumeType"
},
"example": [
"gp2",
"io1"
],
"default": [
"standard",
"gp2",
"io1"
],
"tests": [
{
"description": "one volumetype provided",
"input": [
"gp2"
]
},
{
"description": "multiple volumetypes provided",
"input": [
"gp2",
"io1",
"standard"
]
},
{
"description": "invalid - no volumetype provided",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/volumeTypeList",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}

vpcOptions

{
"type": "object",
"properties": {
"SubnetIds": {
"type": "array",
"items": {
"$ref": "#/definitions/subnetIds"
}
},
"SecurityGroupIds": {
"type": "array",
"items": {
"$ref": "#/definitions/securityGroupIds"
}
}
},
"tests": [
{
"description": "base case",
"input": {
"SubnetIds": [
"subnet-12345678",
"subnet-12345678"
],
"SecurityGroupIds": [
"sg-12345678"
]
}
},
{
"description": "invalid - string type provided instead of array",
"input": {
"SubnetIds": [
"subnet-12345678",
"subnet-12345678"
],
"SecurityGroupIds": "sg-12345678"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-elasticsearch#/definitions/vpcOptions",
"modUri": "tmod:@turbot/aws-elasticsearch"
}
}