Definitions for @turbot/aws-ssm

association

{
"type": "object",
"properties": {
"AssociationId": {
"$ref": "#/definitions/associationId"
},
"AssociationName": {
"$ref": "#/definitions/associationName"
},
"Overview": {
"$ref": "#/definitions/associationOverview"
},
"Status": {
"$ref": "#/definitions/associationStatus"
},
"Name": {
"type": "string"
},
"AssociationVersion": {
"type": "string"
},
"Date": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastUpdateAssociationDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ScheduleExpression": {
"type": "string"
},
"Targets": {
"type": "array"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/associationAka"
}
},
"title": {
"$ref": "#/definitions/associationId"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"lastUsedTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Name": "AWS-GatherSoftwareInventory",
"AssociationVersion": "1",
"Date": "2019-03-04T11:33:49.985Z",
"LastUpdateAssociationDate": "2019-03-04T11:33:49.985Z",
"Overview": {
"Status": "Pending",
"DetailedStatus": "Creating"
},
"DocumentVersion": "$DEFAULT",
"Parameters": {
"applications": [
"Enabled"
],
"awsComponents": [
"Enabled"
],
"customInventory": [
"Enabled"
],
"instanceDetailedInformation": [
"Enabled"
],
"networkConfig": [
"Enabled"
],
"windowsUpdates": [
"Enabled"
]
},
"AssociationId": "48630f28-7323-4799-88d6-d3d58480b9fe",
"Targets": [
{
"Key": "tag:turbot:InventoryCollection",
"Values": [
"true"
]
}
],
"ScheduleExpression": "rate(6 hours)",
"AssociationName": "turbot_inventory",
"turbot": {
"title": "18acbd97-5590-4445-8749-54f6845047e9",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/association",
"modUri": "tmod:@turbot/aws-ssm"
}
}

associationAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ssm:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:association/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ssm:us-east-1:123456789012:association/10596223-8e42-49ca-94f7-7704a56386cb"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ssm:us-east-1:123456789012:associations/10596223-8e42-49ca-94f7-7704a56386cb",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ssm:use-east-1:123456789012:association/10596223-8e42-49ca-94f7-7704a56386cb",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ssm:us-east-1:1234567890123:association/10596223-8e42-49ca-94f7-7704a56386cb",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/associationAka",
"modUri": "tmod:@turbot/aws-ssm"
}
}

associationId

