leap_provider_spec = {
    'serial': {
        'type': int,
        'default': 1,
        'required': True,
    },
    'version': {
        'type': unicode,
        'default': '0.1.0'
        #'required': True
    },
    'domain': {
        'type': unicode,  # XXX define uri type
        'default': 'testprovider.example.org'
        #'required': True,
    },
    'display_name': {
        'type': unicode,  # XXX multilingual object?
        'default': 'test provider'
        #'required': True
    },
    'description': {
        'default': 'test provider'
    },
    'enrollment_policy': {
        'type': unicode,  # oneof ??
        'default': 'open'
    },
    'services': {
        'type': list,  # oneof ??
        'default': ['eip']
    },
    'api_version': {
        'type': unicode,
        'default': '0.1.0'  # version regexp
    },
    'api_uri': {
        'type': unicode  # uri
    },
    'public_key': {
        'type': unicode  # fingerprint
    },
    'ca_cert': {
        'type': unicode
    },
    'ca_cert_uri': {
        'type': unicode
    },
}