@rockset/cli
Version:
Official Rockset CLI
83 lines (79 loc) • 3.66 kB
JavaScript
;
/* eslint-disable unicorn/filename-case */
// Generated file, please do not edit directly
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const core_2 = require("@rockset/core");
const util_1 = require("../../../helper/util");
const base_command_1 = require("../../../base-command");
const chalk = require("chalk");
const cli_ux_1 = require("cli-ux");
const bodySchema = `name: myQueryLambda
description: production version foo
sql:
query: SELECT 'Foo'
default_parameters:
- name: _id
type: string
value: 85beb391
`;
let CreateQueryLambda = /** @class */ (() => {
class CreateQueryLambda extends base_command_1.RockCommand {
async run() {
const { args, flags } = await this.parse(CreateQueryLambda);
// Rockset client object
const client = await core_2.main.createClient();
const namedArgs = CreateQueryLambda.args;
// apicall
const apicall = client.queryLambdas.createQueryLambda.bind(client.queryLambdas);
// endpoint
const endpoint = '/v1/orgs/self/ws/{workspace}/lambdas';
const method = 'POST';
await util_1.runApiCall.bind(this)({ args, flags, namedArgs, apicall, method, endpoint, bodySchema });
}
}
CreateQueryLambda.flags = Object.assign(Object.assign({ help: core_1.Flags.help({ char: 'h' }), body: core_1.Flags.string({
required: true,
description: 'Path to a file whose contents will be passed as the POST body of this request. Format must be [json|yaml]. An example schema is shown below.',
}), raw: core_1.Flags.boolean({
description: 'Show the raw output from the server, instead of grabbing the results. Usually used in conjunction with --output=json',
}) }, cli_ux_1.cli.table.flags({ only: ['columns', 'output'] })), { loadTestRps: core_1.Flags.integer({
char: 'l',
description: 'If this flag is active, a load test will be conducted using this endpoint. The value passed to this flag determines how many requests per second will be sent',
}), yes: core_1.Flags.boolean({
char: 'y',
description: 'Skip all safety prompts',
default: false,
}) });
CreateQueryLambda.args = [
{
name: 'workspace',
description: 'name of the workspace',
required: true,
hidden: false,
},
];
CreateQueryLambda.description = `create a query lambda in given workspace
Arguments to this command will be passed as URL parameters to ${chalk.bold(`POST: /v1/orgs/self/ws/{workspace}/lambdas`)}
${chalk.bold(`This endpoint REQUIRES a POST body. To specify a POST body, please pass a JSON or YAML file to the --body flag.
`)}
Example Body (YAML):
name: myQueryLambda
description: production version foo
sql:
query: SELECT 'Foo'
default_parameters:
- name: _id
type: string
value: 85beb391
Endpoint Reference
POST: /v1/orgs/self/ws/{workspace}/lambdas
Create Query Lambda
Create a Query Lambda in given workspace.
More documentation at ${chalk.underline(`https://docs.rockset.com/rest-api#createquerylambda`)}`;
CreateQueryLambda.examples = [
"$ rockset api:queryLambdas:createQueryLambda WORKSPACE --body body.yaml\n$ cat body.yaml\nname: myQueryLambda\ndescription: production version foo\nsql:\n query: SELECT 'Foo'\n default_parameters:\n - name: _id\n type: string\n value: 85beb391\n\n",
];
return CreateQueryLambda;
})();
exports.default = CreateQueryLambda;