/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.2.7 * User agent: apibuilder app.apibuilder.io/gilt/svc-sundial/0.2.7/flow_erm_schema */ package com.gilt.svc.sundial.v0.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import com.gilt.svc.sundial.v0.models.AwsMarket import com.gilt.svc.sundial.v0.models.BatchImageCommand import com.gilt.svc.sundial.v0.models.ContinuousSchedule import com.gilt.svc.sundial.v0.models.CronSchedule import com.gilt.svc.sundial.v0.models.CustomEmrJobFlowRole import com.gilt.svc.sundial.v0.models.CustomEmrServiceRole import com.gilt.svc.sundial.v0.models.DockerImageCommand import com.gilt.svc.sundial.v0.models.Email import com.gilt.svc.sundial.v0.models.EmrApplication import com.gilt.svc.sundial.v0.models.EmrCluster import com.gilt.svc.sundial.v0.models.EmrCommand import com.gilt.svc.sundial.v0.models.EmrInstanceGroupDetails import com.gilt.svc.sundial.v0.models.EmrJobFlowRole import com.gilt.svc.sundial.v0.models.EmrReleaseLabel import com.gilt.svc.sundial.v0.models.EmrServiceRole import com.gilt.svc.sundial.v0.models.EnvironmentVariable import com.gilt.svc.sundial.v0.models.ExistingEmrCluster import com.gilt.svc.sundial.v0.models.Healthcheck import com.gilt.svc.sundial.v0.models.LogEntry import com.gilt.svc.sundial.v0.models.MetadataEntry import com.gilt.svc.sundial.v0.models.NewEmrCluster import com.gilt.svc.sundial.v0.models.Notification import com.gilt.svc.sundial.v0.models.NotificationOptions import com.gilt.svc.sundial.v0.models.Pagerduty import com.gilt.svc.sundial.v0.models.Process import com.gilt.svc.sundial.v0.models.ProcessDefinition import com.gilt.svc.sundial.v0.models.ProcessOverlapAction import com.gilt.svc.sundial.v0.models.ProcessSchedule import com.gilt.svc.sundial.v0.models.ProcessStatus import com.gilt.svc.sundial.v0.models.S3Cp import com.gilt.svc.sundial.v0.models.S3LogDetails import com.gilt.svc.sundial.v0.models.ShellScriptCommand import com.gilt.svc.sundial.v0.models.Spot import com.gilt.svc.sundial.v0.models.Task import com.gilt.svc.sundial.v0.models.TaskDefinition import com.gilt.svc.sundial.v0.models.TaskDependency import com.gilt.svc.sundial.v0.models.TaskExecutable import com.gilt.svc.sundial.v0.models.TaskStatus object GeneratedErmSchema { implicit lazy val ermSpecEnvironmentVariable: ErmSpec[EnvironmentVariable] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.environment_variable", spec = Model(name = "environment_variable", plural = "environment_variables", fields = Seq( Field(name = "variable_name", `type` = "string", required = true), Field(name = "value", `type` = "string", required = true), )), ) implicit lazy val ermSpecBatchImageCommand: ErmSpec[BatchImageCommand] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.batch_image_command", spec = Model(name = "batch_image_command", plural = "batch_image_commands", fields = Seq( Field(name = "image", `type` = "string", required = true), Field(name = "tag", `type` = "string", required = true), Field(name = "command", `type` = "[string]", required = true), Field(name = "memory", `type` = "integer", required = true), Field(name = "vCpus", `type` = "integer", required = true), Field(name = "job_role_arn", `type` = "string", required = false), Field(name = "environment_variables", `type` = "[environment_variable]", required = true), Field(name = "job_queue", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.environment_variable" -> ermSpecEnvironmentVariable, ), ) implicit lazy val ermSpecContinuousSchedule: ErmSpec[ContinuousSchedule] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.continuous_schedule", spec = Model(name = "continuous_schedule", plural = "continuous_schedules", fields = Seq( Field(name = "buffer_seconds", `type` = "integer", required = false), )), ) implicit lazy val ermSpecCronSchedule: ErmSpec[CronSchedule] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.cron_schedule", spec = Model(name = "cron_schedule", plural = "cron_schedules", fields = Seq( Field(name = "day_of_week", `type` = "string", required = true), Field(name = "month", `type` = "string", required = true), Field(name = "day_of_month", `type` = "string", required = true), Field(name = "hours", `type` = "string", required = true), Field(name = "minutes", `type` = "string", required = true), )), ) implicit lazy val ermSpecCustomEmrJobFlowRole: ErmSpec[CustomEmrJobFlowRole] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.custom_emr_job_flow_role", spec = Model(name = "custom_emr_job_flow_role", plural = "custom_emr_job_flow_roles", fields = Seq( Field(name = "role_name", `type` = "string", required = true), )), ) implicit lazy val ermSpecCustomEmrServiceRole: ErmSpec[CustomEmrServiceRole] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.custom_emr_service_role", spec = Model(name = "custom_emr_service_role", plural = "custom_emr_service_roles", fields = Seq( Field(name = "role_name", `type` = "string", required = true), )), ) implicit lazy val ermSpecDockerImageCommand: ErmSpec[DockerImageCommand] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.docker_image_command", spec = Model(name = "docker_image_command", plural = "docker_image_commands", fields = Seq( Field(name = "image", `type` = "string", required = true), Field(name = "tag", `type` = "string", required = true), Field(name = "command", `type` = "[string]", required = true), Field(name = "memory", `type` = "integer", required = false), Field(name = "cpu", `type` = "integer", required = false), Field(name = "taskRoleArn", `type` = "string", required = false), Field(name = "log_paths", `type` = "[string]", required = true), Field(name = "environment_variables", `type` = "[environment_variable]", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.environment_variable" -> ermSpecEnvironmentVariable, ), ) implicit lazy val ermSpecEmail: ErmSpec[Email] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.email", spec = Model(name = "email", plural = "emails", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "email", `type` = "string", required = true), Field(name = "notify_when", `type` = "notification_options", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.enums.notification_options" -> ermSpecNotificationOptions, ), ) implicit lazy val ermSpecS3LogDetails: ErmSpec[S3LogDetails] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.s3_log_details", spec = Model(name = "s3_log_details", plural = "s3_log_detailses", fields = Seq( Field(name = "log_group_name", `type` = "string", required = true), Field(name = "log_stream_name", `type` = "string", required = true), )), ) implicit lazy val ermSpecS3Cp: ErmSpec[S3Cp] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.s3_cp", spec = Model(name = "s3_cp", plural = "s3_cps", fields = Seq( Field(name = "source", `type` = "string", required = true), Field(name = "destination", `type` = "string", required = true), )), ) implicit lazy val ermSpecEmrCommand: ErmSpec[EmrCommand] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.emr_command", spec = Model(name = "emr_command", plural = "emr_commands", fields = Seq( Field(name = "emr_cluster", `type` = "emr_cluster", required = true), Field(name = "job_name", `type` = "string", required = true), Field(name = "region", `type` = "string", required = true), Field(name = "class", `type` = "string", required = true), Field(name = "s3_jar_path", `type` = "string", required = true), Field(name = "spark_conf", `type` = "[string]", required = true), Field(name = "args", `type` = "[string]", required = true), Field(name = "s3_log_details", `type` = "s3_log_details", required = false), Field(name = "load_data", `type` = "[s3_cp]", required = false), Field(name = "save_results", `type` = "[s3_cp]", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.unions.emr_cluster" -> ermSpecEmrCluster, "com.gilt.svc.sundial.v0.models.s3_log_details" -> ermSpecS3LogDetails, "com.gilt.svc.sundial.v0.models.s3_cp" -> ermSpecS3Cp, ), ) implicit lazy val ermSpecEmrInstanceGroupDetails: ErmSpec[EmrInstanceGroupDetails] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.emr_instance_group_details", spec = Model(name = "emr_instance_group_details", plural = "emr_instance_group_detailses", fields = Seq( Field(name = "emr_instance_type", `type` = "string", required = true), Field(name = "instance_count", `type` = "integer", required = true), Field(name = "aws_market", `type` = "aws_market", required = true), Field(name = "ebs_volume_size", `type` = "integer", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.unions.aws_market" -> ermSpecAwsMarket, ), ) implicit lazy val ermSpecExistingEmrCluster: ErmSpec[ExistingEmrCluster] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.existing_emr_cluster", spec = Model(name = "existing_emr_cluster", plural = "existing_emr_clusters", fields = Seq( Field(name = "cluster_id", `type` = "string", required = true), )), ) implicit lazy val ermSpecHealthcheck: ErmSpec[Healthcheck] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.healthcheck", spec = Model(name = "healthcheck", plural = "healthchecks", fields = Seq( Field(name = "status", `type` = "string", required = true), )), ) implicit lazy val ermSpecLogEntry: ErmSpec[LogEntry] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.log_entry", spec = Model(name = "log_entry", plural = "log_entries", fields = Seq( Field(name = "log_entry_id", `type` = "uuid", required = true), Field(name = "when", `type` = "date-time-iso8601", required = true), Field(name = "source", `type` = "string", required = true), Field(name = "message", `type` = "string", required = true), )), ) implicit lazy val ermSpecMetadataEntry: ErmSpec[MetadataEntry] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.metadata_entry", spec = Model(name = "metadata_entry", plural = "metadata_entries", fields = Seq( Field(name = "metadata_entry_id", `type` = "uuid", required = true), Field(name = "when", `type` = "date-time-iso8601", required = true), Field(name = "key", `type` = "string", required = true), Field(name = "value", `type` = "string", required = true), )), ) implicit lazy val ermSpecNewEmrCluster: ErmSpec[NewEmrCluster] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.new_emr_cluster", spec = Model(name = "new_emr_cluster", plural = "new_emr_clusters", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "release_label", `type` = "emr_release_label", required = true), Field(name = "applications", `type` = "[emr_application]", required = true), Field(name = "s3_log_uri", `type` = "string", required = true), Field(name = "master_instance", `type` = "emr_instance_group_details", required = true), Field(name = "core_instance", `type` = "emr_instance_group_details", required = false), Field(name = "task_instance", `type` = "emr_instance_group_details", required = false), Field(name = "ec2_subnet", `type` = "string", required = false), Field(name = "emr_service_role", `type` = "emr_service_role", required = true), Field(name = "emr_job_flow_role", `type` = "emr_job_flow_role", required = true), Field(name = "visible_to_all_users", `type` = "boolean", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.enums.emr_release_label" -> ermSpecEmrReleaseLabel, "com.gilt.svc.sundial.v0.enums.emr_application" -> ermSpecEmrApplication, "com.gilt.svc.sundial.v0.models.emr_instance_group_details" -> ermSpecEmrInstanceGroupDetails, "com.gilt.svc.sundial.v0.unions.emr_service_role" -> ermSpecEmrServiceRole, "com.gilt.svc.sundial.v0.unions.emr_job_flow_role" -> ermSpecEmrJobFlowRole, ), ) implicit lazy val ermSpecPagerduty: ErmSpec[Pagerduty] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.pagerduty", spec = Model(name = "pagerduty", plural = "pagerduties", fields = Seq( Field(name = "service_key", `type` = "string", required = true), Field(name = "num_consecutive_failures", `type` = "integer", required = true), Field(name = "api_url", `type` = "string", required = true), )), ) implicit lazy val ermSpecTask: ErmSpec[Task] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.task", spec = Model(name = "task", plural = "tasks", fields = Seq( Field(name = "task_id", `type` = "uuid", required = true), Field(name = "process_id", `type` = "uuid", required = true), Field(name = "process_definition_name", `type` = "string", required = true), Field(name = "task_definition_name", `type` = "string", required = true), Field(name = "start_time", `type` = "date-time-iso8601", required = true), Field(name = "end_time", `type` = "date-time-iso8601", required = false), Field(name = "previous_attempt_count", `type` = "integer", required = true), Field(name = "log_entries", `type` = "[log_entry]", required = true), Field(name = "metadata_entries", `type` = "[metadata_entry]", required = true), Field(name = "execution_state", `type` = "[metadata_entry]", required = false), Field(name = "status", `type` = "task_status", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.log_entry" -> ermSpecLogEntry, "com.gilt.svc.sundial.v0.models.metadata_entry" -> ermSpecMetadataEntry, "com.gilt.svc.sundial.v0.enums.task_status" -> ermSpecTaskStatus, ), ) implicit lazy val ermSpecProcess: ErmSpec[Process] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.process", spec = Model(name = "process", plural = "processes", fields = Seq( Field(name = "process_id", `type` = "uuid", required = true), Field(name = "process_definition_name", `type` = "string", required = true), Field(name = "start_time", `type` = "date-time-iso8601", required = true), Field(name = "status", `type` = "process_status", required = true), Field(name = "task", `type` = "[task]", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.enums.process_status" -> ermSpecProcessStatus, "com.gilt.svc.sundial.v0.models.task" -> ermSpecTask, ), ) implicit lazy val ermSpecTaskDependency: ErmSpec[TaskDependency] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.task_dependency", spec = Model(name = "task_dependency", plural = "task_dependencies", fields = Seq( Field(name = "task_definition_name", `type` = "string", required = true), Field(name = "success_required", `type` = "boolean", required = true), )), ) implicit lazy val ermSpecTaskDefinition: ErmSpec[TaskDefinition] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.task_definition", spec = Model(name = "task_definition", plural = "task_definitions", fields = Seq( Field(name = "task_definition_name", `type` = "string", required = true), Field(name = "dependencies", `type` = "[task_dependency]", required = true), Field(name = "executable", `type` = "task_executable", required = true), Field(name = "max_attempts", `type` = "integer", required = true), Field(name = "max_runtime_seconds", `type` = "integer", required = false), Field(name = "backoff_base_seconds", `type` = "integer", required = true), Field(name = "backoff_exponent", `type` = "double", required = true), Field(name = "require_explicit_success", `type` = "boolean", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.task_dependency" -> ermSpecTaskDependency, "com.gilt.svc.sundial.v0.unions.task_executable" -> ermSpecTaskExecutable, ), ) implicit lazy val ermSpecProcessDefinition: ErmSpec[ProcessDefinition] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.process_definition", spec = Model(name = "process_definition", plural = "process_definitions", fields = Seq( Field(name = "process_definition_name", `type` = "string", required = true), Field(name = "paused", `type` = "boolean", required = false), Field(name = "process_description", `type` = "string", required = false), Field(name = "schedule", `type` = "process_schedule", required = false), Field(name = "task_definitions", `type` = "[task_definition]", required = true), Field(name = "overlap_action", `type` = "process_overlap_action", required = true), Field(name = "notifications", `type` = "[notification]", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.unions.process_schedule" -> ermSpecProcessSchedule, "com.gilt.svc.sundial.v0.models.task_definition" -> ermSpecTaskDefinition, "com.gilt.svc.sundial.v0.enums.process_overlap_action" -> ermSpecProcessOverlapAction, "com.gilt.svc.sundial.v0.unions.notification" -> ermSpecNotification, ), ) implicit lazy val ermSpecShellScriptCommand: ErmSpec[ShellScriptCommand] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.shell_script_command", spec = Model(name = "shell_script_command", plural = "shell_script_commands", fields = Seq( Field(name = "script", `type` = "string", required = true), Field(name = "environment_variables", `type` = "[environment_variable]", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.environment_variable" -> ermSpecEnvironmentVariable, ), ) implicit lazy val ermSpecSpot: ErmSpec[Spot] = ErmSpec.model( qualifiedName = "com.gilt.svc.sundial.v0.models.spot", spec = Model(name = "spot", plural = "spots", fields = Seq( Field(name = "bid_price", `type` = "decimal", required = true), )), ) implicit lazy val ermSpecAwsMarket: ErmSpec[AwsMarket] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.aws_market", spec = Union(name = "aws_market", plural = "aws_markets", discriminator = None, types = Seq( UnionType(`type` = "on_demand", discriminatorValue = Some("on_demand")), UnionType(`type` = "spot", discriminatorValue = Some("spot")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.spot" -> ermSpecSpot, ), ) implicit lazy val ermSpecEmrCluster: ErmSpec[EmrCluster] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.emr_cluster", spec = Union(name = "emr_cluster", plural = "emr_clusters", discriminator = None, types = Seq( UnionType(`type` = "new_emr_cluster", discriminatorValue = Some("new_emr_cluster")), UnionType(`type` = "existing_emr_cluster", discriminatorValue = Some("existing_emr_cluster")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.new_emr_cluster" -> ermSpecNewEmrCluster, "com.gilt.svc.sundial.v0.models.existing_emr_cluster" -> ermSpecExistingEmrCluster, ), ) implicit lazy val ermSpecEmrJobFlowRole: ErmSpec[EmrJobFlowRole] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.emr_job_flow_role", spec = Union(name = "emr_job_flow_role", plural = "emr_job_flow_roles", discriminator = None, types = Seq( UnionType(`type` = "default_emr_job_flow_role", discriminatorValue = Some("default_emr_job_flow_role")), UnionType(`type` = "custom_emr_job_flow_role", discriminatorValue = Some("custom_emr_job_flow_role")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.custom_emr_job_flow_role" -> ermSpecCustomEmrJobFlowRole, ), ) implicit lazy val ermSpecEmrServiceRole: ErmSpec[EmrServiceRole] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.emr_service_role", spec = Union(name = "emr_service_role", plural = "emr_service_roles", discriminator = None, types = Seq( UnionType(`type` = "default_emr_service_role", discriminatorValue = Some("default_emr_service_role")), UnionType(`type` = "custom_emr_service_role", discriminatorValue = Some("custom_emr_service_role")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.custom_emr_service_role" -> ermSpecCustomEmrServiceRole, ), ) implicit lazy val ermSpecNotification: ErmSpec[Notification] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.notification", spec = Union(name = "notification", plural = "notifications", discriminator = None, types = Seq( UnionType(`type` = "email", discriminatorValue = Some("email")), UnionType(`type` = "pagerduty", discriminatorValue = Some("pagerduty")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.email" -> ermSpecEmail, "com.gilt.svc.sundial.v0.models.pagerduty" -> ermSpecPagerduty, ), ) implicit lazy val ermSpecProcessSchedule: ErmSpec[ProcessSchedule] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.process_schedule", spec = Union(name = "process_schedule", plural = "process_schedules", discriminator = None, types = Seq( UnionType(`type` = "cron_schedule", discriminatorValue = Some("cron_schedule")), UnionType(`type` = "continuous_schedule", discriminatorValue = Some("continuous_schedule")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.cron_schedule" -> ermSpecCronSchedule, "com.gilt.svc.sundial.v0.models.continuous_schedule" -> ermSpecContinuousSchedule, ), ) implicit lazy val ermSpecTaskExecutable: ErmSpec[TaskExecutable] = ErmSpec.union( qualifiedName = "com.gilt.svc.sundial.v0.unions.task_executable", spec = Union(name = "task_executable", plural = "task_executables", discriminator = None, types = Seq( UnionType(`type` = "docker_image_command", discriminatorValue = Some("docker_image_command")), UnionType(`type` = "shell_script_command", discriminatorValue = Some("shell_script_command")), UnionType(`type` = "batch_image_command", discriminatorValue = Some("batch_image_command")), UnionType(`type` = "emr_command", discriminatorValue = Some("emr_command")), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.svc.sundial.v0.models.docker_image_command" -> ermSpecDockerImageCommand, "com.gilt.svc.sundial.v0.models.shell_script_command" -> ermSpecShellScriptCommand, "com.gilt.svc.sundial.v0.models.batch_image_command" -> ermSpecBatchImageCommand, "com.gilt.svc.sundial.v0.models.emr_command" -> ermSpecEmrCommand, ), ) implicit lazy val ermSpecNotificationOptions: ErmSpec[NotificationOptions] = ErmSpec.`enum`( qualifiedName = "com.gilt.svc.sundial.v0.enums.notification_options", spec = Enum(name = "notification_options", plural = "notification_optionses", values = Seq( EnumValue(name = "always"), EnumValue(name = "on_failure"), EnumValue(name = "on_state_change"), EnumValue(name = "on_state_change_and_failures"), EnumValue(name = "never"), )), ) implicit lazy val ermSpecEmrReleaseLabel: ErmSpec[EmrReleaseLabel] = ErmSpec.`enum`( qualifiedName = "com.gilt.svc.sundial.v0.enums.emr_release_label", spec = Enum(name = "emr_release_label", plural = "emr_release_labels", values = Seq( EnumValue(name = "emr-5.14.0"), EnumValue(name = "emr-5.13.0"), EnumValue(name = "emr-5.12.1"), EnumValue(name = "emr-5.12.0"), EnumValue(name = "emr-5.11.1"), EnumValue(name = "emr-5.11.0"), EnumValue(name = "emr-5.10.0"), EnumValue(name = "emr-5.9.0"), EnumValue(name = "emr-4.9.2"), EnumValue(name = "emr-4.9.1"), )), ) implicit lazy val ermSpecEmrApplication: ErmSpec[EmrApplication] = ErmSpec.`enum`( qualifiedName = "com.gilt.svc.sundial.v0.enums.emr_application", spec = Enum(name = "emr_application", plural = "emr_applications", values = Seq( EnumValue(name = "Hadoop"), EnumValue(name = "Hive"), EnumValue(name = "Mahout"), EnumValue(name = "Pig"), EnumValue(name = "Spark"), )), ) implicit lazy val ermSpecTaskStatus: ErmSpec[TaskStatus] = ErmSpec.`enum`( qualifiedName = "com.gilt.svc.sundial.v0.enums.task_status", spec = Enum(name = "task_status", plural = "task_statuses", values = Seq( EnumValue(name = "submitted"), EnumValue(name = "runnable"), EnumValue(name = "starting"), EnumValue(name = "pending"), EnumValue(name = "running"), EnumValue(name = "failed"), EnumValue(name = "succeeded"), )), ) implicit lazy val ermSpecProcessStatus: ErmSpec[ProcessStatus] = ErmSpec.`enum`( qualifiedName = "com.gilt.svc.sundial.v0.enums.process_status", spec = Enum(name = "process_status", plural = "process_statuses", values = Seq( EnumValue(name = "running"), EnumValue(name = "succeeded"), EnumValue(name = "failed"), )), ) implicit lazy val ermSpecProcessOverlapAction: ErmSpec[ProcessOverlapAction] = ErmSpec.`enum`( qualifiedName = "com.gilt.svc.sundial.v0.enums.process_overlap_action", spec = Enum(name = "process_overlap_action", plural = "process_overlap_actions", values = Seq( EnumValue(name = "wait"), EnumValue(name = "terminate"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecEnvironmentVariable, ermSpecBatchImageCommand, ermSpecContinuousSchedule, ermSpecCronSchedule, ermSpecCustomEmrJobFlowRole, ermSpecCustomEmrServiceRole, ermSpecDockerImageCommand, ermSpecEmail, ermSpecS3LogDetails, ermSpecS3Cp, ermSpecEmrCommand, ermSpecEmrInstanceGroupDetails, ermSpecExistingEmrCluster, ermSpecHealthcheck, ermSpecLogEntry, ermSpecMetadataEntry, ermSpecNewEmrCluster, ermSpecPagerduty, ermSpecTask, ermSpecProcess, ermSpecTaskDependency, ermSpecTaskDefinition, ermSpecProcessDefinition, ermSpecShellScriptCommand, ermSpecSpot, ermSpecAwsMarket, ermSpecEmrCluster, ermSpecEmrJobFlowRole, ermSpecEmrServiceRole, ermSpecNotification, ermSpecProcessSchedule, ermSpecTaskExecutable, ermSpecNotificationOptions, ermSpecEmrReleaseLabel, ermSpecEmrApplication, ermSpecTaskStatus, ermSpecProcessStatus, ermSpecProcessOverlapAction, ) }