Files
windmill/cli/bootstrap/script_bootstrap.ts
T
wendrul b0cb1e0b27 feat: ansible playbook support (#4399)
* Ansible execution and parsing

* Working collections and pip dependencies

* Remove unused vars

* File resources logic for ansible

* Make frontend for ansible and resource file

* Format file

* Change naming of file resource and inventory fields

* Add autocomplete for file extension resource creation

* Add endpoint to list file formats for resource types

* Add CLI functionality to pull/push file resources

* Add beta tag to ansible

* Add Full image dockerfiles containing ansible

* Prepare sqlx

* Update cargo.lock

* Update ansible path

* Remove unused imports

* Add back import removed by rust-analyzer

* Improve ansible init code

* Prepare sqlx

* Change dockerfile to make the full windmill image

* Remove old dockerfile

* Improve autocomplete file resource extension select

* Remove comment

* Validate file extension

* Add icons to text file resources

* Remove editability of file resource types

* Remove unused import

* Missing space

* Add yaml parser
2024-09-19 00:21:15 +02:00

108 lines
1.7 KiB
TypeScript

import { SchemaProperty } from "./common.ts";
export interface ScriptMetadata {
summary: string;
description: string;
lock: string | string[];
is_template?: boolean;
kind: string;
schema: {
$schema: string;
type: string;
properties: { [name: string]: SchemaProperty };
required: string[];
};
}
export function defaultScriptMetadata(): ScriptMetadata {
return {
summary: "",
description: "",
lock: "",
kind: "script",
schema: {
$schema: "https://json-schema.org/draft/2020-12/schema",
type: "object",
properties: {},
required: [],
},
};
}
export const scriptBootstrapCode = {
python3: `def main():
return "Hello world"
`,
nativets: `export async function main() {
return "Hello world";
}
`,
bun: `export async function main() {
return "Hello world";
}
`,
deno: `export async function main() {
return "Hello world";
}
`,
go: `package inner
func main() (interface{}, error) {
return "Hello world", nil
}
`,
mysql: `SELECT 'Hello world' AS message
`,
bigquery: `SELECT 'Hello world' AS message
`,
snowflake: `SELECT 'Hello world' AS message
`,
mssql: `SELECT 'Hello world' AS message
`,
graphql: `query() {
demo() {}
}`,
postgresql: `SELECT 'Hello world' AS message
`,
bash: `echo "Hello world"
`,
powershell: `Write-Output "Hello world"`,
php: `<?php
function main() {
return "Hello world";
}
`,
rust: `fn main() -> Result<(), String> {
println!("Hello World");
Ok(())
}
`,
ansible: `---
inventory:
- resource_type: ansible_inventory
---
- name: Echo
hosts: 127.0.0.1
connection: local
tasks:
- name: Print debug message
debug:
msg: "Hello, world!"
`
};