{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#Service",
    "description": "A service provided by a vendor.",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "category": {
                    "description": "The category of service, e.g. software, platform, infrastructure, other",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "examples": [
                            "software",
                            "platform",
                            "infrastructure",
                            "physical",
                            "network",
                            "application",
                            "security",
                            "other"
                        ]
                    }
                },
                "function": {
                    "description": "The functions provided by the service, e.g. access-review, database, load-balancing, other",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "examples": [
                            "access-review",
                            "api-gateway",
                            "auditing",
                            "caching",
                            "certificate-management",
                            "config-auditing",
                            "content-distribution",
                            "container-orchestration",
                            "container-registry",
                            "compute",
                            "database",
                            "data-analytics",
                            "data-warehousing",
                            "ddos-protection",
                            "desktop-virtualization",
                            "DLP",
                            "DNS",
                            "email",
                            "encryption",
                            "file-system",
                            "IAM",
                            "indexing",
                            "key-management",
                            "kubernetes-management",
                            "load-balancing",
                            "logging",
                            "monitoring",
                            "networking",
                            "notification",
                            "password-management",
                            "provisioning",
                            "queuing",
                            "scheduling",
                            "serverless",
                            "SFTP",
                            "SIEM",
                            "storage",
                            "VAS",
                            "WAF",
                            "workflow",
                            "workload-management",
                            "other"
                        ]
                    }
                },
                "endpoints": {
                    "description": "Array of service endpoints, e.g. ec2.amazonaws.com",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "fedrampModerate": {
                    "description": "Indicates whether this service is compliant with FedRAMP Moderate",
                    "type": "boolean"
                },
                "hipaaEligible": {
                    "description": "Indicates whether this service is HIPPA eligible",
                    "type": "boolean"
                }
            },
            "required": ["category", "function"]
        }
    ]
}
