declare namespace com.hbc.svc.sundial.v2.enums { type DefaultEmrJobFlowRole = 'EMR_EC2_DefaultRole'; type DefaultEmrServiceRole = 'EMR_DefaultRole'; type EmrApplication = 'Hadoop' | 'Hive' | 'Mahout' | 'Pig' | 'Spark' | 'Ganglia'; type EmrReleaseLabel = 'emr-5.20.0' | 'emr-5.19.0' | 'emr-5.18.0' | 'emr-5.17.0' | 'emr-5.16.0' | 'emr-5.15.0' | 'emr-5.14.0' | 'emr-5.13.0' | 'emr-5.12.1' | 'emr-5.12.0' | 'emr-5.11.1' | 'emr-5.11.0' | 'emr-5.10.0' | 'emr-5.9.0' | 'emr-4.9.2' | 'emr-4.9.1'; type NotificationOptions = 'always' | 'on_failure' | 'on_state_change' | 'on_state_change_and_failures' | 'never'; type OnDemand = 'on_demand'; type ProcessOverlapAction = 'wait' | 'terminate'; type ProcessStatus = 'running' | 'succeeded' | 'failed'; type TaskStatus = 'submitted' | 'runnable' | 'starting' | 'pending' | 'running' | 'failed' | 'succeeded'; } declare namespace com.hbc.svc.sundial.v2.models { interface BatchImageCommand { readonly 'discriminator': 'batch_image_command'; readonly 'image': string; readonly 'tag': string; readonly 'command': string[]; readonly 'memory': number; readonly 'vCpus': number; readonly 'job_role_arn'?: string; readonly 'environment_variables': com.hbc.svc.sundial.v2.models.EnvironmentVariable[]; readonly 'job_queue'?: string; } interface ContinuousSchedule { readonly 'discriminator': 'continuous_schedule'; readonly 'buffer_seconds'?: number; } interface CronSchedule { readonly 'discriminator': 'cron_schedule'; readonly 'day_of_week': string; readonly 'month': string; readonly 'day_of_month': string; readonly 'hours': string; readonly 'minutes': string; } interface CustomEmrJobFlowRole { readonly 'discriminator': 'custom_emr_job_flow_role'; readonly 'role_name': string; } interface CustomEmrServiceRole { readonly 'discriminator': 'custom_emr_service_role'; readonly 'role_name': string; } interface Email { readonly 'discriminator': 'email'; readonly 'name': string; readonly 'email': string; readonly 'notify_when': com.hbc.svc.sundial.v2.enums.NotificationOptions; } interface EmrCommand { readonly 'discriminator': 'emr_command'; readonly 'emr_cluster': com.hbc.svc.sundial.v2.unions.EmrCluster; readonly 'job_name': string; readonly 'region': string; readonly 'class': string; readonly 's3_jar_path': string; readonly 'spark_conf': string[]; readonly 'spark_packages': com.hbc.svc.sundial.v2.models.MavenPackage[]; readonly 'args': string[]; readonly 's3_log_details'?: com.hbc.svc.sundial.v2.models.S3LogDetails; readonly 'load_data'?: com.hbc.svc.sundial.v2.models.S3Cp[]; readonly 'save_results'?: com.hbc.svc.sundial.v2.models.S3Cp[]; } interface EmrConfiguration { readonly 'classification'?: string; readonly 'configurations'?: com.hbc.svc.sundial.v2.models.EmrConfiguration[]; readonly 'properties'?: Record; } interface EmrInstanceGroupDetails { readonly 'emr_instance_type': string; readonly 'instance_count': number; readonly 'aws_market': com.hbc.svc.sundial.v2.unions.AwsMarket; readonly 'ebs_volume_size'?: number; } interface EnvironmentVariable { readonly 'variable_name': string; readonly 'value': string; } interface ExistingEmrCluster { readonly 'discriminator': 'existing_emr_cluster'; readonly 'cluster_id': string; } interface Healthcheck { readonly 'status': string; } interface LogEntry { readonly 'log_entry_id': string; readonly 'when': string; readonly 'source': string; readonly 'message': string; } interface MavenPackage { readonly 'group_id': string; readonly 'artifact_id': string; readonly 'version': string; } interface MetadataEntry { readonly 'metadata_entry_id': string; readonly 'when': string; readonly 'key': string; readonly 'value': string; } interface NewEmrCluster { readonly 'discriminator': 'new_emr_cluster'; readonly 'name': string; readonly 'release_label': com.hbc.svc.sundial.v2.enums.EmrReleaseLabel; readonly 'applications': com.hbc.svc.sundial.v2.enums.EmrApplication[]; readonly 's3_log_uri': string; readonly 'master_instance': com.hbc.svc.sundial.v2.models.EmrInstanceGroupDetails; readonly 'core_instance'?: com.hbc.svc.sundial.v2.models.EmrInstanceGroupDetails; readonly 'task_instance'?: com.hbc.svc.sundial.v2.models.EmrInstanceGroupDetails; readonly 'ec2_subnet'?: string; readonly 'emr_service_role': com.hbc.svc.sundial.v2.unions.EmrServiceRole; readonly 'emr_job_flow_role': com.hbc.svc.sundial.v2.unions.EmrJobFlowRole; readonly 'visible_to_all_users': boolean; readonly 'configurations'?: com.hbc.svc.sundial.v2.models.EmrConfiguration[]; readonly 'security_configuration'?: string; } interface Pagerduty { readonly 'discriminator': 'pagerduty'; readonly 'service_key': string; readonly 'num_consecutive_failures': number; readonly 'api_url': string; } interface Process { readonly 'process_id': string; readonly 'process_definition_name': string; readonly 'start_time': string; readonly 'status': com.hbc.svc.sundial.v2.enums.ProcessStatus; readonly 'task': com.hbc.svc.sundial.v2.models.Task[]; } interface ProcessDefinition { readonly 'process_definition_name': string; readonly 'paused'?: boolean; readonly 'process_description'?: string; readonly 'schedule'?: com.hbc.svc.sundial.v2.unions.ProcessSchedule; readonly 'task_definitions': com.hbc.svc.sundial.v2.models.TaskDefinition[]; readonly 'overlap_action': com.hbc.svc.sundial.v2.enums.ProcessOverlapAction; readonly 'notifications'?: com.hbc.svc.sundial.v2.unions.Notification[]; } interface S3Cp { readonly 'source': string; readonly 'destination': string; } interface S3LogDetails { readonly 'log_group_name': string; readonly 'log_stream_name': string; } interface ShellScriptCommand { readonly 'discriminator': 'shell_script_command'; readonly 'script': string; readonly 'environment_variables'?: com.hbc.svc.sundial.v2.models.EnvironmentVariable[]; } interface Spot { readonly 'discriminator': 'spot'; readonly 'bid_price': number; } interface Task { readonly 'task_id': string; readonly 'process_id': string; readonly 'process_definition_name': string; readonly 'task_definition_name': string; readonly 'start_time': string; readonly 'end_time'?: string; readonly 'previous_attempt_count': number; readonly 'log_entries': com.hbc.svc.sundial.v2.models.LogEntry[]; readonly 'metadata_entries': com.hbc.svc.sundial.v2.models.MetadataEntry[]; readonly 'execution_state'?: com.hbc.svc.sundial.v2.models.MetadataEntry[]; readonly 'status': com.hbc.svc.sundial.v2.enums.TaskStatus; } interface TaskDefinition { readonly 'task_definition_name': string; readonly 'dependencies': com.hbc.svc.sundial.v2.models.TaskDependency[]; readonly 'executable': com.hbc.svc.sundial.v2.unions.TaskExecutable; readonly 'max_attempts': number; readonly 'max_runtime_seconds'?: number; readonly 'backoff_base_seconds': number; readonly 'backoff_exponent': number; readonly 'require_explicit_success': boolean; } interface TaskDependency { readonly 'task_definition_name': string; readonly 'success_required': boolean; } } declare namespace com.hbc.svc.sundial.v2.unions { type AwsMarket = ({ discriminator: 'on_demand', value: com.hbc.svc.sundial.v2.enums.OnDemand } | com.hbc.svc.sundial.v2.models.Spot); type EmrCluster = (com.hbc.svc.sundial.v2.models.NewEmrCluster | com.hbc.svc.sundial.v2.models.ExistingEmrCluster); type EmrJobFlowRole = ({ discriminator: 'default_emr_job_flow_role', value: com.hbc.svc.sundial.v2.enums.DefaultEmrJobFlowRole } | com.hbc.svc.sundial.v2.models.CustomEmrJobFlowRole); type EmrServiceRole = ({ discriminator: 'default_emr_service_role', value: com.hbc.svc.sundial.v2.enums.DefaultEmrServiceRole } | com.hbc.svc.sundial.v2.models.CustomEmrServiceRole); type Notification = (com.hbc.svc.sundial.v2.models.Email | com.hbc.svc.sundial.v2.models.Pagerduty); type ProcessSchedule = (com.hbc.svc.sundial.v2.models.CronSchedule | com.hbc.svc.sundial.v2.models.ContinuousSchedule); type TaskExecutable = (com.hbc.svc.sundial.v2.models.ShellScriptCommand | com.hbc.svc.sundial.v2.models.BatchImageCommand | com.hbc.svc.sundial.v2.models.EmrCommand); }