{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/spectro-cloud/main/json-schema/spectro-cloud-v1-app-deployment-cluster-group-entity-schema.json", "title": "v1AppDeploymentClusterGroupEntity", "description": "Application deployment cluster group request payload", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/spectro-cloud-app-deployments-api-openapi.yml#/components/schemas/v1AppDeploymentClusterGroupEntity", "properties": { "metadata": { "$ref": "#/$defs/v1ObjectMetaInputEntity" }, "spec": { "$ref": "#/$defs/v1AppDeploymentClusterGroupSpec" } }, "type": "object", "$defs": { "v1AppDeploymentClusterGroupConfigEntity": { "description": "Application deployment cluster group config", "properties": { "targetSpec": { "$ref": "#/$defs/v1AppDeploymentClusterGroupTargetSpec" } }, "type": "object" }, "v1AppDeploymentClusterGroupSpec": { "description": "Application deployment cluster group spec", "properties": { "config": { "$ref": "#/$defs/v1AppDeploymentClusterGroupConfigEntity" }, "profile": { "$ref": "#/$defs/v1AppDeploymentProfileEntity" } }, "type": "object" }, "v1AppDeploymentClusterGroupTargetSpec": { "description": "Application deployment cluster group target spec", "properties": { "clusterGroupUid": { "description": "Application deployment cluster group uid", "type": "string" }, "clusterLimits": { "$ref": "#/$defs/v1AppDeploymentTargetClusterLimits" }, "clusterName": { "description": "Application deployment virtual cluster name", "type": "string" } }, "required": [ "clusterName", "clusterGroupUid" ], "type": "object" }, "v1AppDeploymentProfileEntity": { "description": "Application deployment profile request payload", "properties": { "appProfileUid": { "description": "Application deployment profile uid", "type": "string" } }, "required": [ "appProfileUid" ], "type": "object" }, "v1AppDeploymentTargetClusterLimits": { "description": "Application deployment target cluster limits", "properties": { "cpu": { "description": "CPU cores", "format": "int32", "type": "integer" }, "memoryMiB": { "description": "Memory in MiB", "format": "int32", "type": "integer" }, "storageGiB": { "description": "Storage in GiB", "format": "int32", "type": "integer" } } }, "v1ObjectMetaInputEntity": { "description": "ObjectMeta input entity for object creation", "properties": { "annotations": { "additionalProperties": { "type": "string" }, "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object" }, "name": { "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } }, "type": "object" } } }