
from nova.api.validation import parameter_types


create_backup = {
    'type': 'object',
    'properties': {
        'create_backup': {
            'type': 'object',
            'properties': {
                'name': parameter_types.name,
                'backup_type': {
                    'type': 'string',
                    'enum': ['daily', 'weekly'],
                },
                'rotation': {
                    'type': ['integer', 'string'],
                    'pattern': '^[0-9]+$',
                    'minimum': 0,
                },
                'metadata': {
                    'type': 'object',
                }
            },
            'required': ['name', 'backup_type', 'rotation'],
            'additionalProperties': False,
        },
    },
    'required': ['create_backup'],
    'additionalProperties': False,
}


from nova.api.validation import parameter_types


create_backup = {
    'type': 'object',
    'properties': {
        'create_backup': {
            'type': 'object',
            'properties': {
                'name': parameter_types.name,
                'backup_type': {
                    'type': 'string',
                },
                'rotation': {
                    'type': ['integer', 'string'],
                    'pattern': '^[0-9]+$',
                    'minimum': 0,
                },
                'metadata': {
                    'type': 'object',
                }
            },
            'required': ['name', 'backup_type', 'rotation'],
            'additionalProperties': False,
        },
    },
    'required': ['create_backup'],
    'additionalProperties': False,
}

Remove param check for backup type on v2.1 API
Remove param check for backup type on v2.1 API

The backup type is only used by glance, so nova check it make
no sense; currently we have daily and weekly as only valid param
but someone may add 'monthly' as param. nova should allow it
and delegate the error. This patch removes check on v2.1 API.

Change-Id: I59bbc0f589c8c280eb8cd87aa279898fffaeab7a
Closes-Bug: #1361490

  
  from nova.api.validation import parameter_types
  
  
  create_backup = {
      'type': 'object',
      'properties': {
          'create_backup': {
              'type': 'object',
              'properties': {
                  'name': parameter_types.name,
                  'backup_type': {
                      'type': 'string',
-                     'enum': ['daily', 'weekly'],
                  },
                  'rotation': {
                      'type': ['integer', 'string'],
                      'pattern': '^[0-9]+$',
                      'minimum': 0,
                  },
                  'metadata': {
                      'type': 'object',
                  }
              },
              'required': ['name', 'backup_type', 'rotation'],
              'additionalProperties': False,
          },
      },
      'required': ['create_backup'],
      'additionalProperties': False,
  }
  
Remove param check for backup type on v2.1 API
## Code Before:

from nova.api.validation import parameter_types


create_backup = {
    'type': 'object',
    'properties': {
        'create_backup': {
            'type': 'object',
            'properties': {
                'name': parameter_types.name,
                'backup_type': {
                    'type': 'string',
                    'enum': ['daily', 'weekly'],
                },
                'rotation': {
                    'type': ['integer', 'string'],
                    'pattern': '^[0-9]+$',
                    'minimum': 0,
                },
                'metadata': {
                    'type': 'object',
                }
            },
            'required': ['name', 'backup_type', 'rotation'],
            'additionalProperties': False,
        },
    },
    'required': ['create_backup'],
    'additionalProperties': False,
}

## Instruction:
Remove param check for backup type on v2.1 API
## Code After:

from nova.api.validation import parameter_types


create_backup = {
    'type': 'object',
    'properties': {
        'create_backup': {
            'type': 'object',
            'properties': {
                'name': parameter_types.name,
                'backup_type': {
                    'type': 'string',
                },
                'rotation': {
                    'type': ['integer', 'string'],
                    'pattern': '^[0-9]+$',
                    'minimum': 0,
                },
                'metadata': {
                    'type': 'object',
                }
            },
            'required': ['name', 'backup_type', 'rotation'],
            'additionalProperties': False,
        },
    },
    'required': ['create_backup'],
    'additionalProperties': False,
}
