{ "$defs": { "eb_config": { "properties": { "deployment_bucket": { "type": "string" }, "stack": { "type": "string" }, "settings": { "items": { "$ref": "#/$defs/option_setting" }, "type": "array" }, "resources": { "type": "object" }, "packages": { "type": "object" }, "sources": { "type": "object" }, "files": { "type": "object" }, "users": { "type": "object" }, "groups": { "type": "object" }, "commands": { "type": "object" }, "container_commands": { "type": "object" }, "services": { "type": "object" } }, "required": [ "deployment_bucket" ], "type": "object" }, "elb_settings": { "properties": { "name": { "type": "string" }, "security_group": { "type": "string" }, "rollout_delay_minutes": { "type": "integer" } }, "required": [ "name", "security_group", "rollout_delay_minutes" ], "type": "object" }, "environment": { "properties": { "release": { "$ref": "#/$defs/release" }, "health": { "type": "string" } }, "required": [ "release", "health" ], "type": "object" }, "option_setting": { "properties": { "Namespace": { "type": "string" }, "OptionName": { "type": "string" }, "Value": { "type": "string" } }, "required": [ "Namespace", "OptionName", "Value" ], "type": "object" }, "port_mapping": { "properties": { "internal": { "type": "integer" }, "external": { "type": "integer" } }, "required": [ "internal", "external" ], "type": "object" }, "release": { "properties": { "image": { "type": "string" }, "tag": { "type": "string" }, "config": { "type": "string" }, "rollout_status": { "$ref": "#/$defs/rollout_status" } }, "required": [ "image", "tag", "config" ], "type": "object" }, "rollout_status": { "properties": { "num_instances": { "type": "integer" }, "completed_at": { "type": "string" } }, "required": [], "type": "object" }, "service": { "properties": { "name": { "type": "string" }, "state": { "$ref": "#/$defs/service_state" } }, "required": [ "name", "state" ], "type": "object" }, "service_config": { "properties": { "url": { "type": "string" }, "hosted_zone_id": { "type": "string" }, "aws_account_id": { "type": "string" }, "external_elb": { "$ref": "#/$defs/elb_settings" }, "service_role": { "type": "string" }, "image": { "type": "string" }, "port_mappings": { "items": { "$ref": "#/$defs/port_mapping" }, "type": "array" }, "volume_mappings": { "items": { "$ref": "#/$defs/volume_mapping" }, "type": "array" }, "run_args": { "items": { "type": "string" }, "type": "array" }, "eb": { "$ref": "#/$defs/eb_config" }, "remove_unused_after_minutes": { "type": "number" }, "timestamp": { "type": "string" } }, "required": [ "url", "hosted_zone_id", "aws_account_id", "service_role", "image", "port_mappings", "run_args", "eb" ], "type": "object" }, "service_current_state": { "properties": { "environments": { "items": { "$ref": "#/$defs/environment" }, "type": "array" } }, "required": [ "environments" ], "type": "object" }, "service_desired_state": { "properties": { "current": { "$ref": "#/$defs/release" }, "next": { "$ref": "#/$defs/release" }, "future": { "$ref": "#/$defs/release" } }, "required": [], "type": "object" }, "service_state": { "properties": { "current": { "$ref": "#/$defs/service_current_state" }, "desired": { "$ref": "#/$defs/service_desired_state" } }, "required": [ "current" ], "type": "object" }, "volume_mapping": { "properties": { "internal": { "type": "string" }, "external": { "type": "string" } }, "required": [ "internal", "external" ], "type": "object" } }, "additionalProperties": true, "properties": { "authenticated": { "const": true, "type": "boolean" }, "body": { "type": "object" }, "rawBody": { "type": "object" }, "headers": { "properties": { "User": { "type": "string" } }, "required": [ "User" ], "type": "object" }, "method": { "const": "GET", "type": "string" }, "parameterizedUrl": { "const": "/services", "type": "string" }, "path": { "type": "string" }, "query": { "type": "object" }, "url": { "type": "string" } }, "required": [ "body", "rawBody", "query", "path", "url", "method" ], "type": "object" }