UNPKG

@lbrlabs/pulumi-harness

Version:

A Pulumi package for creating and managing Harness resources.

234 lines (233 loc) 7.71 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for creating an ElasticSearch connector. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@lbrlabs/pulumi-harness"; * * // Authentication mechanism as api token * const token = new harness.platform.ElasticsearchConnector("token", { * apiToken: { * clientId: "client_id", * clientSecretRef: "account.secret_id", * }, * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * tags: ["foo:bar"], * url: "https://elasticsearch.com/", * }); * // Authentication mechanism as username and password * const test = new harness.platform.ElasticsearchConnector("test", { * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * tags: ["foo:bar"], * url: "https://elasticsearch.com/", * usernamePassword: { * passwordRef: "account.secret_id", * username: "username", * }, * }); * // Authentication mechanism as username and password * const noAuthentication = new harness.platform.ElasticsearchConnector("noAuthentication", { * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * tags: ["foo:bar"], * url: "https://elasticsearch.com/", * }); * ``` * * ## Import * * Import account level elasticsearch connector * * ```sh * $ pulumi import harness:platform/elasticsearchConnector:ElasticsearchConnector example <connector_id> * ``` * * Import org level elasticsearch connector * * ```sh * $ pulumi import harness:platform/elasticsearchConnector:ElasticsearchConnector example <ord_id>/<connector_id> * ``` * * Import project level elasticsearch connector * * ```sh * $ pulumi import harness:platform/elasticsearchConnector:ElasticsearchConnector example <org_id>/<project_id>/<connector_id> * ``` */ export declare class ElasticsearchConnector extends pulumi.CustomResource { /** * Get an existing ElasticsearchConnector resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ElasticsearchConnectorState, opts?: pulumi.CustomResourceOptions): ElasticsearchConnector; /** * Returns true if the given object is an instance of ElasticsearchConnector. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ElasticsearchConnector; /** * Authenticate to ElasticSearch using api token. */ readonly apiToken: pulumi.Output<outputs.platform.ElasticsearchConnectorApiToken | undefined>; /** * Tags to filter delegates for connection. */ readonly delegateSelectors: pulumi.Output<string[] | undefined>; /** * Description of the resource. */ readonly description: pulumi.Output<string | undefined>; /** * Unique identifier of the resource. */ readonly identifier: pulumi.Output<string>; /** * Name of the resource. */ readonly name: pulumi.Output<string>; /** * No Authentication to ElasticSearch */ readonly noAuthentication: pulumi.Output<outputs.platform.ElasticsearchConnectorNoAuthentication | undefined>; /** * Unique identifier of the organization. */ readonly orgId: pulumi.Output<string | undefined>; /** * Unique identifier of the project. */ readonly projectId: pulumi.Output<string | undefined>; /** * Tags to associate with the resource. */ readonly tags: pulumi.Output<string[] | undefined>; /** * URL of the ElasticSearch controller. */ readonly url: pulumi.Output<string>; /** * Authenticate to ElasticSearch using username and password. */ readonly usernamePassword: pulumi.Output<outputs.platform.ElasticsearchConnectorUsernamePassword | undefined>; /** * Create a ElasticsearchConnector resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ElasticsearchConnectorArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ElasticsearchConnector resources. */ export interface ElasticsearchConnectorState { /** * Authenticate to ElasticSearch using api token. */ apiToken?: pulumi.Input<inputs.platform.ElasticsearchConnectorApiToken>; /** * Tags to filter delegates for connection. */ delegateSelectors?: pulumi.Input<pulumi.Input<string>[]>; /** * Description of the resource. */ description?: pulumi.Input<string>; /** * Unique identifier of the resource. */ identifier?: pulumi.Input<string>; /** * Name of the resource. */ name?: pulumi.Input<string>; /** * No Authentication to ElasticSearch */ noAuthentication?: pulumi.Input<inputs.platform.ElasticsearchConnectorNoAuthentication>; /** * Unique identifier of the organization. */ orgId?: pulumi.Input<string>; /** * Unique identifier of the project. */ projectId?: pulumi.Input<string>; /** * Tags to associate with the resource. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * URL of the ElasticSearch controller. */ url?: pulumi.Input<string>; /** * Authenticate to ElasticSearch using username and password. */ usernamePassword?: pulumi.Input<inputs.platform.ElasticsearchConnectorUsernamePassword>; } /** * The set of arguments for constructing a ElasticsearchConnector resource. */ export interface ElasticsearchConnectorArgs { /** * Authenticate to ElasticSearch using api token. */ apiToken?: pulumi.Input<inputs.platform.ElasticsearchConnectorApiToken>; /** * Tags to filter delegates for connection. */ delegateSelectors?: pulumi.Input<pulumi.Input<string>[]>; /** * Description of the resource. */ description?: pulumi.Input<string>; /** * Unique identifier of the resource. */ identifier: pulumi.Input<string>; /** * Name of the resource. */ name?: pulumi.Input<string>; /** * No Authentication to ElasticSearch */ noAuthentication?: pulumi.Input<inputs.platform.ElasticsearchConnectorNoAuthentication>; /** * Unique identifier of the organization. */ orgId?: pulumi.Input<string>; /** * Unique identifier of the project. */ projectId?: pulumi.Input<string>; /** * Tags to associate with the resource. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * URL of the ElasticSearch controller. */ url: pulumi.Input<string>; /** * Authenticate to ElasticSearch using username and password. */ usernamePassword?: pulumi.Input<inputs.platform.ElasticsearchConnectorUsernamePassword>; }