import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Provides a resource to manage ssl vpn client cert
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const fooZones = volcengine.ecs.getZones({});
 * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
 *     vpcName: "acc-test-vpc",
 *     cidrBlock: "172.16.0.0/16",
 * });
 * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
 *     subnetName: "acc-test-subnet",
 *     cidrBlock: "172.16.0.0/24",
 *     zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
 *     vpcId: fooVpc.id,
 * });
 * const fooGateway = new volcengine.vpn.Gateway("fooGateway", {
 *     vpcId: fooVpc.id,
 *     subnetId: fooSubnet.id,
 *     bandwidth: 5,
 *     vpnGatewayName: "acc-test1",
 *     description: "acc-test1",
 *     period: 7,
 *     projectName: "default",
 *     sslEnabled: true,
 *     sslMaxConnections: 5,
 * });
 * const fooSslVpnServer = new volcengine.vpn.SslVpnServer("fooSslVpnServer", {
 *     vpnGatewayId: fooGateway.id,
 *     localSubnets: [fooSubnet.cidrBlock],
 *     clientIpPool: "172.16.2.0/24",
 *     sslVpnServerName: "acc-test-ssl",
 *     description: "acc-test",
 *     protocol: "UDP",
 *     cipher: "AES-128-CBC",
 *     auth: "SHA1",
 *     compress: true,
 * });
 * const fooSslVpnClientCert = new volcengine.vpn.SslVpnClientCert("fooSslVpnClientCert", {
 *     sslVpnServerId: fooSslVpnServer.id,
 *     sslVpnClientCertName: "acc-test-client-cert",
 *     description: "acc-test",
 * });
 * ```
 *
 * ## Import
 *
 * SSL VPN Client Cert can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import volcengine:vpn/sslVpnClientCert:SslVpnClientCert default vsc-2d6b7gjrzc2yo58ozfcx2****
 * ```
 */
export declare class SslVpnClientCert extends pulumi.CustomResource {
    /**
     * Get an existing SslVpnClientCert 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?: SslVpnClientCertState, opts?: pulumi.CustomResourceOptions): SslVpnClientCert;
    /**
     * Returns true if the given object is an instance of SslVpnClientCert.  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 SslVpnClientCert;
    /**
     * The CA certificate.
     */
    readonly caCertificate: pulumi.Output<string>;
    /**
     * The status of the ssl vpn client cert.
     */
    readonly certificateStatus: pulumi.Output<string>;
    /**
     * The client certificate.
     */
    readonly clientCertificate: pulumi.Output<string>;
    /**
     * The key of the ssl vpn client.
     */
    readonly clientKey: pulumi.Output<string>;
    /**
     * The creation time of the ssl vpn client cert.
     */
    readonly creationTime: pulumi.Output<string>;
    /**
     * The description of the ssl vpn client cert.
     */
    readonly description: pulumi.Output<string>;
    /**
     * The expired time of the ssl vpn client cert.
     */
    readonly expiredTime: pulumi.Output<string>;
    /**
     * The config of the open vpn client.
     */
    readonly openVpnClientConfig: pulumi.Output<string>;
    /**
     * The name of the ssl vpn client cert.
     */
    readonly sslVpnClientCertName: pulumi.Output<string>;
    /**
     * The id of the ssl vpn server.
     */
    readonly sslVpnServerId: pulumi.Output<string>;
    /**
     * The status of the ssl vpn client.
     */
    readonly status: pulumi.Output<string>;
    /**
     * Tags.
     */
    readonly tags: pulumi.Output<outputs.vpn.SslVpnClientCertTag[] | undefined>;
    /**
     * The update time of the ssl vpn client cert.
     */
    readonly updateTime: pulumi.Output<string>;
    /**
     * Create a SslVpnClientCert 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: SslVpnClientCertArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SslVpnClientCert resources.
 */
export interface SslVpnClientCertState {
    /**
     * The CA certificate.
     */
    caCertificate?: pulumi.Input<string>;
    /**
     * The status of the ssl vpn client cert.
     */
    certificateStatus?: pulumi.Input<string>;
    /**
     * The client certificate.
     */
    clientCertificate?: pulumi.Input<string>;
    /**
     * The key of the ssl vpn client.
     */
    clientKey?: pulumi.Input<string>;
    /**
     * The creation time of the ssl vpn client cert.
     */
    creationTime?: pulumi.Input<string>;
    /**
     * The description of the ssl vpn client cert.
     */
    description?: pulumi.Input<string>;
    /**
     * The expired time of the ssl vpn client cert.
     */
    expiredTime?: pulumi.Input<string>;
    /**
     * The config of the open vpn client.
     */
    openVpnClientConfig?: pulumi.Input<string>;
    /**
     * The name of the ssl vpn client cert.
     */
    sslVpnClientCertName?: pulumi.Input<string>;
    /**
     * The id of the ssl vpn server.
     */
    sslVpnServerId?: pulumi.Input<string>;
    /**
     * The status of the ssl vpn client.
     */
    status?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.vpn.SslVpnClientCertTag>[]>;
    /**
     * The update time of the ssl vpn client cert.
     */
    updateTime?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a SslVpnClientCert resource.
 */
export interface SslVpnClientCertArgs {
    /**
     * The description of the ssl vpn client cert.
     */
    description?: pulumi.Input<string>;
    /**
     * The name of the ssl vpn client cert.
     */
    sslVpnClientCertName?: pulumi.Input<string>;
    /**
     * The id of the ssl vpn server.
     */
    sslVpnServerId: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.vpn.SslVpnClientCertTag>[]>;
}
