Darja Malyavkina b1bf7d47e9 Add osc command "schema"
Change-Id: I02f3b79b81843da8342489f87663629d7112cc07
2016-10-04 13:36:59 +03:00

373 lines
17 KiB
Python

# Copyright 2016 OpenStack Foundation
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
FIXTURE_SCHEMA = {
u'name': u'sample_artifact',
u'properties': {
u'activated_at': {
u'description': u'Datetime when artifact has became active.',
u'filter_ops': [u'eq',
u'neq',
u'in',
u'gt',
u'gte',
u'lt',
u'lte'],
u'format': u'date-time',
u'glareType': u'DateTime',
u'readOnly': True,
u'required_on_activate': False,
u'sortable': True,
u'type': [u'string',
u'null']},
u'created_at': {
u'description': u'Datetime when artifact has been created.',
u'filter_ops': [u'eq',
u'neq',
u'in',
u'gt',
u'gte',
u'lt',
u'lte'],
u'format': u'date-time',
u'glareType': u'DateTime',
u'readOnly': True,
u'sortable': True,
u'type': u'string'},
u'description': {u'default': u'',
u'description': u'Artifact description.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'maxLength': 4096,
u'mutable': True,
u'required_on_activate': False,
u'type': [u'string',
u'null']},
u'icon': {u'additionalProperties': False,
u'description': u'Artifact icon.',
u'filter_ops': [],
u'glareType': u'Blob',
u'properties': {u'md5': {u'type': [u'string', u'null']},
u'sha1': {u'type': [u'string', u'null']},
u'sha256': {u'type': [u'string', u'null']},
u'content_type': {u'type': u'string'},
u'external': {u'type': u'boolean'},
u'size': {u'type': [u'number',
u'null']},
u'status': {u'enum': [u'saving',
u'active',
u'pending_delete'],
u'type': u'string'}},
u'required': [u'size',
u'md5', u'sha1', u'sha256',
u'external',
u'status',
u'content_type'],
u'required_on_activate': False,
u'type': [u'object',
u'null']},
u'id': {u'description': u'Artifact UUID.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'maxLength': 255,
u'pattern': u'^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-'
u'fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$',
u'readOnly': True,
u'sortable': True,
u'type': u'string'},
u'license': {u'description': u'Artifact license type.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'maxLength': 255,
u'required_on_activate': False,
u'type': [u'string',
u'null']},
u'license_url': {u'description': u'URL to artifact license.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'maxLength': 255,
u'required_on_activate': False,
u'type': [u'string',
u'null']},
u'metadata': {u'additionalProperties': {u'type': u'string'},
u'default': {},
u'description': u'Key-value dict with useful information'
u'about an artifact.',
u'filter_ops': [u'eq',
u'neq'],
u'glareType': u'StringDict',
u'maxProperties': 255,
u'required_on_activate': False,
u'type': [u'object',
u'null']},
u'name': {u'description': u'Artifact Name.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'maxLength': 255,
u'required_on_activate': False,
u'sortable': True,
u'type': u'string'},
u'owner': {u'description': u'ID of user/tenant who uploaded artifact.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'maxLength': 255,
u'readOnly': True,
u'required_on_activate': False,
u'sortable': True,
u'type': u'string'},
u'provided_by': {u'additionalProperties': False,
u'description': u'Info about artifact authors.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'StringDict',
u'maxProperties': 255,
u'properties': {u'company': {u'type': u'string'},
u'href': {u'type': u'string'},
u'name': {u'type': u'string'}},
u'required_on_activate': False,
u'type': [u'object',
u'null']},
u'release': {u'default': [],
u'description': u'Target OpenStack release for artifact. '
u'It is usually the same when artifact '
u'was uploaded.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'StringList',
u'items': {u'type': u'string'},
u'maxItems': 255,
u'required_on_activate': False,
u'type': [u'array',
u'null'],
u'unique': True},
u'status': {u'default': u'drafted',
u'description': u'Artifact status.',
u'enum': [u'drafted',
u'active',
u'deactivated',
u'deleted'],
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'String',
u'sortable': True,
u'type': u'string'},
u'supported_by': {u'additionalProperties': {u'type': u'string'},
u'description': u'Info about persons who '
u'responsible for artifact support',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'StringDict',
u'maxProperties': 255,
u'required': [u'name'],
u'required_on_activate': False,
u'type': [u'object',
u'null']},
u'tags': {u'default': [],
u'description': u'List of tags added to Artifact.',
u'filter_ops': [u'eq',
u'neq',
u'in'],
u'glareType': u'StringList',
u'items': {u'type': u'string'},
u'maxItems': 255,
u'mutable': True,
u'required_on_activate': False,
u'type': [u'array',
u'null']},
u'updated_at': {
u'description': u'Datetime when artifact has been updated '
u'last time.',
u'filter_ops': [u'eq',
u'neq',
u'in',
u'gt',
u'gte',
u'lt',
u'lte'],
u'format': u'date-time',
u'glareType': u'DateTime',
u'readOnly': True,
u'sortable': True,
u'type': u'string'},
u'version': {u'default': u'0.0.0',
u'description': u'Artifact version(semver).',
u'filter_ops': [u'eq',
u'neq',
u'in',
u'gt',
u'gte',
u'lt',
u'lte'],
u'glareType': u'String',
u'pattern': u'/^([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-'
u'([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?'
u'(?:\\+[0-9A-Za-z-]+)?$/',
u'required_on_activate': False,
u'sortable': True,
u'type': u'string'},
u'visibility': {u'default': u'private',
u'description': u'Artifact visibility that defines if '
u'artifact can be available to other '
u'users.',
u'filter_ops': [u'eq'],
u'glareType': u'String',
u'maxLength': 255,
u'sortable': True,
u'type': u'string'},
u'image': {u'additionalProperties': False,
u'description': u'Image binary.',
u'filter_ops': [],
u'glareType': u'Blob',
u'properties': {
u'md5': {u'type': [u'string', u'null']},
u'sha1': {u'type': [u'string', u'null']},
u'sha256': {u'type': [u'string', u'null']},
u'content_type': {u'type': u'string'},
u'external': {u'type': u'boolean'},
u'size': {u'type': [u'number',
u'null']},
u'status': {u'enum': [u'saving',
u'active',
u'pending_delete'],
u'type': u'string'}},
u'required': [u'size',
u'md5', u'sha1', u'sha256',
u'external',
u'status',
u'content_type'],
u'required_on_activate': False,
u'type': [u'object', u'null']},
u'package': {
u'additionalProperties': False,
u'description': u'Murano Package binary.',
u'filter_ops': [],
u'glareType': u'Blob',
u'properties': {u'md5': {u'type': [u'string', u'null']},
u'sha1': {u'type': [u'string', u'null']},
u'sha256': {u'type': [u'string', u'null']},
u'content_type': {u'type': u'string'},
u'external': {u'type': u'boolean'},
u'size': {u'type': [u'number',
u'null']},
u'status': {u'enum': [u'saving',
u'active',
u'pending_delete'],
u'type': u'string'}},
u'required': [u'size',
u'md5', u'sha1', u'sha256',
u'external',
u'status',
u'content_type'],
u'required_on_activate': False,
u'type': [u'object',
u'null']},
u'environment': {
u'additionalProperties': False,
u'description': u'Heat Environment text body.',
u'filter_ops': [],
u'glareType': u'Blob',
u'properties': {u'md5': {u'type': [u'string', u'null']},
u'sha1': {u'type': [u'string', u'null']},
u'sha256': {u'type': [u'string', u'null']},
u'content_type': {u'type': u'string'},
u'external': {u'type': u'boolean'},
u'size': {u'type': [u'number',
u'null']},
u'status': {u'enum': [u'saving',
u'active',
u'pending_delete'],
u'type': u'string'}},
u'required': [u'size',
u'md5', u'sha1', u'sha256',
u'external',
u'status',
u'content_type'],
u'type': [u'object',
u'null']},
u'blob': {
u'additionalProperties': False,
u'description': u'I am Blob',
u'filter_ops': [],
u'glareType': u'Blob',
u'mutable': True,
u'properties': {
u'md5': {u'type': [u'string', u'null']},
u'sha1': {u'type': [u'string', u'null']},
u'sha256': {u'type': [u'string', u'null']},
u'content_type': {
u'type': u'string'},
u'external': {
u'type': u'boolean'},
u'size': {u'type': [
u'number',
u'null']},
u'status': {
u'enum': [
u'saving',
u'active',
u'pending_delete'],
u'type': u'string'}},
u'required': [u'size',
u'md5', u'sha1', u'sha256',
u'external',
u'status',
u'content_type'],
u'required_on_activate': False,
u'type': [u'object',
u'null']},
u'template': {
u'additionalProperties': False,
u'description': u'TOSCA template body.',
u'filter_ops': [],
u'glareType': u'Blob',
u'properties': {
u'md5': {u'type': [u'string', u'null']},
u'sha1': {u'type': [u'string', u'null']},
u'sha256': {u'type': [u'string', u'null']},
u'content_type': {
u'type': u'string'},
u'external': {u'type': u'boolean'},
u'size': {u'type': [u'number',
u'null']},
u'status': {u'enum': [u'saving',
u'active',
u'pending_delete'],
u'type': u'string'}},
u'required': [u'size',
u'md5', u'sha1', u'sha256',
u'external',
u'status',
u'content_type'],
u'type': [u'object',
u'null']},
}
}