All Classes Interface Summary Class Summary Enum Summary Exception Summary 
| Class | Description | 
| AccessToken | Class that encapsulates the OAuth credentials. | 
| AgentAutoConfiguration | Configuration for various agent beans. | 
| AgentCleanupProperties | Properties related to cleaning up jobs associated to AWOL/MIA agents. | 
| AgentClientMetadata | Metadata for a Genie Agent client. | 
| AgentCommand | Interface for commands that the agent executes. | 
| AgentConfigRequest | Configuration options for the Genie agent. | 
| AgentConfigRequest.Builder |  | 
| AgentConfigurationProperties |  | 
| AgentConfigurationService | Service that provides agent runtime configuration (i.e. | 
| AgentConfigurationServiceImpl | This implementation of  AgentConfigurationService forwards properties set on the server that match a given
 set of regular expressions, plus any additional ones specified in configuration. | 
| AgentConnectionTrackingService | Tracks active connections and heartbeats coming from agents actively executing a job. | 
| AgentConnectionTrackingServiceImpl | This service keeps track of agent connections and heartbeats. | 
| AgentConnectionTrackingServiceProperties |  | 
| AgentFileProtocolResolver | Resource resolver for files local to an agent running a job that can be streamed to the server and served via API. | 
| AgentFileProtocolResolverRegistrar | Registers AgentFileProtocolResolver in the application context. | 
| AgentFileResourceImpl | Implementation of Resourcefor files local to an agent running a job that can be
 requested and streamed to the server (so they can be served via API). | 
| AgentFileStreamProperties |  | 
| AgentFileStreamService | This service regularly produces a manifest of the executing job folder and pushes it to the server. | 
| AgentFileStreamService | Service to retrieve files from a remote agent while the latter is executing a job. | 
| AgentFileStreamService.AgentFileResource | A Resourcefor files local to a remote agent. | 
| AgentFilterProperties |  | 
| AgentFilterService | Service to block agent/clients that the server wants to refuse service to. | 
| AgentFilterServiceImpl |  | 
| AgentHeartBeatService | Service that maintains an active connection with a Genie server node by sending heart beats. | 
| AgentHostnameProjection | Projection for job hosts. | 
| AgentInspectorsAutoConfiguration |  | 
| AgentJobCleanupTask | Leader task that cleans up jobs whose agent crashed or disconnected. | 
| AgentJobKillService | Register an agent to listen for job kill messages from the server
 and respond to them. | 
| AgentJobRequest | The builder and methods available for a request generated by a Genie agent typically from the command arguments. | 
| AgentJobRequest.Builder | Builder for a V4 Job Request. | 
| AgentJobService | Agent side job specification service for resolving and retrieving job specifications from the server. | 
| AgentJobService | A Service to collect the logic for implementing calls from the Agent when a job is launched via the CLI. | 
| AgentJobServiceImpl |  | 
| AgentLauncher | A interface which implementations will launch instances of an agent in some manner in order to run a job. | 
| AgentLaunchersAutoConfiguration | Auto configuration for beans responsible for launching Genie Agent instances. | 
| AgentLauncherSelectionContext |  | 
| AgentLauncherSelector | Interface for any classes which provide a way to select a  AgentLauncher from a set of available candidates. | 
| AgentLauncherSelectorManagedScript | Extension of  ResourceSelectorScript that delegates selection of a job's agent launcher when more than one
 choice is available. | 
| AgentLauncherSelectorScriptProperties | Properties for agent launcher selection via script. | 
| AgentLaunchException | An exception for when the server can't launch an agent for whatever reason. | 
| AgentLogManager | Utility to locate and relocate agent log file. | 
| AgentLogManagerLog4j2Impl | Utility class that locates and relocates the agent log file. | 
| AgentMetadata | Container for Genie agent metadata and runtime information. | 
| AgentMetadataImpl | Implementation of AgentMetadata. | 
| AgentMetadataInspector | Component that inspects an Agent client metadata and makes decision on whether it is allowed to proceed. | 
| AgentProperties | Root properties class for agent. | 
| AgentResourcesAutoConfiguration | Auto Configuration for Resourceclasses exposed in the Agent module. | 
| AgentRoutingService | Service that tracks agent connections on the local Genie node and provides routing information for
 agent connected to other nodes. | 
| AgentRoutingServiceCuratorDiscoveryImpl |  | 
| AgentRoutingServiceCuratorDiscoveryImpl.Agent | Payload for typed ServiceDiscovery. | 
| AgentRoutingServiceProperties |  | 
| AgentRoutingServiceSingleNodeImpl | Implementation of  AgentRoutingService that assumes a single Genie node and tracks connections in-memory. | 
| AgentRpcEndpointsAutoConfiguration | Configures various gRPC services and related beans if gRPC functionality is enabled. | 
| AgentRpcInterceptorsAutoConfiguration | Spring Auto Configuration for default ServerInterceptorimplementations for the Genie gRPC services. | 
| AgentRpcServersAutoConfiguration | Controls whether a gRPC server is configured and started for this Genie node or not. | 
| AgentServicesAutoConfiguration | Auto configuration for services needed in the agent module. | 
| ApiClientMetadata | Data class to hold information about a Genie client whether it is an API client or an Agent. | 
| ApiJobRequest | The builder and methods available for a request generated by a REST API request. | 
| ApiJobRequest.Builder | Builder for a V4 Job Request. | 
| ApisAutoConfiguration | Configuration for external API tier. | 
| Application | Application DTO. | 
| Application | An immutable V4 Application resource. | 
| Application.Builder | A builder to create applications. | 
| ApplicationClient | Client library for the Application Service. | 
| ApplicationEntity | Representation of the state of an Application. | 
| ApplicationEntity_ |  | 
| ApplicationMetadata | Metadata supplied by a user for an Application resource. | 
| ApplicationMetadata.Builder | A builder to create application user metadata instances. | 
| ApplicationModelAssembler | Assembles Application resources out of applications. | 
| ApplicationPredicates |  | 
| ApplicationRequest | Fields representing all the values users can set when creating a new Application resource. | 
| ApplicationRequest.Builder | Builder for a V4 Application Request. | 
| ApplicationRestController | REST end-point for supporting Applications. | 
| ApplicationService | An interface that provides all methods needed for the Genie application client implementation. | 
| ApplicationStatus | The available statuses for applications. | 
| ApplicationStatus | The available statuses for applications. | 
| ArchivedJobMetadata | A simple POJO for a compound value of related information to a job archived location and files. | 
| ArchivedJobService | A Service interface for working with the metadata and data of a job that was archived by the Agent upon completion. | 
| ArchivedJobServiceImpl |  | 
| ArchiveJobOutputsStage | Archive job output files and logs, if the job reached a state where it is appropriate to do so. | 
| ArchiveStatus | Possible archival statuses for a Job. | 
| ArchiveStatusCleanupProperties | Properties related to cleaning up jobs archive status. | 
| ArchiveStatusCleanupTask | Leader task that find jobs whose archival status was left in 'PENDING' state. | 
| ArgumentDelegates | Interfaces for command-line delegates (groups of options shared by multiple commands). | 
| ArgumentDelegates.CacheArguments | Delegate for agent dependencies cache. | 
| ArgumentDelegates.CleanupArguments | Delegate for job folder cleanup options. | 
| ArgumentDelegates.JobRequestArguments | Delegate for agent job request parameters. | 
| ArgumentDelegates.RuntimeConfigurationArguments | Delegate for agent runtime options. | 
| ArgumentDelegates.ServerArguments | Delegate for server connection options. | 
| AspectsAutoConfiguration | Auto configuration for aspects that should be applied to a running Genie server instance. | 
| AttachmentService | APIs for saving a job attachments sent in with Genie requests. | 
| AttachmentServiceProperties |  | 
| AttachmentTooLargeException | Exception thrown when the user tries to submit a job whose attachments exceed the limits. | 
| AuditEntity | Abstract class to support basic columns for all entities for genie. | 
| AuditEntity_ |  | 
| AuditProjection | Returns all the base entity attributes. | 
| AwsAutoConfiguration | Spring Boot auto configuration for AWS related beans for the Genie Agent. | 
| AWSAutoConfiguration | AWS beans. | 
| AwsCredentialsProperties | Properties related to AWS credentials for Genie on top of what Spring Cloud AWS provides. | 
| AwsCredentialsProperties.SpringCloudAwsRegionProperties | Property bindings for Spring Cloud AWS region specific properties. | 
| BaseDTO | Base fields for multiple DTOs. | 
| BaseDTO.Builder<T extends BaseDTO.Builder> | Builder pattern to save constructor arguments. | 
| BaseEntity | The base for all Genie top level entities. | 
| BaseEntity_ |  | 
| BaseProjection | Projection for the common fields. | 
| BaseSearchResult | Base class for search results containing common fields. | 
| BlacklistedVersionAgentMetadataInspector | An  AgentMetadataInspector that rejects agent whose version matches a regular expression
 (obtained via properties) and accepts everything else. | 
| BraveTagAdapter | Extension of  TagAdapter that specifies that tags should be key value pairs of Strings as they are in
 Brave instrumentation. | 
| BraveTracePropagator |  | 
| BraveTracingCleanup | Any cleanup needed at program shutdown for Brave  instrumentation. | 
| BraveTracingComponents | Container DTO class for Brave  based components for tracing in
 Genie server and agent. | 
| BucketProperties | A property class which holds information about how to interact with a specific S3 Bucket. | 
| CachingAutoConfiguration | Auto configuration to enable Spring Boot Caching annotation support. | 
| ChangeJobArchiveStatusException | Failure to update the job archive status remotely. | 
| ChangeJobStatusException | Failure to update the job status remotely. | 
| ClaimJobStage | Claim the job, so no other agent can execute it. | 
| CleanupJobDirectoryStage | Performs cleanup of the job directory after execution. | 
| CleanupStrategy | Enum to describe the different kind of post-execution cleanup of the job directory. | 
| CliAutoConfiguration | Spring auto configuration class to contain all beans involved in the CLI for the Agent. | 
| ClientMetadata | Common base for API and Agent client metadata. | 
| CloseableLock | A simple interface representing a closeable lock. | 
| Cluster | Cluster DTO object. | 
| Cluster | An immutable V4 Cluster resource. | 
| Cluster.Builder | A builder to create clusters. | 
| ClusterClient | Client library for the Cluster Service. | 
| ClusterCriteria | Cluster Criteria. | 
| ClusterEntity | Representation of the state of the Cluster object. | 
| ClusterEntity_ |  | 
| ClusterLeaderService | Service interface for the abstracts the details of leadership within nodes in a Genie cluster. | 
| ClusterLeaderServiceCuratorImpl | Implementation of  ClusterLeaderService using Spring's  LeaderInitiator (Zookeeper/Curator based
 leader election mechanism). | 
