import * as pulumi from "@pulumi/pulumi"; /** * Autopilot enables automated workflows for managing Raft clusters. The * current feature set includes 3 main features: Server Stabilization, Dead * Server Cleanup and State API. **These three features are introduced in * Vault 1.7.** * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const autopilot = new vault.RaftAutopilot("autopilot", { * cleanupDeadServers: true, * deadServerLastContactThreshold: "24h0m0s", * lastContactThreshold: "10s", * maxTrailingLogs: 1000, * minQuorum: 3, * serverStabilizationTime: "10s", * }); * ``` * * ## Import * * Raft Autopilot config can be imported using the ID, e.g. * * ```sh * $ pulumi import vault:index/raftAutopilot:RaftAutopilot autopilot sys/storage/raft/autopilot/configuration * ``` */ export declare class RaftAutopilot extends pulumi.CustomResource { /** * Get an existing RaftAutopilot 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?: RaftAutopilotState, opts?: pulumi.CustomResourceOptions): RaftAutopilot; /** * Returns true if the given object is an instance of RaftAutopilot. 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 RaftAutopilot; /** * Specifies whether to remove dead server nodes * periodically or when a new server joins. This requires that `min-quorum` is also set. */ readonly cleanupDeadServers: pulumi.Output; /** * Limit the amount of time a * server can go without leader contact before being considered failed. This only takes * effect when `cleanupDeadServers` is set. */ readonly deadServerLastContactThreshold: pulumi.Output; /** * Disables automatically upgrading Vault using autopilot. (Enterprise-only) */ readonly disableUpgradeMigration: pulumi.Output; /** * Limit the amount of time a server can go * without leader contact before being considered unhealthy. */ readonly lastContactThreshold: pulumi.Output; /** * Maximum number of log entries in the Raft log * that a server can be behind its leader before being considered unhealthy. */ readonly maxTrailingLogs: pulumi.Output; /** * Minimum number of servers allowed in a cluster before * autopilot can prune dead servers. This should at least be 3. Applicable only for * voting nodes. */ readonly minQuorum: pulumi.Output; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ readonly namespace: pulumi.Output; /** * Minimum amount of time a server must be * stable in the 'healthy' state before being added to the cluster. */ readonly serverStabilizationTime: pulumi.Output; /** * Create a RaftAutopilot 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?: RaftAutopilotArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RaftAutopilot resources. */ export interface RaftAutopilotState { /** * Specifies whether to remove dead server nodes * periodically or when a new server joins. This requires that `min-quorum` is also set. */ cleanupDeadServers?: pulumi.Input; /** * Limit the amount of time a * server can go without leader contact before being considered failed. This only takes * effect when `cleanupDeadServers` is set. */ deadServerLastContactThreshold?: pulumi.Input; /** * Disables automatically upgrading Vault using autopilot. (Enterprise-only) */ disableUpgradeMigration?: pulumi.Input; /** * Limit the amount of time a server can go * without leader contact before being considered unhealthy. */ lastContactThreshold?: pulumi.Input; /** * Maximum number of log entries in the Raft log * that a server can be behind its leader before being considered unhealthy. */ maxTrailingLogs?: pulumi.Input; /** * Minimum number of servers allowed in a cluster before * autopilot can prune dead servers. This should at least be 3. Applicable only for * voting nodes. */ minQuorum?: pulumi.Input; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input; /** * Minimum amount of time a server must be * stable in the 'healthy' state before being added to the cluster. */ serverStabilizationTime?: pulumi.Input; } /** * The set of arguments for constructing a RaftAutopilot resource. */ export interface RaftAutopilotArgs { /** * Specifies whether to remove dead server nodes * periodically or when a new server joins. This requires that `min-quorum` is also set. */ cleanupDeadServers?: pulumi.Input; /** * Limit the amount of time a * server can go without leader contact before being considered failed. This only takes * effect when `cleanupDeadServers` is set. */ deadServerLastContactThreshold?: pulumi.Input; /** * Disables automatically upgrading Vault using autopilot. (Enterprise-only) */ disableUpgradeMigration?: pulumi.Input; /** * Limit the amount of time a server can go * without leader contact before being considered unhealthy. */ lastContactThreshold?: pulumi.Input; /** * Maximum number of log entries in the Raft log * that a server can be behind its leader before being considered unhealthy. */ maxTrailingLogs?: pulumi.Input; /** * Minimum number of servers allowed in a cluster before * autopilot can prune dead servers. This should at least be 3. Applicable only for * voting nodes. */ minQuorum?: pulumi.Input; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input; /** * Minimum amount of time a server must be * stable in the 'healthy' state before being added to the cluster. */ serverStabilizationTime?: pulumi.Input; }