/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.0 * apibuilder 0.15.11 app.apibuilder.io/gilt/ionroller-api/1.0.0/anorm_2_6_parsers */ import anorm._ package com.gilt.ionroller.api.v1.anorm.parsers { import com.gilt.ionroller.api.v1.anorm.conversions.Standard._ import com.gilt.ionroller.api.v1.anorm.conversions.Types._ object EbConfig { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.EbConfig] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( deploymentBucket: String = "deployment_bucket", stack: String = "stack", settings: String = "settings", resources: String = "resources", packages: String = "packages", sources: String = "sources", files: String = "files", users: String = "users", groups: String = "groups", commands: String = "commands", containerCommands: String = "container_commands", services: String = "services", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.EbConfig] = { SqlParser.str(prefixOpt.getOrElse("") + deploymentBucket) ~ SqlParser.str(prefixOpt.getOrElse("") + stack).? ~ SqlParser.get[Seq[com.gilt.ionroller.api.v1.models.OptionSetting]](prefixOpt.getOrElse("") + settings) ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + resources).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + packages).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + sources).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + files).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + users).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + groups).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + commands).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + containerCommands).? ~ SqlParser.get[_root_.play.api.libs.json.JsObject](prefixOpt.getOrElse("") + services).? map { case deploymentBucket ~ stack ~ settings ~ resources ~ packages ~ sources ~ files ~ users ~ groups ~ commands ~ containerCommands ~ services => { com.gilt.ionroller.api.v1.models.EbConfig( deploymentBucket = deploymentBucket, stack = stack, settings = settings, resources = resources, packages = packages, sources = sources, files = files, users = users, groups = groups, commands = commands, containerCommands = containerCommands, services = services ) } } } } object ElbSettings { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.ElbSettings] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( name: String = "name", securityGroup: String = "security_group", rolloutDelayMinutes: String = "rollout_delay_minutes", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.ElbSettings] = { SqlParser.str(prefixOpt.getOrElse("") + name) ~ SqlParser.str(prefixOpt.getOrElse("") + securityGroup) ~ SqlParser.int(prefixOpt.getOrElse("") + rolloutDelayMinutes) map { case name ~ securityGroup ~ rolloutDelayMinutes => { com.gilt.ionroller.api.v1.models.ElbSettings( name = name, securityGroup = securityGroup, rolloutDelayMinutes = rolloutDelayMinutes ) } } } } object Environment { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.Environment] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( releasePrefix: String = "release", health: String = "health", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.Environment] = { com.gilt.ionroller.api.v1.anorm.parsers.Release.parserWithPrefix(prefixOpt.getOrElse("") + releasePrefix) ~ SqlParser.str(prefixOpt.getOrElse("") + health) map { case release ~ health => { com.gilt.ionroller.api.v1.models.Environment( release = release, health = health ) } } } } object OptionSetting { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.OptionSetting] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( Namespace: String = "Namespace", OptionName: String = "OptionName", Value: String = "Value", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.OptionSetting] = { SqlParser.str(prefixOpt.getOrElse("") + Namespace) ~ SqlParser.str(prefixOpt.getOrElse("") + OptionName) ~ SqlParser.str(prefixOpt.getOrElse("") + Value) map { case namespace ~ optionName ~ value => { com.gilt.ionroller.api.v1.models.OptionSetting( Namespace = namespace, OptionName = optionName, Value = value ) } } } } object PortMapping { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.PortMapping] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( internal: String = "internal", external: String = "external", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.PortMapping] = { SqlParser.int(prefixOpt.getOrElse("") + internal) ~ SqlParser.int(prefixOpt.getOrElse("") + external) map { case internal ~ external => { com.gilt.ionroller.api.v1.models.PortMapping( internal = internal, external = external ) } } } } object Release { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.Release] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( image: String = "image", tag: String = "tag", config: String = "config", rolloutStatusPrefix: String = "rollout_status", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.Release] = { SqlParser.str(prefixOpt.getOrElse("") + image) ~ SqlParser.str(prefixOpt.getOrElse("") + tag) ~ SqlParser.get[_root_.org.joda.time.DateTime](prefixOpt.getOrElse("") + config) ~ com.gilt.ionroller.api.v1.anorm.parsers.RolloutStatus.parserWithPrefix(prefixOpt.getOrElse("") + rolloutStatusPrefix).? map { case image ~ tag ~ config ~ rolloutStatus => { com.gilt.ionroller.api.v1.models.Release( image = image, tag = tag, config = config, rolloutStatus = rolloutStatus ) } } } } object RolloutStatus { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.RolloutStatus] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( numInstances: String = "num_instances", completedAt: String = "completed_at", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.RolloutStatus] = { SqlParser.int(prefixOpt.getOrElse("") + numInstances).? ~ SqlParser.get[_root_.org.joda.time.DateTime](prefixOpt.getOrElse("") + completedAt).? map { case numInstances ~ completedAt => { com.gilt.ionroller.api.v1.models.RolloutStatus( numInstances = numInstances, completedAt = completedAt ) } } } } object Service { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.Service] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( name: String = "name", statePrefix: String = "state", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.Service] = { SqlParser.str(prefixOpt.getOrElse("") + name) ~ com.gilt.ionroller.api.v1.anorm.parsers.ServiceState.parserWithPrefix(prefixOpt.getOrElse("") + statePrefix) map { case name ~ state => { com.gilt.ionroller.api.v1.models.Service( name = name, state = state ) } } } } object ServiceConfig { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.ServiceConfig] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( url: String = "url", hostedZoneId: String = "hosted_zone_id", awsAccountId: String = "aws_account_id", externalElbPrefix: String = "external_elb", serviceRole: String = "service_role", image: String = "image", portMappings: String = "port_mappings", volumeMappings: String = "volume_mappings", runArgs: String = "run_args", ebPrefix: String = "eb", removeUnusedAfterMinutes: String = "remove_unused_after_minutes", timestamp: String = "timestamp", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.ServiceConfig] = { SqlParser.str(prefixOpt.getOrElse("") + url) ~ SqlParser.str(prefixOpt.getOrElse("") + hostedZoneId) ~ SqlParser.str(prefixOpt.getOrElse("") + awsAccountId) ~ com.gilt.ionroller.api.v1.anorm.parsers.ElbSettings.parserWithPrefix(prefixOpt.getOrElse("") + externalElbPrefix).? ~ SqlParser.str(prefixOpt.getOrElse("") + serviceRole) ~ SqlParser.str(prefixOpt.getOrElse("") + image) ~ SqlParser.get[Seq[com.gilt.ionroller.api.v1.models.PortMapping]](prefixOpt.getOrElse("") + portMappings) ~ SqlParser.get[Seq[com.gilt.ionroller.api.v1.models.VolumeMapping]](prefixOpt.getOrElse("") + volumeMappings).? ~ SqlParser.get[Seq[String]](prefixOpt.getOrElse("") + runArgs) ~ com.gilt.ionroller.api.v1.anorm.parsers.EbConfig.parserWithPrefix(prefixOpt.getOrElse("") + ebPrefix) ~ SqlParser.long(prefixOpt.getOrElse("") + removeUnusedAfterMinutes).? ~ SqlParser.get[_root_.org.joda.time.DateTime](prefixOpt.getOrElse("") + timestamp).? map { case url ~ hostedZoneId ~ awsAccountId ~ externalElb ~ serviceRole ~ image ~ portMappings ~ volumeMappings ~ runArgs ~ eb ~ removeUnusedAfterMinutes ~ timestamp => { com.gilt.ionroller.api.v1.models.ServiceConfig( url = url, hostedZoneId = hostedZoneId, awsAccountId = awsAccountId, externalElb = externalElb, serviceRole = serviceRole, image = image, portMappings = portMappings, volumeMappings = volumeMappings, runArgs = runArgs, eb = eb, removeUnusedAfterMinutes = removeUnusedAfterMinutes, timestamp = timestamp ) } } } } object ServiceCurrentState { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.ServiceCurrentState] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( environments: String = "environments", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.ServiceCurrentState] = { SqlParser.get[Seq[com.gilt.ionroller.api.v1.models.Environment]](prefixOpt.getOrElse("") + environments) map { case environments => { com.gilt.ionroller.api.v1.models.ServiceCurrentState( environments = environments ) } } } } object ServiceDesiredState { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.ServiceDesiredState] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( currentPrefix: String = "current", nextPrefix: String = "next", futurePrefix: String = "future", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.ServiceDesiredState] = { com.gilt.ionroller.api.v1.anorm.parsers.Release.parserWithPrefix(prefixOpt.getOrElse("") + currentPrefix).? ~ com.gilt.ionroller.api.v1.anorm.parsers.Release.parserWithPrefix(prefixOpt.getOrElse("") + nextPrefix).? ~ com.gilt.ionroller.api.v1.anorm.parsers.Release.parserWithPrefix(prefixOpt.getOrElse("") + futurePrefix).? map { case current ~ next ~ future => { com.gilt.ionroller.api.v1.models.ServiceDesiredState( current = current, next = next, future = future ) } } } } object ServiceState { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.ServiceState] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( currentPrefix: String = "current", desiredPrefix: String = "desired", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.ServiceState] = { com.gilt.ionroller.api.v1.anorm.parsers.ServiceCurrentState.parserWithPrefix(prefixOpt.getOrElse("") + currentPrefix) ~ com.gilt.ionroller.api.v1.anorm.parsers.ServiceDesiredState.parserWithPrefix(prefixOpt.getOrElse("") + desiredPrefix).? map { case current ~ desired => { com.gilt.ionroller.api.v1.models.ServiceState( current = current, desired = desired ) } } } } object VolumeMapping { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[com.gilt.ionroller.api.v1.models.VolumeMapping] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( internal: String = "internal", external: String = "external", prefixOpt: Option[String] = None ): RowParser[com.gilt.ionroller.api.v1.models.VolumeMapping] = { SqlParser.str(prefixOpt.getOrElse("") + internal) ~ SqlParser.str(prefixOpt.getOrElse("") + external) map { case internal ~ external => { com.gilt.ionroller.api.v1.models.VolumeMapping( internal = internal, external = external ) } } } } }