/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.1 * User agent: apibuilder app.apibuilder.io/gilt/ionroller-api/1.0.1/flow_erm_schema */ package com.gilt.ionroller.api.v1.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import com.gilt.ionroller.api.v1.models.EbConfig import com.gilt.ionroller.api.v1.models.ElbSettings import com.gilt.ionroller.api.v1.models.Environment import com.gilt.ionroller.api.v1.models.OptionSetting import com.gilt.ionroller.api.v1.models.PortMapping import com.gilt.ionroller.api.v1.models.Release import com.gilt.ionroller.api.v1.models.RolloutStatus import com.gilt.ionroller.api.v1.models.Service import com.gilt.ionroller.api.v1.models.ServiceConfig import com.gilt.ionroller.api.v1.models.ServiceCurrentState import com.gilt.ionroller.api.v1.models.ServiceDesiredState import com.gilt.ionroller.api.v1.models.ServiceState import com.gilt.ionroller.api.v1.models.VolumeMapping object GeneratedErmSchema { implicit lazy val ermSpecOptionSetting: ErmSpec[OptionSetting] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.option_setting", spec = Model(name = "option_setting", plural = "option_settings", fields = Seq( Field(name = "Namespace", `type` = "string", required = true), Field(name = "OptionName", `type` = "string", required = true), Field(name = "Value", `type` = "string", required = true), )), ) implicit lazy val ermSpecEbConfig: ErmSpec[EbConfig] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.eb_config", spec = Model(name = "eb_config", plural = "eb_configs", fields = Seq( Field(name = "deployment_bucket", `type` = "string", required = true), Field(name = "stack", `type` = "string", required = false), Field(name = "settings", `type` = "[option_setting]", required = false), Field(name = "resources", `type` = "object", required = false), Field(name = "packages", `type` = "object", required = false), Field(name = "sources", `type` = "object", required = false), Field(name = "files", `type` = "object", required = false), Field(name = "users", `type` = "object", required = false), Field(name = "groups", `type` = "object", required = false), Field(name = "commands", `type` = "object", required = false), Field(name = "container_commands", `type` = "object", required = false), Field(name = "services", `type` = "object", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.option_setting" -> ermSpecOptionSetting, ), ) implicit lazy val ermSpecElbSettings: ErmSpec[ElbSettings] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.elb_settings", spec = Model(name = "elb_settings", plural = "elb_settingses", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "security_group", `type` = "string", required = true), Field(name = "rollout_delay_minutes", `type` = "integer", required = true), )), ) implicit lazy val ermSpecRolloutStatus: ErmSpec[RolloutStatus] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.rollout_status", spec = Model(name = "rollout_status", plural = "rollout_statuses", fields = Seq( Field(name = "num_instances", `type` = "integer", required = false), Field(name = "completed_at", `type` = "date-time-iso8601", required = false), )), ) implicit lazy val ermSpecRelease: ErmSpec[Release] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.release", spec = Model(name = "release", plural = "releases", fields = Seq( Field(name = "image", `type` = "string", required = true), Field(name = "tag", `type` = "string", required = true), Field(name = "config", `type` = "date-time-iso8601", required = true), Field(name = "rollout_status", `type` = "rollout_status", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.rollout_status" -> ermSpecRolloutStatus, ), ) implicit lazy val ermSpecEnvironment: ErmSpec[Environment] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.environment", spec = Model(name = "environment", plural = "environments", fields = Seq( Field(name = "release", `type` = "release", required = true), Field(name = "health", `type` = "string", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.release" -> ermSpecRelease, ), ) implicit lazy val ermSpecPortMapping: ErmSpec[PortMapping] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.port_mapping", spec = Model(name = "port_mapping", plural = "port_mappings", fields = Seq( Field(name = "internal", `type` = "integer", required = true), Field(name = "external", `type` = "integer", required = true), )), ) implicit lazy val ermSpecServiceCurrentState: ErmSpec[ServiceCurrentState] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.service_current_state", spec = Model(name = "service_current_state", plural = "service_current_states", fields = Seq( Field(name = "environments", `type` = "[environment]", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.environment" -> ermSpecEnvironment, ), ) implicit lazy val ermSpecServiceDesiredState: ErmSpec[ServiceDesiredState] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.service_desired_state", spec = Model(name = "service_desired_state", plural = "service_desired_states", fields = Seq( Field(name = "current", `type` = "release", required = false), Field(name = "next", `type` = "release", required = false), Field(name = "future", `type` = "release", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.release" -> ermSpecRelease, ), ) implicit lazy val ermSpecServiceState: ErmSpec[ServiceState] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.service_state", spec = Model(name = "service_state", plural = "service_states", fields = Seq( Field(name = "current", `type` = "service_current_state", required = true), Field(name = "desired", `type` = "service_desired_state", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.service_current_state" -> ermSpecServiceCurrentState, "com.gilt.ionroller.api.v1.models.service_desired_state" -> ermSpecServiceDesiredState, ), ) implicit lazy val ermSpecService: ErmSpec[Service] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.service", spec = Model(name = "service", plural = "services", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "state", `type` = "service_state", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.service_state" -> ermSpecServiceState, ), ) implicit lazy val ermSpecVolumeMapping: ErmSpec[VolumeMapping] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.volume_mapping", spec = Model(name = "volume_mapping", plural = "volume_mappings", fields = Seq( Field(name = "internal", `type` = "string", required = true), Field(name = "external", `type` = "string", required = true), )), ) implicit lazy val ermSpecServiceConfig: ErmSpec[ServiceConfig] = ErmSpec.model( qualifiedName = "com.gilt.ionroller.api.v1.models.service_config", spec = Model(name = "service_config", plural = "service_configs", fields = Seq( Field(name = "url", `type` = "string", required = true), Field(name = "hosted_zone_id", `type` = "string", required = true), Field(name = "aws_account_id", `type` = "string", required = true), Field(name = "external_elb", `type` = "elb_settings", required = false), Field(name = "service_role", `type` = "string", required = true), Field(name = "image", `type` = "string", required = true), Field(name = "port_mappings", `type` = "[port_mapping]", required = true), Field(name = "volume_mappings", `type` = "[volume_mapping]", required = false), Field(name = "run_args", `type` = "[string]", required = true), Field(name = "eb", `type` = "eb_config", required = true), Field(name = "remove_unused_after_minutes", `type` = "long", required = false), Field(name = "timestamp", `type` = "date-time-iso8601", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.ionroller.api.v1.models.elb_settings" -> ermSpecElbSettings, "com.gilt.ionroller.api.v1.models.port_mapping" -> ermSpecPortMapping, "com.gilt.ionroller.api.v1.models.volume_mapping" -> ermSpecVolumeMapping, "com.gilt.ionroller.api.v1.models.eb_config" -> ermSpecEbConfig, ), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecOptionSetting, ermSpecEbConfig, ermSpecElbSettings, ermSpecRolloutStatus, ermSpecRelease, ermSpecEnvironment, ermSpecPortMapping, ermSpecServiceCurrentState, ermSpecServiceDesiredState, ermSpecServiceState, ermSpecService, ermSpecVolumeMapping, ermSpecServiceConfig, ) }