diff options
Diffstat (limited to 'model/job.ts')
-rw-r--r-- | model/job.ts | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/model/job.ts b/model/job.ts new file mode 100644 index 0000000..96e0959 --- /dev/null +++ b/model/job.ts @@ -0,0 +1,41 @@ +export type JobArgT = Record<string, string>; +export interface Job { + readonly type: string; + readonly arguments: JobArgT; +} + +export interface FetchCodeJobProps extends JobArgT { + readonly remoteUrl: string; + readonly checkout: string; + readonly path: string; +} + +export interface FetchCodeJob { + readonly type: "fetch_code"; + readonly arguments: FetchCodeJobProps; +} + +export interface BuildDockerImageJobProps extends JobArgT { + readonly registry: string; + readonly namespace: string; + readonly repository: string; + readonly imageTag: string; + + readonly context: string; + readonly dockerfile: string; + readonly buildTarget: string; +} + +export interface BuildDockerImageJob extends Job { + readonly type: "build_docker_image"; + readonly arguments: BuildDockerImageJobProps; +} + +export interface AnsiblePlaybookJobProps extends JobArgT { + readonly playbooks: string; +} + +export interface AnsiblePlaybookJob extends Job { + readonly type: "ansible_playbook"; + readonly arguments: AnsiblePlaybookJobProps; +} |