| ClusterLeaderServiceLocalLeaderImpl |  | 
| ClusterMetadata | Metadata supplied by a user for a Cluster resource. | 
| ClusterMetadata.Builder | A builder to create cluster user metadata instances. | 
| ClusterModelAssembler | Assembles Cluster resources out of clusters. | 
| ClusterPredicates |  | 
| ClusterRequest | Fields representing all the values users can set when creating a new Cluster resource. | 
| ClusterRequest.Builder | Builder for a V4 Cluster Request. | 
| ClusterRestController | REST end-point for supporting clusters. | 
| ClusterSelectionContext |  | 
| ClusterSelector | Interface for any classes which provide a way to select a  Cluster from a set of clusters
 which matched criterion provided by a user in a  JobRequest and combined with the criteria for the command
 selected for a given job. | 
| ClusterSelectorManagedScript | Extension of  ResourceSelectorScript that delegates selection of a job's cluster when more than one choice is
 available. | 
| ClusterSelectorScriptProperties | Properties for cluster selection via script. | 
| ClusterService | An interface that provides all methods needed for the Genie cluster client implementation. | 
| ClusterStatus | The possible statuses for a cluster. | 
| ClusterStatus | The possible statuses for a cluster. | 
| Command | A command data transfer object. | 
| Command | An immutable V4 Command resource. | 
| Command.Builder | A builder to create commands. | 
| CommandClient | Client library for the Command Service. | 
| CommandEntity | Representation of the state of the Command Object. | 
| CommandEntity_ |  | 
| CommandMetadata | Metadata supplied by a user for a Command resource. | 
| CommandMetadata.Builder | A builder to create command user metadata instances. | 
| CommandModelAssembler | Assembles Command resources out of commands. | 
| CommandPredicates |  | 
| CommandRequest | Fields representing all the values users can set when creating a new Command resource. | 
| CommandRequest.Builder | Builder for a V4 Command Request. | 
| CommandRestController | REST end-point for supporting commands. | 
| CommandSelectionContext |  | 
| CommandSelector | Interface for any classes which provide a way to select a  Command from a set of commands
 which matched criterion provided by a user in a  JobRequest. | 