{
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"tests": [
{
"input": "18acbd97-5590-4445-8749-54f6845047e9"
},
{
"input": "18Acbd97-5590-4445-8749-54f6845027ef"
},
{
"description": "invalid - association id entered",
"input": "18Acbd@7-5590-4445-8749-54f6845027ef",
"expected": false
},
{
"description": "invalid - maximum length",
"input": "18Acbd@7-5590-4445-879-54f6845027e",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/associationId",
"modUri": "tmod:@turbot/aws-ssm"
}
}

associationName

{
"type": "string",
"pattern": "^[-a-zA-Z0-9_.:/]{3,128}$",
"tests": [
{
"description": "valid association name",
"input": "AWSGatherSoftwareInventory"
},
{
"description": "Hyphens in association name",
"input": "AWS-GatherSoftwareInventory"
},
{
"description": "Numeric association name",
"input": 111111111
},
{
"description": "Underscores in association name",
"input": "AWS_GatherSoftwareInventory"
},
{
"description": "Association name is valid if 3 chars",
"input": 123
},
{
"description": "invalid - association name is invalid if 129 or more chars",
"input": 1.234567891234568e+116,
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - rulenames beyond the regex",
"input": "Hello@123",
"expected": false
},
{
"description": "invalid - $ in association name",
"input": "Hello$123",
"expected": false
},
{
"description": "invalid - association name is invalid if 2 or less chars",
"input": 12,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/associationName",
"modUri": "tmod:@turbot/aws-ssm"
}
}

associationOverview

{
"type": "object",
"properties": {
"Status": {
"$ref": "#/definitions/associationStatus"
},
"DetailedStatus": {
"type": "string"
},
"InstanceAssociationStatusAggregatedCount": {
"type": "object"
}
},
"tests": [
{
"description": "base case",
"input": {
"DetailedStatus": "Success",
"InstanceAssociationStatusAggregatedCount": {
"Success": 2
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/associationOverview",
"modUri": "tmod:@turbot/aws-ssm"
}
}

associationStatus

{
"type": "string",
"enum": [
"Pending",
"Success",
"Failed"
],
"tests": [
{
"input": "Pending"
},
{
"input": "Success"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/associationStatus",
"modUri": "tmod:@turbot/aws-ssm"
}
}

document

{
"type": "object",
"properties": {
"Name": {
"$ref": "#/definitions/documentName"
},
"Status": {
"$ref": "#/definitions/documentStatus"
},
"DocumentType": {
"$ref": "#/definitions/documentType"
},
"DocumentFormat": {
"$ref": "#/definitions/documentFormat"
},
"DocumentVersion": {
"$ref": "#/definitions/documentVersion"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/documentAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/documentName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Status": "Active",
"Name": "test01",
"DocumentType": "Command",
"Tags": [
{
"Key": "Env",
"Value": "Test"
}
],
"DocumentVersion": "1",
"DocumentFormat": "JSON",
"turbot": {
"tags": {
"Env": "Test"
},
"title": "test01",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing Name",
"input": {
"Status": "Active",
"DocumentType": "Command",
"Tags": [
{
"Key": "Env",
"Value": "Test"
}
],
"DocumentVersion": "1",
"DocumentFormat": "YAML",
"turbot": {
"tags": {
"Env": "Test"
},
"title": "test01",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing turbot data",
"input": {
"Status": "Active",
"Name": "test01",
"DocumentType": "Command",
"DocumentVersion": "1",
"DocumentFormat": "JSON"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/document",
"modUri": "tmod:@turbot/aws-ssm"
}
}

documentAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ssm:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:document/[a-zA-Z0-9_\\-.:/]{3,128}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ssm:us-east-1:123456789012:document/test01"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ssm:us-east-1:123456789012:documents/test01",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ssm:use-east-1:123456789012:document/test01",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ssm:us-east-1:1234567890123:document/test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/documentAka",
"modUri": "tmod:@turbot/aws-ssm"
}
}

documentFormat

{
"type": "string",
"enum": [
"YAML",
"JSON"
],
"tests": [
{
"input": "JSON"
},
{
"description": "invalid - incorrect value provided",
"input": "NODE.JS",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/documentFormat",
"modUri": "tmod:@turbot/aws-ssm"
}
}

documentName

{
"type": "string",
"pattern": "^[a-zA-Z0-9_\\-.:/]{3,128}$",
"tests": [
{
"input": "test01"
},
{
"description": "invalid - cannot start with special characters",
"input": ")^test999",
"expected": false
},
{
"description": "invalid - too long",
"input": "test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/documentName",
"modUri": "tmod:@turbot/aws-ssm"
}
}

documentStatus

{
"type": "string",
"enum": [
"Creating",
"Active",
"Updating",
"Deleting",
"Failed"
],
"tests": [
{
"input": "Creating"
},
{
"description": "invalid - incorrect value provided",
"input": "Enabled",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/documentStatus",
"modUri": "tmod:@turbot/aws-ssm"
}
}

documentType

{
"type": "string",
"enum": [
"ApplicationConfiguration",
"ApplicationConfigurationSchema",
"Automation",
"ChangeCalendar",
"Command",
"DeploymentStrategy",
"Package",
"Policy",
"Session"
],
"tests": [
{
"input": "Policy"
},
{
"description": "invalid - incorrect value provided",
"input": "array",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/documentType",
"modUri": "tmod:@turbot/aws-ssm"
}
}

documentVersion

{
"type": "string",
"pattern": "([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)",
"tests": [
{
"input": "1"
},
{
"description": "invalid - incorrect value 0 provided",
"input": "0",
"expected": false
},
{
"description": "invalid - array type provided",
"input": [
"555"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/documentVersion",
"modUri": "tmod:@turbot/aws-ssm"
}
}

instanceId

{
"type": "string",
"pattern": "^i-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "i-a2345678"
},
{
"input": "i-1234567890abcdef0"
},
{
"description": "invalid - characters allowed from a to f only",
"input": "i-1234567890abcdefz",
"expected": false
},
{
"description": "invalid - should always start with i",
"input": "id-b61106d4",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/instanceId",
"modUri": "tmod:@turbot/aws-ssm"
}
}

maintenanceWindow

{
"type": "object",
"properties": {
"WindowId": {
"$ref": "#/definitions/windowId"
},
"Name": {
"$ref": "#/definitions/maintenanceWindowName"
},
"Description": {
"type": "string"
},
"Enabled": {
"type": "boolean"
},
"Duration": {
"type": "integer"
},
"Cutoff": {
"type": "integer"
},
"Schedule": {
"type": "string"
},
"AllowUnassociatedTargets": {
"type": "boolean"
},
"CreatedDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ModifiedDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Tags": {
"type": "array",
"items": {
"$ref": "aws#/definitions/tag"
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/maintenanceWindowAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/maintenanceWindowName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"lastUsedTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"WindowId": "mw-06100ed32c32d1aaa",
"Name": "monthly",
"Description": "Turbot Weekly Maintenance Window",
"Schedule": "cron(0 0 22 ? * MON *)",
"Cutoff": 1,
"Enabled": true,
"AllowUnassociatedTargets": false,
"CreatedDate": "2018-09-20T00:44:19.489Z",
"ModifiedDate": "2019-07-11T08:29:58.317Z",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"turbot": {
"akas": [
"arn:aws:ssm:us-east-1:123456789012:maintenancewindow/mw-0b7e1d00a2081bed0"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "Every-8-Hours",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing WindowId",
"input": {
"Name": "Every-8-Hours",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"turbot": {
"akas": [
"arn:aws:ssm:us-east-1:123456789012:maintenancewindow/mw-0b7e1d00a2081bed0"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "Every-8-Hours",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing turbot data",
"input": {
"WindowId": "mw-0b7e1d00a2081bed0",
"Name": "Every-8-Hours",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/maintenanceWindow",
"modUri": "tmod:@turbot/aws-ssm"
}
}

maintenanceWindowAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ssm:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:maintenancewindow/mw-[0-9a-f]{17}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ssm:us-east-1:123456789012:maintenancewindow/mw-0b7e1d00a2081bed0"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ssm:us-east-1:123456789012:maintenancewindows/mw-0b7e1d00a2081bed0",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ssm:use-east-1:123456789012:maintenancewindows/mw-0b7e1d00a2081bed0",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ssm:us-east-1:123456789012345:maintenancewindows/mw-0b7e1d00a2081bed0",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/maintenanceWindowAka",
"modUri": "tmod:@turbot/aws-ssm"
}
}

maintenanceWindowName

{
"type": "string",
"pattern": "^[a-zA-Z0-9._-]{3,128}$",
"tests": [
{
"input": "Every8Hours"
},
{
"description": "using special characters period, underscore and hyphen",
"input": "hello.there_hru-okaybye1"
},
{
"description": "max length",
"input": "a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567"
},
{
"description": "invalid - minimum 3 character length",
"input": "Hi",
"expected": false
},
{
"description": "invalid - too long",
"input": "a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/maintenanceWindowName",
"modUri": "tmod:@turbot/aws-ssm"
}
}

managedInstance

{
"type": "object",
"properties": {
"InstanceId": {
"$ref": "#/definitions/instanceId"
},
"PingStatus": {
"$ref": "#/definitions/pingStatus"
},
"LastPingDateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"AgentVersion": {
"type": "string"
},
"IsLatestVersion": {
"type": "string"
},
"PlatformType": {
"$ref": "#/definitions/platformType"
},
"PlatformName": {
"type": "string"
},
"PlatformVersion": {
"type": "string"
},
"ActivationId": {
"type": "string"
},
"RegistrationDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ResourceType": {
"$ref": "#/definitions/resourceType"
},
"Name": {
"type": "string"
},
"IPAddress": {
"type": "string"
},
"ComputerName": {
"type": "string"
},
"AssociationStatus": {
"type": "string"
},
"LastAssociationExecutionDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastSuccessfulAssociationExecutionDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"AssociationOverview": {
"$ref": "#/definitions/associationOverview"
},
"SourceId": {
"$ref": "#/definitions/sourceId"
},
"SourceType": {
"$ref": "#/definitions/sourceType"
},
"ResourceComplianceSummaryItems": {
"type": "array"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/managedInstanceAka"
}
},
"title": {
"$ref": "#/definitions/sourceId"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"AssociationOverview": {
"DetailedStatus": "Success",
"InstanceAssociationStatusAggregatedCount": {
"Success": 4
}
},
"AssociationStatus": "Success",
"ComputerName": "ip-172-31-88-195.ec2.internal",
"IPAddress": "172.31.88.195",
"InstanceId": "i-06e8f7c925739851e",
"IsLatestVersion": true,
"LastAssociationExecutionDate": "2022-03-31T08:52:02.000Z",
"LastPingDateTime": "2022-03-31T09:09:31.639Z",
"LastSuccessfulAssociationExecutionDate": "2022-03-31T08:52:02.000Z",
"PingStatus": "Online",
"PlatformName": "Amazon Linux",
"PlatformType": "Linux",
"PlatformVersion": "2",
"ResourceComplianceSummaryItems": [
{
"ComplianceType": "Association",
"CompliantSummary": {
"CompliantCount": 4,
"SeveritySummary": {
"CriticalCount": 0,
"HighCount": 0,
"InformationalCount": 0,
"LowCount": 0,
"MediumCount": 0,
"UnspecifiedCount": 4
}
},
"ExecutionSummary": {
"ExecutionTime": "2022-03-31T08:54:33.000Z"
},
"NonCompliantSummary": {
"NonCompliantCount": 0,
"SeveritySummary": {
"CriticalCount": 0,
"HighCount": 0,
"InformationalCount": 0,
"LowCount": 0,
"MediumCount": 0,
"UnspecifiedCount": 0
}
},
"OverallSeverity": "UNSPECIFIED",
"ResourceId": "i-06e8f7c925739851e",
"ResourceType": "ManagedInstance",
"Status": "COMPLIANT"
},
{
"ComplianceType": "Patch",
"CompliantSummary": {
"CompliantCount": 450,
"SeveritySummary": {
"CriticalCount": 0,
"HighCount": 0,
"InformationalCount": 0,
"LowCount": 0,
"MediumCount": 0,
"UnspecifiedCount": 450
}
},
"ExecutionSummary": {
"ExecutionId": "7a956f37-6ad7-4d25-8f99-cc8a5dd75de8",
"ExecutionTime": "2022-03-31T08:51:25.000Z",
"ExecutionType": "Command"
},
"NonCompliantSummary": {
"NonCompliantCount": 0,
"SeveritySummary": {
"CriticalCount": 0,
"HighCount": 0,
"InformationalCount": 0,
"LowCount": 0,
"MediumCount": 0,
"UnspecifiedCount": 0
}
},
"OverallSeverity": "UNSPECIFIED",
"ResourceId": "i-06e8f7c925739851e",
"ResourceType": "ManagedInstance",
"Status": "COMPLIANT"
}
],
"ResourceType": "EC2Instance",
"SourceId": "i-06e8f7c925739851e",
"SourceType": "AWS::EC2::Instance",
"turbot": {
"akas": [
"arn:aws:ssm:us-east-1:123456789012:managed-instance/i-06e8f7c925739851e"
],
"title": "i-06e8f7c925739851e",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/managedInstance",
"modUri": "tmod:@turbot/aws-ssm"
}
}

managedInstanceAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ssm:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:managed-instance/[a-zA_Z0-9-]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ssm:us-east-1:123456789012:managed-instance/i-06e8f7c925739851e"
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ssm:use-east-1:123456789012:managed-instance/i-06e8f7c925739851e",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ssm:us-east-1:123456789012345:managed-instance/i-06e8f7c925739851e",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/managedInstanceAka",
"modUri": "tmod:@turbot/aws-ssm"
}
}

parameterAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ssm:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:parameter/[a-zA-Z0-9_\\-.:/]{3,128}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ssm:us-east-1:624358524054:parameter/factory"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ssm:us-east-1:123456789012:parameterad/test01",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ssm:use-east-1:123456789012:parameter/test01",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ssm:us-east-1:1234567890123:parameter/test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/parameterAka",
"modUri": "tmod:@turbot/aws-ssm"
}
}

parameterName

{
"type": "string",
"pattern": "^[A-Za-z0-9.-_ ]{1,20148}$",
"tests": [
{
"input": "factory"
},
{
"description": "invalid - cannot start with special characters",
"input": ")^test999",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/parameterName",
"modUri": "tmod:@turbot/aws-ssm"
}
}

parameterType

{
"type": "string",
"enum": [
"String",
"StringList",
"SecureString"
],
"tests": [
{
"input": "String"
},
{
"description": "invalid - incorrect value provided",
"input": "array",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/parameterType",
"modUri": "tmod:@turbot/aws-ssm"
}
}

pingStatus

{
"type": "string",
"enum": [
"Online",
"ConnectionLost",
"Inactive"
],
"tests": [
{
"description": "valid - correct ping status",
"input": "Inactive"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/pingStatus",
"modUri": "tmod:@turbot/aws-ssm"
}
}

platformType

{
"type": "string",
"enum": [
"Windows",
"Linux",
"MacOS"
],
"tests": [
{
"description": "valid - correct ping status",
"input": "MacOS"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/platformType",
"modUri": "tmod:@turbot/aws-ssm"
}
}

resourceType

{
"type": "string",
"enum": [
"ManagedInstance",
"Document",
"EC2Instance"
],
"tests": [
{
"description": "valid - correct ping status",
"input": "EC2Instance"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/resourceType",
"modUri": "tmod:@turbot/aws-ssm"
}
}

sourceId

{
"type": "string",
"tests": [
{
"input": "i-a2345678"
},
{
"input": "i-1234567890abcdef0"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/sourceId",
"modUri": "tmod:@turbot/aws-ssm"
}
}

sourceType

{
"type": "string",
"enum": [
"AWS::EC2::Instance",
"AWS::IoT::Thing",
"AWS::SSM::ManagedInstance"
],
"tests": [
{
"description": "valid - correct ping status",
"input": "AWS::SSM::ManagedInstance"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/sourceType",
"modUri": "tmod:@turbot/aws-ssm"
}
}

ssm

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/ssmAka"
}
},
"title": {
"const": "SSM"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All data are valid",
"input": {
"name": "SSM",
"turbot": {
"akas": [
"arn:aws:ssm:us-east-1:123123123123"
],
"title": "SSM",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/ssm",
"modUri": "tmod:@turbot/aws-ssm"
}
}

ssmAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ssm:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}",
"tests": [
{
"description": "base",
"input": "arn:aws:ssm:us-east-1:123123123123"
},
{
"description": "invalid service name",
"input": "arn:aws:ssms:us-east-1:123123123123",
"expected": false
},
{
"description": "invalid region name",
"input": "arn:aws:ssm:us-eastdk-74381:123456786354",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/ssmAka",
"modUri": "tmod:@turbot/aws-ssm"
}
}

ssmParameter

{
"type": "object",
"properties": {
"Name": {
"$ref": "#/definitions/parameterName"
},
"WithDecryption": {
"type": "boolean"
},
"Type": {
"$ref": "#/definitions/parameterType"
},
"Value": {
"type": "string"
},
"Version": {
"type": "integer"
},
"Selector": {
"type": "string"
},
"SourceResult": {
"type": "string"
},
"ARN": {
"$ref": "#/definitions/parameterAka"
},
"TagList": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/parameterAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/parameterName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Type": "String",
"Name": "test01",
"Value": "test",
"ARN": "arn:aws:ssm:us-east-1:624358524054:parameter/factory",
"turbot": {
"title": "test01",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/ssmParameter",
"modUri": "tmod:@turbot/aws-ssm"
}
}

windowId

{
"type": "string",
"pattern": "^mw-[0-9a-f]{17}$",
"tests": [
{
"input": "mw-00e1b9acbee062bf2"
},
{
"description": "invalid - should always start with mw-",
"input": "00e1b9acbee062bf2",
"expected": false
},
{
"description": "invalid - too long",
"input": "mw-00e1b9acbee062bf234",
"expected": false
},
{
"description": "invalid - alphabets beyond f are not allowed",
"input": "mw-ghijklmnopqrstuvw",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ssm#/definitions/windowId",
"modUri": "tmod:@turbot/aws-ssm"
}
}