diff --git a/components/schemas/containers/extension/ContainerExtension.yml b/components/schemas/containers/extension/ContainerExtension.yml new file mode 100644 index 00000000..b40c3fc0 --- /dev/null +++ b/components/schemas/containers/extension/ContainerExtension.yml @@ -0,0 +1,14 @@ +title: ContainerExtension +type: + - object + - "null" +description: Reference to container functionality that is added by the Cycle platform. +required: + - identifier +properties: + identifier: + type: string + enum: + - "virtual-machine-v1" + id: + $ref: ../../ID.yml \ No newline at end of file diff --git a/components/schemas/containers/instances/Instance.yml b/components/schemas/containers/instances/Instance.yml index 3ddcde00..5da6f7ae 100644 --- a/components/schemas/containers/instances/Instance.yml +++ b/components/schemas/containers/instances/Instance.yml @@ -80,6 +80,10 @@ properties: service: $ref: ../ServiceContainerIdentifier.yml description: The type of service this instance is within the environment, if any. + extension: + anyOf: + - $ref: ../extension/ContainerExtension.yml + - type: "null" state: $ref: InstanceState.yml autoscale: diff --git a/components/schemas/containers/summaries/ImageSummary.yml b/components/schemas/containers/summaries/ImageSummary.yml index a583c434..7150b34a 100644 --- a/components/schemas/containers/summaries/ImageSummary.yml +++ b/components/schemas/containers/summaries/ImageSummary.yml @@ -11,19 +11,9 @@ properties: - $ref: "../../ID.yml" - type: "null" extension: - type: - - object - - "null" - description: An image that is packaged with Cycle directly, such as the global load balancer. - required: - - identifier - properties: - identifier: - type: string - enum: - - "virtual-machine-v1" - id: - $ref: ../../ID.yml + anyOf: + - $ref: ../extension/ContainerExtension.yml + - type: "null" service: anyOf: - $ref: ../ServiceContainerIdentifier.yml