| CommandSelectorManagedScript | An extension of  ResourceSelectorScript which from a set of commands and the original job request will
 attempt to determine the best command to use for execution. | 
| CommandSelectorManagedScriptProperties |  | 
| CommandService | An interface that provides all methods needed for the Genie command client implementation. | 
| CommandStatus | The available statuses for Commands. | 
| CommandStatus | The available statuses for Commands. | 
| CommonDTO | Common fields for multiple DTOs. | 
| CommonDTO.Builder<T extends CommonDTO.Builder> | Builder pattern to save constructor arguments. | 
| CommonMetadata | Metadata fields common to all Genie resources (Jobs, clusters, etc). | 
| CommonMetadata.Builder<T extends CommonMetadata.Builder> | Builder for common fields. | 
| CommonRequest | Common fields for Resource requests (clusters, commands, jobs, etc). | 
| CommonResource | Fields common to every Genie v4 resource (cluster, command, etc). | 
| CommonServicesAutoConfiguration | Auto configuration of any services that are common to both the agent and the server. | 
| CommonTracingAutoConfiguration | Auto configuration for common tracing components within Genie server and agent. | 
| ConfigureAgentStage | Configures the agent with server-provided runtime parameters that are independent of the job. | 
| ConfigureException | Failure to obtain configuration properties from server. | 
| ConfigureExecutionStage | Sets up context state based on the type of execution and other command-line parameters. | 
| ConsoleLog | Utilities for interacting with the user terminal/console. | 
| ConsoleLogListener | Job execution listener that prints messages visible to the user in the console. | 
| ControllerUtils | Utility methods re-used in various controllers. | 
| CreateJobDirectoryStage | Creates the job directory. | 
| CreateJobScriptStage | Creates the job script (a.k.a. | 
| Criterion | Representation of various criterion options available. | 
| Criterion.Builder | Builder for creating a Criterion instance. | 
| CriterionEntity | Entity for criteria records. | 
| CriterionEntity_ |  | 
| DataAutoConfiguration | Default auto configuration of data related services and beans for Genie. | 
| DatabaseCleanupProperties | Properties controlling the behavior of the database cleanup leadership task. | 
| DatabaseCleanupProperties.ApplicationDatabaseCleanupProperties | Properties related to cleaning up application records from the database. | 
| DatabaseCleanupProperties.ClusterDatabaseCleanupProperties | Properties related to cleaning up cluster records from the database. | 
| DatabaseCleanupProperties.CommandDatabaseCleanupProperties | Properties related to cleaning up command records from the database. | 
| DatabaseCleanupProperties.CommandDeactivationDatabaseCleanupProperties | Properties related to setting Commands to INACTIVE status in the database. | 
| DatabaseCleanupProperties.FileDatabaseCleanupProperties | Properties related to cleaning up file records from the database. | 
| DatabaseCleanupProperties.JobDatabaseCleanupProperties | Properties related to cleaning up job records from the database. | 
| DatabaseCleanupProperties.TagDatabaseCleanupProperties | Properties related to cleaning up tag records from the database. | 
| DatabaseCleanupTask | A  LeaderTask which will clean up the database of old records if desired. | 
| DataServiceRetryAspect | Aspect implementation of retrying the data service methods on certain failures. | 
| DataServiceRetryProperties | All properties related to data service retry template in Genie. | 
| DataServices | Container class for encapsulating all the various data related services in Genie to ease dependency patterns. | 
| DefaultBraveTagAdapterImpl | Default implementation of  BraveTagAdapter which is just a proxy for the actual call. | 
| DefaultDirectoryWriter | A default directory writer implementation. | 
| DefaultDirectoryWriter.Directory | DTO for representing a directory contents. | 
| DefaultDirectoryWriter.Entry | DTO for representing information about an entry within a job directory. | 
| DetermineJobFinalStatusStage | Sends the server the final job status, if the job reached a state where it is appropriate to do so. | 
| DirectoryManifest | A manifest of all the files and subdirectories in a directory. | 
| DirectoryManifest.Factory | Factory that encapsulates directory manifest creation. | 
| DirectoryManifest.Filter | This interface defines a filter function used during creation of the manifest. | 
| DirectoryManifest.ManifestEntry | Representation of the metadata for a job file on a given underlying storage system. | 
| DirectoryWriter | Interface for methods to convert a directory to various String representations. | 
| DiskCleanupProperties | Properties controlling the behavior of the database cleanup leadership task. | 
| DiskCleanupTask | This task runs on every Genie node and is responsible for cleaning up the local disk so that space can be
 recaptured. | 
| DownloadDependenciesStage | Download dependencies such as binaries and configurations attached to the job and its dependent entities. | 
| DownloadException | Exception thrown by services that fail to download dependencies for a job. | 
| DownloadService | Service to download a set of files to local disk. | 
| DownloadService.Manifest | Manifest containing source (URIs) and their expected destination on disk after download. | 
| DownloadService.Manifest.Builder | Builder for Manifest. | 
| DtoConverters | Utility class to help converting between V3 and V4 DTOs during migration period. | 
| EntityModelAssemblers | A simple container DTO for passing all known resource assemblers around. | 
| EntityV3DtoConverters | Converters between entities and V3 DTOs. | 
| EntityV4DtoConverters | Utility methods for converting from V4 DTO to entities and vice versa. | 
| EnvVarBraveTracePropagatorImpl |  | 
| EventsAutoConfiguration | Configuration related to Eventing within the Genie application. | 
| ExecutionAutoConfiguration | Spring auto configuration for beans required for job execution. | 
| ExecutionEnvironment | Elements that should be brought into an execution environment for a given resource (job, cluster, etc). | 
| ExecutionEnvironmentDTO | Base class DTO for DTOs which require a setup file. | 
| ExecutionEnvironmentDTO.Builder<T extends ExecutionEnvironmentDTO.Builder> | A builder for helping to create instances. | 
| ExecutionResourceCriteria | Container for various options for user supplying criteria for the execution environment of a job. | 
| ExecutionResourceProjection |  | 
| ExecutionStage | Abstract base class for Genie Agent stage of execution. | 
| ExecutorFactory | A factory for Executorinstances. | 
| ExitCode | Exit codes for Genie agent. | 
| ExponentialBackOffTrigger | Trigger implementation whose scheduling delay grows exponentially based on a given factor. | 
| ExponentialBackOffTrigger.DelayType | How the delay is calculated. | 
| ExponentialBackOffTriggerProperties |  | 
| FatalJobExecutionException | Fatal exception that should stop execution early. | 
| FetchingCacheService | Interface for a cache that downloads resources via URL and stores them on local disk for later reuse. | 
| FileEntity | File Entity. | 
| FileEntity_ |  | 
| FileLock | CloseableLock for a file. | 
| FileLockFactory |  | 
| FileStreamServiceProperties |  | 
| FileSystemJobArchiverImpl | An implementation of  JobArchiver which attempts to copy the job directory somewhere else on the file
 system for backup. | 
| FinishedJob | DTO for a job that reached a final state. | 
| FinishedJob.Builder | Builder. | 
| FinishedJobProjection | Projection for a job entity that reached a terminal status. | 
| GenieAgentApplication | Genie Agent application. | 
| GenieAgentHealthIndicator | Provides a health indicator relative to the behavior of Genie Agents and this Server. | 
| GenieAgentRejectedException | An exception to represent the case where an Agent was rejected by the server. | 
| GenieAgentRunner | Main entry point for execution after the application is initialized. | 
| GenieApp | Main Genie Spring Configuration class. | 
| GenieApplicationNotFoundException | An exception to represent the case where an application was expected to exist (e.g. | 
| GenieBadRequestException | Extension of a GenieException for all bad request failures. | 
| GenieCheckedException | Base class for Genie checked exceptions. | 
| GenieClientException | An exception class that represents all failures received by the client. | 
| GenieClientTooManyRequestsException | An exception class that represents 429 - Too Many Requests received from the server. | 
| GenieClusterNotFoundException | An exception to represent the case where a cluster was expected to exist (e.g. | 
| GenieCommandNotFoundException | An exception to represent the case where a command was expected to exist (e.g. | 
| GenieConversionException | Failure to convert objects into wire format or vice versa. | 
| GenieCpuHealthIndicator | Health indicator for system cpu usage. | 
| GenieDefaultPropertiesPostProcessor | Adds default properties to the Spring environment before application refresh. | 
| GenieDefaultPropertiesPostProcessor | Adds default properties to the Spring environment before application refresh. | 
| GenieEventBus | Genie Event Bus interface. | 
| GenieEventBusImpl | An event bus implementation for the Genie application to use. | 
| GenieException | The common exception class that represents a service failure. | 
| GenieExceptionMapper | Exception mapper for Genie Exceptions. | 
| GenieHostInfo | Container for information about the host a Genie process (web server or agent) is running on. | 
| GenieIdAlreadyExistsException | Exception thrown when an id is attempting to be saved that already exists in the system. | 
| GenieInvalidStatusException | Exception thrown when a status supplied by a client for as their known previous status doesn't match what the system
 has in the database. | 
| GenieJobAlreadyClaimedException | Exception thrown when a job is already claimed in the system and another agent tries to claim it. | 
| GenieJobNotFoundException | An exception to represent the case where a job was expected to exist (e.g. | 
| GenieJobResolutionException | When a request for resolving a job can't be completed for some reason. | 
| GenieJobResolutionRuntimeException | When resolution fails with a runtime error, such as the selector timing out. | 
| GenieJobSpecificationNotFoundException | An exception to represent the case where a job specification was expected to exist but it doesn't. | 
| GenieNetworkConfiguration | An object that encapsulates network configurations for Genie client HTTP requests. | 
| GenieNotFoundException | Extension of a GenieException for all not found exceptions. | 
| GenieObjectMapper | A singleton for sharing a Jackson Object Mapper instance across Genie and not having to redefine the Object Mapper
 everywhere. | 
| GeniePreconditionException | Extension of a GenieException for all precondition failures. | 
| GenieRuntimeException | Base class for Genie runtime exceptions. | 
| GenieServerException | Extension of a GenieException for all internal server failures. | 
| GenieServerUnavailableException | Extension of a GenieException for all server unavailable failures. | 
| GenieTask | Interface for any task that should run in the Genie system. | 
| GenieTaskScheduleType | The enumeration values which a  GenieTask can be be scheduled with. | 
| GenieTestApp | Reusable Spring Boot test application. | 
| GenieTimeoutException | Extension of a GenieException for timeouts. | 
| GenieUserLimitExceededException | Extension of a GenieException for a user exceeding some limit (e.g., submitting too many jobs). | 
| GenieWebHostInfo | Extension of  GenieHostInfo which adds metadata specific to the web server. | 
| GenieWebRpcInfo | Container class for RPC related properties. | 
| GetJobStatusException | Failure to retrieve job status from the server. | 
| GroovyScriptUtils | Utility functions that can be used within Groovy scripts executed from Genie. | 
| GRpcAgentFileStreamServiceImpl |  | 
| GRpcAgentFileStreamServiceImpl |  | 
| GRpcAgentJobKillServiceImpl | Implementation of the  AgentJobKillService, listens for kill coming from server using long-polling. | 
| GRpcAutoConfiguration | Spring auto configuration for gRPC components. | 
| GRpcHeartBeatServiceImpl | An edge gRPC service that uses bi-directional streaming. | 
| GRpcJobKillServiceImpl | Implementation of  JobKillService which uses parked gRPC requests to tell the agent to
 shutdown via a user kill request if the job is in an active state. | 
| GRpcJobServiceImpl | Extension of JobServiceGrpc.JobServiceImplBaseto provide
 functionality for resolving and fetching specifications for jobs to be run by the Genie Agent. | 
| GRpcPingServiceImpl | Implementation of the Ping service definition. | 
| GRpcServerManager | A wrapper around a Serverinstance which implementsAutoCloseableto control startup and shutdown
 along with the application. | 
| GRpcServerProperties | Properties related to Genie's gRPC server functionality. | 
| GRpcServerUtils | Utilities for working with a gRPC Serverinstance. | 
| GRpcServicesAutoConfiguration | Spring auto configuration for the various gRPC services required for an agent to communicate with the Genie server. | 
| H2Utils | Utilities for working with H2 database. | 
| HandshakeException | Failure to handshake with server. | 
| HandshakeStage | Perform server handshake, to ensure server is ok with this agent running a job. | 
| HateoasAutoConfiguration | Spring auto configuration for HATEOAS module beans. | 
| HealthAutoConfiguration | Auto configuration for Health indicators related to Genie. | 
| HealthCheckMetricsAspect | Aspect around Spring Boot 'HealthIndicator' to publish metrics for status of individual indicator, as well as their
 turnaround time. | 
| HealthProperties | All properties related to health thresholds in Genie. | 
| HeartBeatProperties | Properties related to Heart Beat gRPC Service. | 
| HeartBeatServiceProperties |  | 
| HostnameUtil | Static utility class to determine the local hostname. | 
| HttpProperties | Properties related to HTTP client configuration. | 
| HttpProperties.Connect | Connection related properties for HTTP requests. | 
| HttpProperties.Read | Read related properties for HTTP requests. | 
| IdAlreadyExistsException | Exception thrown when an resource is attempting to be saved with a unique ID that already exists in the system. | 
| IdEntity | Base class which only provides an ID. | 
| IdEntity_ |  | 
| IdProjection | A projection just for returning the id field of a given entity. | 
| InitializeAgentStage | Performs generic initialization. | 
| InspectionReport |  | 
| InspectionReport.Decision | The possible outcomes of an inspection. | 
| IntegrationTestingConfiguration | Configuration overrides for integration tests. | 
| IntrospectionAutoConfiguration | Auto configuration for shared DTO instances within the web server. | 
| InvalidStateException | Unchecked exception thrown in case a state action is executed with an unexpected state. | 
| JCommanderAutoConfiguration | Auto configuration for configuring JCommanderto parse CLI arguments of the Agent. | 
| Job | Read only data transfer object representing a Job in the Genie system. | 
| Job.Builder | A builder to create jobs. | 
| JobApiProjection | A projection which allows the system to pull back whether the job was submitted via the REST API or other mechanism. | 
| JobApplicationsProjection | Projection to return just the applications associated with a given job. | 
| JobArchiveException | Exception thrown in case there is a problem with archiving files. | 
| JobArchiveLocationProjection | A projection which only returns the archive location for a job. | 
| JobArchiver | Implementations of this interface should be able to a write job files to a WritableResourceroot location. | 
| JobArchiveService | A service which is responsible for taking the files related to running a Genie job and backing them up to a different
 location. | 
| JobArchiveServiceImpl |  | 
| JobClient | Client library for the Job Service. | 
| JobClusterProjection | Projection to return just the cluster for a given job. | 
| JobCommandProjection | Projection to return just the command for a given job. | 
| JobCommonFieldsProjection | Projection for common fields between pre 3.3.0 JobRequest and Job entities. | 
| JobConstants | A class holding some constants to be used everywhere. | 
| JobDirectoryManifestCreatorService |  | 
| JobDirectoryManifestCreatorServiceImpl | Implementation of  JobDirectoryManifestCreatorService that caches manifests produced by the factory for a few
 seconds, thus avoiding re-calculating the same for subsequent requests (e.g. | 
| JobDirectoryManifestNotFoundException | An exception thrown when a job was archived but the manifest of the archive can't be found in the archive location. | 
| JobDirectoryManifestProtoConverter | Converts  DirectoryManifest from/to  AgentManifestMessage in order to transport manifests
 over gRPC. | 
| JobDirectoryServerService | This service abstracts away the details of responding to API requests for the files and directories created during
 the execution of a job in the Genie ecosystem. | 
| JobDirectoryServerServiceImpl |  | 
| JobEntity | A row in the jobs table. | 
| JobEntity_ |  | 
| JobEntityListener |  | 
| JobEnvironment | Final values for settings of the Genie job execution environment. | 
| JobEnvironment.Builder |  | 
| JobEnvironmentRequest | Fields that allow manipulation of the Genie job execution container environment. | 
| JobEnvironmentRequest.Builder |  | 
| JobExecution | All information needed to show state of a running job. | 
| JobExecution.Builder | A builder to create job requests. | 
| JobExecutionListener | Listener of job execution. | 
| JobExecutionModelAssembler | Assembles Job Request resources out of JobRequest DTOs. | 
| JobExecutionProjection | Projection with the data present in a Genie JobExecutionEntity from pre-3.3.0. | 
| JobExecutionStateMachine | Interface JobExecutionStateMachine hides the actual state machine details. | 
| JobExecutionStateMachineImpl | Implementation of the job execution state machine. | 
| JobFileState | Representation of the metadata for a job file on a given underlying storage system. | 
| JobFinishedSNSPublisher | Publishes Amazon SNS notifications with detailed information about each completed job. | 
| JobIdUnavailableException | Exception thrown by AgentJobService when trying to reserve an ID that has already been used. | 
| JobInfoAggregate | An object to return aggregate data selected with regards to memory usage on a given Genie host. | 
| JobKillService | Interface for services to kill jobs. | 
| JobKillServiceProperties |  | 
| JobLaunchException | Exception during job launch. | 
| JobLaunchService | Top level coordination service responsible for taking a job request and running the job if possible. | 
| JobLaunchServiceImpl |  | 
| JobMetadata | Additional metadata associated with a Job Request such as client host, user agent, etc. | 
| JobMetadata | Metadata supplied by a user for a job. | 
| JobMetadata.Builder | Builder for creating a JobMetadata instance. | 
| JobMetadata.Builder | A builder to create job user metadata instances. | 
| JobMetadataModelAssembler | Assembles Job Request resources out of JobRequest DTOs. | 
| JobMetadataProjection | Projection of the jobs table which produces only the fields that were present in the pre-3.3.0
 JobMetadata table before it was merged into one large jobs table. | 
| JobModelAssembler | Assembles Job resources out of job DTOs. | 
| JobMonitorService | Service that monitors the job directory and may decide to kill the job if some limit is exceeded. | 
| JobMonitorServiceProperties |  | 
| JobNotArchivedException | An exception thrown when a job is completed but wasn't archived and thus output isn't available. | 
| JobNotFoundException | An exception thrown when a job is not found in the system. | 
| JobNotificationMetricPublisher | Listens to job status changes and publishes metrics. | 
| JobPredicates |  | 
| JobProcessManager | Singleton to manage the subprocess for the actual user job this Agent instance is managing. | 
| JobProcessManagerImpl | Configures and launches a job sub-process using metadata passed through ExecutionContext. | 
| JobProcessResult | A DTO POJO to capture final information about the job process this agent process was responsible for. | 
| JobProcessResult.Builder |  | 
| JobProjection | Projection for the fields originally available in pre-3.3.0 JobEntity classes. | 
| JobRequest | All information needed to make a request to run a new job. | 
| JobRequest | All details a user will provide to Genie in order to run a job. | 
| JobRequest.Builder | A builder to create job requests. | 
| JobRequestConverter |  | 
| JobRequestConverter.ConversionException | Exception thrown in case of conversion error due to resulting object failing validation. | 
| JobRequestMetadata | Metadata gathered by the system as part of any  JobRequest. | 
| JobRequestModelAssembler | Assembles Job Request resources out of JobRequest DTOs. | 
| JobRequestProjection | Projection to reproduce the JobRequest entity fields which were was a table present before 3.3.0. | 
| JobReservationException | Failure to reserve a job id for reasons other than the specified job id being already used. | 
| JobResolverService | Service API for taking inputs from a user and resolving them to concrete information that the Genie system will use
 to execute the users job. | 
| JobResolverServiceImpl |  | 
| JobRestController | REST end-point for supporting jobs. | 
| JobsActiveLimitProperties | Properties related to number of active jobs per user. | 
| JobSearchProjection | Projection to return only the fields desired for a job with search results. | 
| JobSearchResult | This class represents the subset of data returned from a Job when a search for Jobs is conducted. | 
| JobSearchResultModelAssembler | Assembles Job resources out of job search result DTOs. | 
| JobService | An interface that provides all methods needed for the Genie job client implementation. | 
| JobServiceProtoConverter | Converter of proto messages for the JobServiceGrpc.JobServiceImplBaseservice to
 and from V4 DTO POJO's. | 
| JobServiceProtoErrorComposer | Utility/helper to map exceptions into protocol responses. | 
| JobSetupService | Service that sets up a directory for a job to execute in. | 
| JobSetupServiceProperties |  | 
| JobsForwardingProperties | Properties related to job forwarding. | 
| JobsLocationsProperties | Properties for various job related locations. | 
| JobsMemoryProperties | Properties pertaining to how much memory jobs can use on Genie. | 
| JobSpecification | This DTO represents all the information needed to execute a job by the Genie Agent. | 
| JobSpecification.ExecutionResource | Common representation of resources used for job execution e.g. | 
| JobSpecificationProjection | Projection of the database fields which make up the required elements of a job specification. | 
| JobSpecificationResolutionException | Exception thrown by AgentJobService. | 
| JobsProperties | All properties related to jobs in Genie. | 
| JobStateChangeEvent | Event representing a job status change. | 
| JobStateChangeSNSPublisher | Publishes Amazon SNS notifications for fine-grained job state changes. | 
| JobStatus | Possible statuses for a Job. | 
| JobStatus | Possible statuses for a Job. | 
| JobStatusMessages | Constant strings for status message attached to a job after it terminates. | 
| JobSubmission | The payload of all gathered information from a user request to run a job via the API. | 
| JobSubmission.Builder |  | 
| JobsUsersProperties | Properties related to users running jobs. | 
| JpaApplicationRepository | Application repository. | 
| JpaBaseRepository<E extends BaseEntity> | A common repository for inheritance of common methods for Entities extending BaseEntity. | 
| JpaClusterRepository | Cluster repository. | 
| JpaCommandRepository | Command repository. | 
| JpaCriterionRepository |  | 
| JpaFileRepository | Repository for file references. | 
| JpaJobRepository | Job repository. | 
| JpaPersistenceServiceImpl |  | 
| JpaRepositories | Container class for encapsulating all the various JPA Repositories in Genie to ease dependency patterns. | 
| JpaTagRepository | Repository for tags. | 
| JsonAttributeConverter | An AttributeConverterto convertJsonNodeobjects into their String representations for storage
 and vice versa. | 
| JsonUtils | Utility methods for interacting with JSON. | 
| JsonUtils.InstantMillisecondSerializer | Truncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility. | 
| JsonUtils.OptionalInstantMillisecondSerializer | Truncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility. | 
| KillService | Service responsible for killing the job. | 
| KillService.KillSource | Enumeration for the source of a request to kill the job. | 
| LaunchJobStage | Launches the job process. | 
| LeaderAutoConfiguration | Beans for Leadership of a Genie cluster. | 
| LeaderElectionActuator | An actuator endpoint that exposes leadership status and allows stop/start/restart of the leader election service. | 
| LeaderElectionActuator.Action | Operations that this actuator can perform on the leader service. | 
| LeadershipProperties | Properties related to static leadership election configurations. | 
| LeaderTask | Interface for any task that a node elected as the leader of a Genie cluster should run. | 
| LeaderTasksCoordinator | Class which handles coordinating leadership related tasks. | 
| LocalAgentLauncherImpl | Implementation of  AgentLauncher which launched Agent instances on the local Genie hardware. | 
| LocalAgentLauncherProperties | Properties related to launching Agent processes locally. | 
| LocalFileSystemAttachmentServiceImpl |  | 
| LocalLeader | A class to control leadership activities when remote leadership isn't enabled and this node has been forcibly
 elected as the leader. | 
| LockException | Exception thrown when there is a problem with locks. | 
| LogExecutionErrorsStage | Logs execution errors encountered so far. | 
| LoggingListener | Listener that logs state machine events and transitions. | 
| ManagedScript | Abstract script class for components that rely on an external script to be loaded and invoked at runtime. | 
| ManagedScriptBaseProperties | Base abstract properties for individual script classes to extend. | 
| MetricsConstants | Used to store constants related to metric names. | 
| MetricsConstants.TagKeys | Inner class for constants used as key to tag metrics. | 
| MetricsConstants.TagValues | Constants used as metrics tags values by various classes. | 
| MetricsUtils | Utility methods for metrics. | 
| MinimumVersionAgentMetadataInspector |  | 
| NodeAutoConfiguration | Auto configuration for tasks that run on every Genie server node. | 
| NotFoundException | An exception thrown when a resource is not found in the system. | 
| NotificationsAutoConfiguration | Beans related to external notifications. | 
| OAuth2SecurityInterceptor | An interceptor that adds security headers to all outgoing requests. | 
| ObtainJobSpecificationStage | Obtains job specification from server. | 
| PathUtils | Utilities to compose filesystem paths. | 
| PersistedJobStatusObserver | Interface for an observer that gets notified of job 'status' change after the latter is persisted. | 
| PersistedJobStatusObserverImpl | Observer of persisted entities modifications that publishes events on the event bus to be consumed asynchronously by
 interested consumers. | 
| PersistenceService | Service API for all Genie persistence related operations. | 
| PreconditionFailedException | Exception thrown when a precondition is not met on method invocation. | 
| PredicateUtils | Utility methods for the JPA Predicategeneration. | 
| ProcessAutoConfiguration |  | 
| PropertiesMapCache | Utility class that produces a map of properties and their values if they match a given prefix. | 
| PropertiesMapCache.Factory |  | 
| PropertyConvertersAutoConfiguration | Auto configuration for registering ConfigurationPropertiesBindingbeans. | 
| PropertySourceUtils | Utilities for working with Spring PropertySource. | 
| ProtoConvertersAutoConfiguration | Auto configuration of components common to both the agent and the server. | 
| RandomAgentLauncherSelectorImpl |  | 
| RandomClusterSelectorImpl |  | 
| RandomCommandSelectorImpl |  | 
| RandomSuppliers | Supply random types. | 
| RefreshManifestStage | Triggers a manual refresh of the cached files manifest. | 
| RegexDirectoryManifestFilter | Implementation of DirectoryManifestFilter that filters manifest entries base on a list of regular expressions
 provided via properties class. | 
| RegexDirectoryManifestProperties |  | 
| RegexRuleSet | Utility class to match a string against an ordered set of regexes and obtain an accept/reject response. | 
| RegexRuleSet.Builder | Ruleset builder. | 
| RegexRuleSet.Response | The two responses to an input. | 
| RegexRuleSet.Rule | An individual rule in a ruleset. | 
| RejectAllJobsAgentMetadataInspector |  | 
| RelocateLogFileStage | Moves the agent log file into the job directory from the temporary location. | 
| RequestForwardingService | A service whose implementation should be responsible for forwarding requests between Genie server nodes. | 
| RequestForwardingServiceImpl |  | 
| ReserveJobIdStage | Performs job reservation, or ensures the job is pre-reserved and ready to be claimed. | 
| ResolvedJob | The payload of information representing all the concrete details the system needs to run a job. | 
| ResolvedResources<R> | Representing the result of resolving resources of type R from a  Criterion. | 
| ResourceSelectionContext<R> | Context object for encapsulating state into the selectors. | 
| ResourceSelectionException | An exception thrown when a resource selector encounters an unrecoverable error while trying to select a resource
 from a collection of possible resources. | 
| ResourceSelectionResult<R> | A data class for returning the results of an attempted resource selection. | 
| ResourceSelectionResult.Builder<R> |  | 
| ResourceSelector<R,C extends ResourceSelectionContext<R>> | Generic interface for a selector which selects a resource from a set of resources for a given job request. | 
| ResourceSelectorScript<R,C extends ResourceSelectionContext<R>> | Interface for defining the contract between the selection of a resource from a set of resources for a given
 job request. | 
| ResourceSelectorScriptResult<R> | Class to represent a generic response from a script which selects a resource from a set of resources. | 
| ResourceSelectorScriptResult.Builder<R> | A builder for these the results to prevent scripts from having to redo everything based on constructors if
 we change parameters. | 
| ResponseMappingInterceptor | Class that evaluates the retrofit response code and maps it to an appropriate Genie Exception. | 
| RetryableJobExecutionException | Exception thrown by state machine transition for retryable errors (e.g, network error talking to server). | 
| RetryAutoConfiguration | Auto configuration which enables Retryablefor method calls on beans. | 
| RetryProperties | All properties related to Http retry template in Genie. | 
| RetryProperties.ServiceSpecificProperties | Retry properties specific to a particular service. | 
| RootModelAssembler | Assembles root resource from a JsonNode. | 
| RootRestController | Rest controller for the V3 API root. | 
| S3AttachmentServiceImpl | Implementation of the AttachmentService interface which saves attachments to AWS S3. | 
| S3ClientFactory | An AmazonS3client factory class. | 
| S3JobArchiverImpl |  | 
| S3ProtocolResolver | This class implements the ProtocolResolverinterface. | 
| S3ProtocolResolverRegistrar | A class which takes an instance of  S3ProtocolResolver and adds it to the Spring  ApplicationContext
 set of  ProtocolResolver. | 
| SaveAttachmentException | Exception thrown when the system tries to save a user attachment to an underlying data store and it fails for
 some reason. | 
| ScriptAgentLauncherSelectorImpl | An implementation of the  AgentLauncherSelector interface which uses user-provided script to make decisions
 based on the list of agent launchers and the job request supplied. | 
| ScriptClusterSelectorImpl | An implementation of the  ClusterSelector interface which uses user-provided script to make decisions
 based on the list of clusters and the job request supplied. | 
| ScriptCommandSelectorImpl | Implementation of  CommandSelector which defers the decision to a script provided by the system
 administrators. | 
| ScriptExecutionException | An exception thrown when a script bean encounters an error during execution. | 
| ScriptLoadingException | An exception thrown when a script cannot be retrieved or compiled. | 
| ScriptManager | Utility to load, reload and execute scripts (in whichever format/language supported by ScriptEngine) via URI
 (e.g., local file, classpath, URL). | 
| ScriptManagerProperties |  | 
| ScriptNotConfiguredException | An exception thrown when a script bean is not configured an thus it cannot be loaded or executed. | 
| ScriptsAutoConfiguration | Configuration for script extensions. | 
| SecurityInterceptor | An interface whose implementation is supposed to modify the HTTP Request by adding Security credentials. | 
| SelectorsAutoConfiguration | Spring Auto Configuration for the selectors module. | 
| ServicesAutoConfiguration | Spring auto configuration for the service tier of an Agent process. | 
| ServicesAutoConfiguration | Configuration for all the services. | 
| SetJobStatusFinal | Sets the final job status (success/fail/kill). | 
| SetJobStatusInit | Updates job status when job starts initializing. | 
| SetJobStatusRunning | Updates the server job status after launch. | 
| SetupFileProjection | Projection for returning the setup file of a given entity. | 
| SetUpJobException | Exception during the set up of a job. | 
| ShutdownProperties | Properties to configure the Agent shutdown process. | 
| ShutdownStage | Performs final shutdown. | 
| SimpleLoggingInterceptor | Proof of concept server interceptor that logs gRPC requests and errors. | 
| SimpleStorageRangeResource | This class extends SimpleStorageResourcein order to efficiently handle range requests. | 
| SNSNotificationsProperties | Properties to configure notification delivered via SNS. | 
| SortAttribute | Sort key for entity search results. | 
| SortDirection | Sort direction of entity search results. | 
| StartFileServiceStage | Starts the file streaming service. | 
| StartHeartbeatServiceStage | Starts the heartbeat service. | 
| StartKillServiceStage | Starts the kill service. | 
| States | Execution state machine states. | 
| StatusProjection | Projection for returning only the status of a given resource. | 
| StopFileServiceStage | Stops the file streaming service. | 
| StopHeartbeatServiceStage | Stops the heartbeat service. | 
| StopKillServiceStage | Stops the job kill service. | 
| StreamBuffer | A temporary in-memory structure to hold in-transit data. | 
| SwaggerAutoConfiguration | Spring configuration for Swagger via Spring Doc. | 
| SystemArchitecture | Application pointcut expressions. | 
| TagAdapter<U,K,V> | An interface for implementations to adapt any tags published by default OSS components for internal conventions. | 
| TagEntity | Entity representing a Tag. | 
| TagEntity_ |  | 
| TasksAutoConfiguration | Configuration of beans for asynchronous tasks within Genie. | 
| TasksCleanup | Performs any cleanup when the system is shutting down. | 
| TasksExecutorPoolProperties | Properties related to the thread pool for the task executor within Genie. | 
| TasksSchedulerPoolProperties | Properties related to the thread pool for the task executor within Genie. | 
| TaskUtils | Utility methods used by various Genie tasks. | 
| TimeUtils | Utility methods for dealing with time. | 
| TitusAgentLauncherImpl | Agent launcher that spawns a job in a dedicated container through Titus. | 
| TitusAgentLauncherImpl.TitusAPIRetryPolicy | A retry policy that has different behavior based on the type of exception thrown by the rest client during
 calls to the Titus API. | 
| TitusAgentLauncherImpl.TitusJobRequestAdapter | An interface that should be implemented by any class which wants to modify the Titus job request before it is
 sent. | 
| TitusAgentLauncherProperties |  | 
| TitusBatchJobRequest | Titus job request POJO. | 
| TitusBatchJobRequest.Batch | Titus batch job parameters. | 
| TitusBatchJobRequest.Container | Titus job container DTO. | 
| TitusBatchJobRequest.DisruptionBudget | Titus job disruption budget. | 
| TitusBatchJobRequest.Image | Titus job container image. | 
| TitusBatchJobRequest.Immediate | Titus job retry policy detail. | 
| TitusBatchJobRequest.JobGroupInfo | Job Group information. | 
| TitusBatchJobRequest.Owner | Titus job owner POJO. | 
| TitusBatchJobRequest.Resources | Titus job container resources POJO. | 
| TitusBatchJobRequest.RetryPolicy | Titus job retry policy. | 
| TitusBatchJobRequest.SecurityProfile | Titus job security profile. | 
| TitusBatchJobRequest.SelfManaged | Titus job disruption budget detail. | 
| TitusBatchJobResponse | Titus job response POJO. | 
| TokenFetcher | Class that contains the logic to get OAuth credentials from IDP. | 
| TokenService | A interface to fetch access tokens. | 
| TracePropagator<C> | This interface exists to provide a shared contract for how trace information is shared between the Genie
 server job request handling and the agent process launch. | 
| TracingConstants | Constants used for adding metadata to tracing spans. | 
| TracingListener | A listener which adds data to spans based on the events emitted by the state machine. | 
| UIController | Controller for forwarding UI requests. | 
| UniqueIdEntity | An extendable entity class for tables which have a UniqueId field. | 
| UniqueIdEntity_ |  | 
| UniqueIdProjection | Projection for getting the Unique Id of a resource. | 
| UNIXUtils | Utility class for UNIX user and file permissions. | 
| URIPropertyConverter | A converter between a String and a URIto enforce well formatted schema representations of resources. | 
| UserAgentInsertInterceptor | An interceptor class that updates the User Agent String of the request with user info. | 
| UserJobResourcesAggregate | An aggregate of running jobs and memory used for a given user. | 
| UserMetricsProperties | Properties related to publishing of user metrics. | 
| UserMetricsTask | A task which publishes user metrics. | 
| UserResourcesSummary | A summary of the resources used by a given user. | 
| UserRestController | A helper RestControllerwhich allows the UI to request information about the current user. | 
| Util | CLI utility methods. | 
| V4JobRequestProjection | Projection of just the fields needed for a V4  JobRequest. | 
| ValidationAutoConfiguration | Configuration for bean validation within Genie. | 
| WaitJobCompletionStage | Wait for job process to exit. | 
| WhitelistedVersionAgentMetadataInspector | An  AgentMetadataInspector that accepts agent whose version matches a regular expression
 (obtained via properties) and rejects everything else. | 
| ZookeeperAutoConfiguration | Auto configuration for Zookeper components. | 
| ZookeeperProperties | Properties related to Zookeeper. |