import * as pulumi from "@pulumi/pulumi"; /** * Update the SSL certificate for a specific cluster. To update the SSL certificate for a specific cluster, you must provide a valid certificate payload in `Base64` format. You can either import a new SSL certificate or replace an existing one by supplying all necessary fields, including the Base64-encoded certificate and private key. Alternatively, you can regenerate a self-signed certificate by specifying the privateKeyAlgorithm, noting that only the RSA_2048 algorithm is supported for SSL certificate regeneration. This process helps maintain the security and integrity of your cluster's communications by allowing you to update or regenerate the SSL certificate as needed. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * import * as std from "@pulumi/std"; * * const _this = new nutanix.SslCertificateV2("this", { * clusterExtId: "6a68ecf4-8cac-42b3-9805-3186c2cecbd2", * passphrase: "password", * privateKey: std.base64encode({ * input: "private_key", * }).then(invoke => invoke.result), * publicCertificate: std.base64encode({ * input: "public_certificate", * }).then(invoke => invoke.result), * caChain: std.base64encode({ * input: "ca_chain", * }).then(invoke => invoke.result), * privateKeyAlgorithm: "RSA_2048", * }); * ``` * * * ## API Reference * * See detailed information in [Nutanix SSL Certificate v4](https://developers.nutanix.com/api-reference?namespace=clustermgmt&version=v4.2#tag/SSLCertificate/operation/updateSSLCertificate) */ export declare class SslCertificateV2 extends pulumi.CustomResource { /** * Get an existing SslCertificateV2 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?: SslCertificateV2State, opts?: pulumi.CustomResourceOptions): SslCertificateV2; /** * Returns true if the given object is an instance of SslCertificateV2. 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 SslCertificateV2; /** * — Description of the certificate authority (CA) chain. */ readonly caChain: pulumi.Output; /** * — UUID of the cluster to which the host NIC belongs. */ readonly clusterExtId: pulumi.Output; /** * — Passphrase used for SSL certificate. */ readonly passphrase: pulumi.Output; /** * — Private Key used for SSL certificate. */ readonly privateKey: pulumi.Output; /** * — Private Key Algorithm used for SSL certificate. * * | Enum | Description | * |--------------|------------------------------------------------------------------| * | ECDSA_256 | Elliptic Curve Digital Signature Algorithm (256-bit) | * | ECDSA_384 | Elliptic Curve Digital Signature Algorithm (384-bit) | * | ECDSA_521 | Elliptic Curve Digital Signature Algorithm (521-bit) | * | JKS | Java KeyStore (JKS) format | * | KRB_KEYTAB | Kerberos Keytab format | * | PKCS12 | PKCS#12 format for certificate storage | * | RSA_2048 | RSA 2048-bit encryption | * | RSA_4096 | RSA 4096-bit encryption | * | RSA_PUBLIC | Public RSA key format | */ readonly privateKeyAlgorithm: pulumi.Output; /** * — Public Certificate used for SSL certificate. */ readonly publicCertificate: pulumi.Output; /** * Create a SslCertificateV2 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: SslCertificateV2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SslCertificateV2 resources. */ export interface SslCertificateV2State { /** * — Description of the certificate authority (CA) chain. */ caChain?: pulumi.Input; /** * — UUID of the cluster to which the host NIC belongs. */ clusterExtId?: pulumi.Input; /** * — Passphrase used for SSL certificate. */ passphrase?: pulumi.Input; /** * — Private Key used for SSL certificate. */ privateKey?: pulumi.Input; /** * — Private Key Algorithm used for SSL certificate. * * | Enum | Description | * |--------------|------------------------------------------------------------------| * | ECDSA_256 | Elliptic Curve Digital Signature Algorithm (256-bit) | * | ECDSA_384 | Elliptic Curve Digital Signature Algorithm (384-bit) | * | ECDSA_521 | Elliptic Curve Digital Signature Algorithm (521-bit) | * | JKS | Java KeyStore (JKS) format | * | KRB_KEYTAB | Kerberos Keytab format | * | PKCS12 | PKCS#12 format for certificate storage | * | RSA_2048 | RSA 2048-bit encryption | * | RSA_4096 | RSA 4096-bit encryption | * | RSA_PUBLIC | Public RSA key format | */ privateKeyAlgorithm?: pulumi.Input; /** * — Public Certificate used for SSL certificate. */ publicCertificate?: pulumi.Input; } /** * The set of arguments for constructing a SslCertificateV2 resource. */ export interface SslCertificateV2Args { /** * — Description of the certificate authority (CA) chain. */ caChain?: pulumi.Input; /** * — UUID of the cluster to which the host NIC belongs. */ clusterExtId: pulumi.Input; /** * — Passphrase used for SSL certificate. */ passphrase?: pulumi.Input; /** * — Private Key used for SSL certificate. */ privateKey?: pulumi.Input; /** * — Private Key Algorithm used for SSL certificate. * * | Enum | Description | * |--------------|------------------------------------------------------------------| * | ECDSA_256 | Elliptic Curve Digital Signature Algorithm (256-bit) | * | ECDSA_384 | Elliptic Curve Digital Signature Algorithm (384-bit) | * | ECDSA_521 | Elliptic Curve Digital Signature Algorithm (521-bit) | * | JKS | Java KeyStore (JKS) format | * | KRB_KEYTAB | Kerberos Keytab format | * | PKCS12 | PKCS#12 format for certificate storage | * | RSA_2048 | RSA 2048-bit encryption | * | RSA_4096 | RSA 4096-bit encryption | * | RSA_PUBLIC | Public RSA key format | */ privateKeyAlgorithm?: pulumi.Input; /** * — Public Certificate used for SSL certificate. */ publicCertificate?: pulumi.Input; } //# sourceMappingURL=sslCertificateV2.d.ts.map