import propTypes from 'prop-types'; namespace de.nccloud.registry.api.v0.models { export const serviceDeletedEvent = propTypes.exact({ name: propTypes.string.isRequired, timestamp: propTypes.string.isRequired, }); } namespace de.nccloud.registry.api.v0.enums { export const serviceType = propTypes.oneOf(['public', 'internal']); export const serviceState = propTypes.oneOf(['unavailable', 'available', 'error']); } namespace de.nccloud.registry.api.v0.models { export const service = propTypes.exact({ name: propTypes.string.isRequired, version: propTypes.string.isRequired, state: de.nccloud.registry.api.v0.enums.serviceState.isRequired, type: de.nccloud.registry.api.v0.enums.serviceType.isRequired, uri: propTypes.string.isRequired, title: propTypes.string, description: propTypes.string, }); export const serviceUpsertedEvent = propTypes.exact({ service: de.nccloud.registry.api.v0.models.service.isRequired, timestamp: propTypes.string.isRequired, }); } namespace de.nccloud.registry.api.v0.unions { export const serviceEvent = propTypes.oneOfType([propTypes.exact({ type: propTypes.oneOf(['service_upserted_event' as 'service_upserted_event']).isRequired, service: de.nccloud.registry.api.v0.models.service.isRequired, timestamp: propTypes.string.isRequired, }), propTypes.exact({ type: propTypes.oneOf(['service_deleted_event' as 'service_deleted_event']).isRequired, name: propTypes.string.isRequired, timestamp: propTypes.string.isRequired, })]); } namespace de.nccloud.common.v0.models { export const linkObject = propTypes.exact({ href: propTypes.string.isRequired, title: propTypes.string, type: propTypes.string, }); } namespace de.nccloud.common.v0.enums { export const sortDirection = propTypes.oneOf(['asc', 'desc']); } namespace de.nccloud.common.v0.models { export const sort = propTypes.exact({ property: propTypes.string.isRequired, direction: de.nccloud.common.v0.enums.sortDirection.isRequired, }); export const pagingForm = propTypes.exact({ offset: propTypes.number.isRequired, limit: propTypes.number.isRequired, sort: propTypes.arrayOf(de.nccloud.common.v0.models.sort), }); export const pageResponse = propTypes.exact({ offset: propTypes.number.isRequired, limit: propTypes.number.isRequired, sort: propTypes.arrayOf(de.nccloud.common.v0.models.sort).isRequired, total_results: propTypes.number.isRequired, total_pages: propTypes.number.isRequired, }); } namespace de.nccloud.common.v0.enums { export const healthStatus = propTypes.oneOf(['running', 'starting', 'unhealthy']); } namespace de.nccloud.common.v0.models { export const healthCheck = propTypes.exact({ status: de.nccloud.common.v0.enums.healthStatus.isRequired, message: propTypes.string, }); } namespace de.nccloud.common.v0.enums { export const errorSourceType = propTypes.oneOf(['pointer', 'parameter', 'header']); } namespace de.nccloud.common.v0.models { export const errorSource = propTypes.exact({ type: de.nccloud.common.v0.enums.errorSourceType.isRequired, source: propTypes.string.isRequired, }); } namespace de.nccloud.common.v0.unions { export const link = propTypes.oneOfType([propTypes.exact({ discriminator: propTypes.oneOf(['string' as 'string']).isRequired, value: propTypes.string, }), propTypes.exact({ discriminator: propTypes.oneOf(['link_object' as 'link_object']).isRequired, href: propTypes.string.isRequired, title: propTypes.string, type: propTypes.string, })]); } namespace de.nccloud.common.v0.models { export const errorLinks = propTypes.exact({ about: de.nccloud.common.v0.unions.link, type: de.nccloud.common.v0.unions.link, }); export const genericError = propTypes.exact({ links: de.nccloud.common.v0.models.errorLinks, code: propTypes.string.isRequired, title: propTypes.string.isRequired, detail: propTypes.string.isRequired, source: de.nccloud.common.v0.models.errorSource, meta: propTypes.object, }); export const audit = propTypes.exact({ created_at: propTypes.string.isRequired, created_by: propTypes.string.isRequired, updated_at: propTypes.string.isRequired, updated_by: propTypes.string.isRequired, }); export const serviceInfo = propTypes.exact({ name: propTypes.string.isRequired, version: propTypes.string.isRequired, uri: propTypes.string.isRequired, title: propTypes.string, description: propTypes.string, }); } export const service = de.nccloud.registry.api.v0.models.service; export const serviceDeletedEvent = de.nccloud.registry.api.v0.models.serviceDeletedEvent; export const serviceEvent = de.nccloud.registry.api.v0.unions.serviceEvent; export const serviceState = de.nccloud.registry.api.v0.enums.serviceState; export const serviceType = de.nccloud.registry.api.v0.enums.serviceType; export const serviceUpsertedEvent = de.nccloud.registry.api.v0.models.serviceUpsertedEvent;