import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Creates or updates a component template. Component templates are building blocks for constructing index templates that specify index mappings, settings, and aliases. See, https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as elasticstack from "@pulumi/elasticstack"; * * const myTemplateElasticsearchComponentTemplate = new elasticstack.ElasticsearchComponentTemplate("myTemplateElasticsearchComponentTemplate", {template: { * aliases: [{ * name: "my_template_test", * }], * settings: JSON.stringify({ * number_of_shards: "3", * }), * }}); * const myTemplateElasticsearchIndexTemplate = new elasticstack.ElasticsearchIndexTemplate("myTemplateElasticsearchIndexTemplate", { * indexPatterns: ["stream*"], * composedOfs: [myTemplateElasticsearchComponentTemplate.name], * }); * ``` * * ## Import * * ```sh * $ pulumi import elasticstack:index/elasticsearchComponentTemplate:ElasticsearchComponentTemplate my_template / * ``` */ export declare class ElasticsearchComponentTemplate extends pulumi.CustomResource { /** * Get an existing ElasticsearchComponentTemplate 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, state?: ElasticsearchComponentTemplateState, opts?: pulumi.CustomResourceOptions): ElasticsearchComponentTemplate; /** * Returns true if the given object is an instance of ElasticsearchComponentTemplate. 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 ElasticsearchComponentTemplate; /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ readonly elasticsearchConnection: pulumi.Output; /** * Internal identifier of the resource */ readonly id: pulumi.Output; /** * Optional user metadata about the component template. */ readonly metadata: pulumi.Output; /** * Name of the component template to create. */ readonly name: pulumi.Output; /** * Template to be applied. It may optionally include an aliases, mappings, or settings configuration. */ readonly template: pulumi.Output; /** * Version number used to manage component templates externally. */ readonly version: pulumi.Output; /** * Create a ElasticsearchComponentTemplate 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: ElasticsearchComponentTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ElasticsearchComponentTemplate resources. */ export interface ElasticsearchComponentTemplateState { /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ elasticsearchConnection?: pulumi.Input; /** * Internal identifier of the resource */ id?: pulumi.Input; /** * Optional user metadata about the component template. */ metadata?: pulumi.Input; /** * Name of the component template to create. */ name?: pulumi.Input; /** * Template to be applied. It may optionally include an aliases, mappings, or settings configuration. */ template?: pulumi.Input; /** * Version number used to manage component templates externally. */ version?: pulumi.Input; } /** * The set of arguments for constructing a ElasticsearchComponentTemplate resource. */ export interface ElasticsearchComponentTemplateArgs { /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ elasticsearchConnection?: pulumi.Input; /** * Optional user metadata about the component template. */ metadata?: pulumi.Input; /** * Name of the component template to create. */ name?: pulumi.Input; /** * Template to be applied. It may optionally include an aliases, mappings, or settings configuration. */ template: pulumi.Input; /** * Version number used to manage component templates externally. */ version?: pulumi.Input; }