--- $schema: http://json-schema.org/draft-04/schema# type: object required: - assets properties: assets: type: array items: type: object required: - service - name - provided_by - description - license additionalProperties: false properties: active: type: boolean hash_url: type: string hash: type: string service: oneOf: - $ref: "#/definitions/glance" - $ref: "#/definitions/heat" - $ref: "#/definitions/murano" - $ref: "#/definitions/bundle" - $ref: "#/definitions/tosca" name: type: string tags: type: array items: enum: - app depends: type: array items: type: object required: - name additionalProperties: false properties: name: type: string release: type: array items: enum: - Austin - Bexar - Cactus - Diablo - Essex - Folsom - Grizzly - Havana - Icehouse - Juno - Kilo - Liberty - Mitaka - Newton - Ocata - Pike minItems: 1 provided_by: type: object required: - name - href - company additionalProperties: false properties: name: type: string href: type: string pattern: "^((https?://)[a-z][a-z0-9_-]+(\\.[a-z][a-z0-9_-]+)+(/[a-z0-9\\._/~%\\-\\+&\\#\\?!=\\(\\)@]*)?)|(mailto:[a-z][a-z0-9._-]+@[a-z][a-z0-9_-]+(\\.[a-z][a-z0-9_-]+)+)$" company: type: string supported_by: type: object required: - name additionalProperties: false properties: name: type: string href: type: string pattern: "^((https?://)[a-z][a-z0-9_-]+(\\.[a-z][a-z0-9_-]+)+(/[a-z0-9\\._/~%\\-\\+&\\#\\?!=\\(\\)@]*)?)|(mailto:[a-z][a-z0-9._-]+@[a-z][a-z0-9_-]+(\\.[a-z][a-z0-9_-]+)+)$" company: type: string icon: type: object required: - top - left - height - url additionalProperties: false properties: top: type: number left: type: number height: type: number url: type: string pattern: "^((https?://)[a-z][a-z0-9_-]*(\\.[a-z][a-z0-9_-]*)+(/[a-z0-9\\._/~%\\-\\+&\\#\\?!=\\(\\)@]*)?)" description: type: string license: type: string pattern: "^(GPL .*)|(Apache .*)|(BSD .*)|(MIT)|(Free <= [0-9]+ (Users|Nodes))|(Multi-licensed OpenSource)|(Other)|(Unknown)$" license_url: type: string pattern: "^((https?://)[a-z][a-z0-9_-]+(\\.[a-z][a-z0-9_-]+)+(/[a-z0-9\\._/~%\\-\\+&\\#\\?!=\\(\\)@]*)?)$" cloud_user: type: string attributes: type: object additionalProperties: true patternProperties: .*: type: - string - number definitions: glance: required: - type - container_format - disk_format properties: type: type: string enum: - glance container_format: enum: - ami - ari - aki - bare - ovf disk_format: enum: - ami - ari - aki - vhd - vmdk - raw - qcow2 - vdi - iso min_ram: type: number min_disk: type: number additionalProperties: false heat: required: - type properties: type: type: string enum: - heat environment: type: object additionalProperties: true ever: type: array items: type: object additionalProperties: false properties: min: type: array items: type: number minItems: 3 maxItems: 3 max: type: array items: type: number minItems: 3 maxItems: 3 murano: required: - type additionalProperties: false properties: type: type: string enum: - murano format: type: string enum: - package package_name: type: string ever: type: array items: type: object additionalProperties: false properties: min: type: array items: type: number minItems: 3 maxItems: 3 max: type: array items: type: number minItems: 3 maxItems: 3 bundle: required: - type additionalProperties: false properties: type: type: string enum: - bundle murano_package_name: type: string tosca: required: - type - template_format additionalProperties: false properties: type: type: string enum: - tosca template_format: type: string enum: - yaml - csar ever: type: array items: type: object additionalProperties: false properties: min: type: array items: type: number minItems: 3 maxItems: 3 max: type: array items: type: number minItems: 3 maxItems: 3