@pulumi/vault
Version:
A Pulumi package for creating and managing HashiCorp Vault cloud resources.
193 lines (192 loc) • 6.9 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
/**
* The provider type for the vault package. By default, resources use package-wide configuration
* settings, however an explicit `Provider` instance may be created and passed during resource
* construction to achieve fine-grained programmatic control over provider settings. See the
* [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
*/
export declare class Provider extends pulumi.ProviderResource {
/**
* Returns true if the given object is an instance of Provider. 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 Provider;
readonly addAddressToEnv: pulumi.Output<string | undefined>;
/**
* URL of the root of the target Vault server.
*/
readonly address: pulumi.Output<string | undefined>;
/**
* Path to directory containing CA certificate files to validate the server's certificate.
*/
readonly caCertDir: pulumi.Output<string | undefined>;
/**
* Path to a CA certificate file to validate the server's certificate.
*/
readonly caCertFile: pulumi.Output<string | undefined>;
/**
* The namespace to use. Available only for Vault Enterprise.
*/
readonly namespace: pulumi.Output<string | undefined>;
/**
* Name to use as the SNI host when connecting via TLS.
*/
readonly tlsServerName: pulumi.Output<string | undefined>;
/**
* Token to use to authenticate to Vault.
*/
readonly token: pulumi.Output<string | undefined>;
/**
* Token name to use for creating the Vault child token.
*/
readonly tokenName: pulumi.Output<string | undefined>;
/**
* Override the Vault server version, which is normally determined dynamically from the target Vault server
*/
readonly vaultVersionOverride: pulumi.Output<string | undefined>;
/**
* Create a Provider 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?: ProviderArgs, opts?: pulumi.ResourceOptions);
/**
* This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
*/
terraformConfig(): pulumi.Output<Provider.TerraformConfigResult>;
}
/**
* The set of arguments for constructing a Provider resource.
*/
export interface ProviderArgs {
addAddressToEnv?: pulumi.Input<string>;
/**
* URL of the root of the target Vault server.
*/
address?: pulumi.Input<string>;
/**
* Login to vault with an existing auth method using auth/<mount>/login
*/
authLogin?: pulumi.Input<inputs.ProviderAuthLogin>;
/**
* Login to vault using the AWS method
*/
authLoginAws?: pulumi.Input<inputs.ProviderAuthLoginAws>;
/**
* Login to vault using the azure method
*/
authLoginAzure?: pulumi.Input<inputs.ProviderAuthLoginAzure>;
/**
* Login to vault using the cert method
*/
authLoginCert?: pulumi.Input<inputs.ProviderAuthLoginCert>;
/**
* Login to vault using the gcp method
*/
authLoginGcp?: pulumi.Input<inputs.ProviderAuthLoginGcp>;
/**
* Login to vault using the jwt method
*/
authLoginJwt?: pulumi.Input<inputs.ProviderAuthLoginJwt>;
/**
* Login to vault using the kerberos method
*/
authLoginKerberos?: pulumi.Input<inputs.ProviderAuthLoginKerberos>;
/**
* Login to vault using the OCI method
*/
authLoginOci?: pulumi.Input<inputs.ProviderAuthLoginOci>;
/**
* Login to vault using the oidc method
*/
authLoginOidc?: pulumi.Input<inputs.ProviderAuthLoginOidc>;
/**
* Login to vault using the radius method
*/
authLoginRadius?: pulumi.Input<inputs.ProviderAuthLoginRadius>;
/**
* Login to vault using
*/
authLoginTokenFile?: pulumi.Input<inputs.ProviderAuthLoginTokenFile>;
/**
* Login to vault using the userpass method
*/
authLoginUserpass?: pulumi.Input<inputs.ProviderAuthLoginUserpass>;
/**
* Path to directory containing CA certificate files to validate the server's certificate.
*/
caCertDir?: pulumi.Input<string>;
/**
* Path to a CA certificate file to validate the server's certificate.
*/
caCertFile?: pulumi.Input<string>;
/**
* Client authentication credentials.
*/
clientAuth?: pulumi.Input<inputs.ProviderClientAuth>;
/**
* The headers to send with each Vault request.
*/
headers?: pulumi.Input<pulumi.Input<inputs.ProviderHeader>[]>;
/**
* Maximum TTL for secret leases requested by this provider.
*/
maxLeaseTtlSeconds?: pulumi.Input<number>;
/**
* Maximum number of retries when a 5xx error code is encountered.
*/
maxRetries?: pulumi.Input<number>;
/**
* Maximum number of retries for Client Controlled Consistency related operations
*/
maxRetriesCcc?: pulumi.Input<number>;
/**
* The namespace to use. Available only for Vault Enterprise.
*/
namespace?: pulumi.Input<string>;
/**
* In the case where the Vault token is for a specific namespace and the provider namespace is not configured, use the token namespace as the root namespace for all resources.
*/
setNamespaceFromToken?: pulumi.Input<boolean>;
/**
* Set this to true to prevent the creation of ephemeral child token used by this provider.
*/
skipChildToken?: pulumi.Input<boolean>;
/**
* Skip the dynamic fetching of the Vault server version.
*/
skipGetVaultVersion?: pulumi.Input<boolean>;
/**
* Set this to true only if the target Vault server is an insecure development instance.
*/
skipTlsVerify?: pulumi.Input<boolean>;
/**
* Name to use as the SNI host when connecting via TLS.
*/
tlsServerName?: pulumi.Input<string>;
/**
* Token to use to authenticate to Vault.
*/
token?: pulumi.Input<string>;
/**
* Token name to use for creating the Vault child token.
*/
tokenName?: pulumi.Input<string>;
/**
* Override the Vault server version, which is normally determined dynamically from the target Vault server
*/
vaultVersionOverride?: pulumi.Input<string>;
}
export declare namespace Provider {
/**
* The results of the Provider.terraformConfig method.
*/
interface TerraformConfigResult {
readonly result: {
[key: string]: any;
};
}
}