import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a SSL Certificates Certificate resource.
 *
 * For information about SSL Certificates Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/product/28533.html).
 *
 * > **NOTE:** Available since v1.129.0.
 *
 * ## Example Usage
 *
 * Basic Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as alicloud from "@pulumi/alicloud";
 * import * as random from "@pulumi/random";
 *
 * const _default = new random.index.Integer("default", {
 *     min: 10000,
 *     max: 99999,
 * });
 * const defaultServiceCertificate = new alicloud.cas.ServiceCertificate("default", {
 *     certificateName: `terraform-example-${_default.result}`,
 *     cert: `-----BEGIN CERTIFICATE-----
 * MIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe
 * MQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl
 * c3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe
 * Fw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw
 * DwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
 * AMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU
 * 6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t
 * dNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg
 * sfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7
 * //sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3
 * VySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD
 * VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/
 * wXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov
 * L29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t
 * L215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN
 * AQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K
 * yAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz
 * 06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G
 * Le4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr
 * 8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB
 * ZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=
 * -----END CERTIFICATE-----
 * `,
 *     key: `-----BEGIN PRIVATE KEY-----
 * MIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V
 * m6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy
 * SngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB
 * ZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG
 * XqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz
 * GORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE
 * azo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu
 * BdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot
 * cphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1
 * blqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar
 * rWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+
 * 48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24
 * Cq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L
 * aZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1
 * ARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv
 * Ank3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds
 * G2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM
 * jAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz
 * 3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y
 * 2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL
 * qpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY
 * AczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq
 * 9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4
 * /m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD
 * xDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA
 * -----END PRIVATE KEY-----
 * `,
 * });
 * ```
 *
 * 📚 Need more examples? VIEW MORE EXAMPLES
 *
 * ## Import
 *
 * SSL Certificates Certificate can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import alicloud:cas/serviceCertificate:ServiceCertificate example <id>
 * ```
 */
export declare class ServiceCertificate extends pulumi.CustomResource {
    /**
     * Get an existing ServiceCertificate 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?: ServiceCertificateState, opts?: pulumi.CustomResourceOptions): ServiceCertificate;
    /**
     * Returns true if the given object is an instance of ServiceCertificate.  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 ServiceCertificate;
    /**
     * The content of a non-SM certificate in PEM format.
     */
    readonly cert: pulumi.Output<string | undefined>;
    /**
     * A custom name for the certificate. The name can be up to 64 characters long and can contain any character type, such as letters, numbers, and underscores. **NOTE:** From version 1.260.1, `certificateName` can be modified.
     */
    readonly certificateName: pulumi.Output<string>;
    /**
     * The content of an SM encryption certificate in PEM format.
     */
    readonly encryptCert: pulumi.Output<string | undefined>;
    /**
     * The private key of an SM encryption certificate in PEM format.
     */
    readonly encryptPrivateKey: pulumi.Output<string | undefined>;
    /**
     * The private key of a non-SM certificate in PEM format.
     */
    readonly key: pulumi.Output<string | undefined>;
    /**
     * Field `lang` has been deprecated from provider version 1.260.1 and it will be removed in the future version.
     *
     * @deprecated Field 'lang' has been deprecated from provider version 1.260.1 and it will be removed in the future version.
     */
    readonly lang: pulumi.Output<string | undefined>;
    /**
     * Field `name` has been deprecated from provider version 1.129.0 and it will be removed in the future version. Please use the new attribute `certificateName` instead.
     *
     * @deprecated Field 'name' has been deprecated from provider version 1.129.0 and it will be removed in the future version. Please use the new attribute 'certificate_name' instead.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ID of the resource group.
     */
    readonly resourceGroupId: pulumi.Output<string>;
    /**
     * The content of an SM signing certificate in PEM format.
     */
    readonly signCert: pulumi.Output<string | undefined>;
    /**
     * The private key of an SM signing certificate in PEM format.
     */
    readonly signPrivateKey: pulumi.Output<string | undefined>;
    /**
     * The tag of the resource.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Create a ServiceCertificate 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?: ServiceCertificateArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ServiceCertificate resources.
 */
export interface ServiceCertificateState {
    /**
     * The content of a non-SM certificate in PEM format.
     */
    cert?: pulumi.Input<string | undefined>;
    /**
     * A custom name for the certificate. The name can be up to 64 characters long and can contain any character type, such as letters, numbers, and underscores. **NOTE:** From version 1.260.1, `certificateName` can be modified.
     */
    certificateName?: pulumi.Input<string | undefined>;
    /**
     * The content of an SM encryption certificate in PEM format.
     */
    encryptCert?: pulumi.Input<string | undefined>;
    /**
     * The private key of an SM encryption certificate in PEM format.
     */
    encryptPrivateKey?: pulumi.Input<string | undefined>;
    /**
     * The private key of a non-SM certificate in PEM format.
     */
    key?: pulumi.Input<string | undefined>;
    /**
     * Field `lang` has been deprecated from provider version 1.260.1 and it will be removed in the future version.
     *
     * @deprecated Field 'lang' has been deprecated from provider version 1.260.1 and it will be removed in the future version.
     */
    lang?: pulumi.Input<string | undefined>;
    /**
     * Field `name` has been deprecated from provider version 1.129.0 and it will be removed in the future version. Please use the new attribute `certificateName` instead.
     *
     * @deprecated Field 'name' has been deprecated from provider version 1.129.0 and it will be removed in the future version. Please use the new attribute 'certificate_name' instead.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the resource group.
     */
    resourceGroupId?: pulumi.Input<string | undefined>;
    /**
     * The content of an SM signing certificate in PEM format.
     */
    signCert?: pulumi.Input<string | undefined>;
    /**
     * The private key of an SM signing certificate in PEM format.
     */
    signPrivateKey?: pulumi.Input<string | undefined>;
    /**
     * The tag of the resource.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
}
/**
 * The set of arguments for constructing a ServiceCertificate resource.
 */
export interface ServiceCertificateArgs {
    /**
     * The content of a non-SM certificate in PEM format.
     */
    cert?: pulumi.Input<string | undefined>;
    /**
     * A custom name for the certificate. The name can be up to 64 characters long and can contain any character type, such as letters, numbers, and underscores. **NOTE:** From version 1.260.1, `certificateName` can be modified.
     */
    certificateName?: pulumi.Input<string | undefined>;
    /**
     * The content of an SM encryption certificate in PEM format.
     */
    encryptCert?: pulumi.Input<string | undefined>;
    /**
     * The private key of an SM encryption certificate in PEM format.
     */
    encryptPrivateKey?: pulumi.Input<string | undefined>;
    /**
     * The private key of a non-SM certificate in PEM format.
     */
    key?: pulumi.Input<string | undefined>;
    /**
     * Field `lang` has been deprecated from provider version 1.260.1 and it will be removed in the future version.
     *
     * @deprecated Field 'lang' has been deprecated from provider version 1.260.1 and it will be removed in the future version.
     */
    lang?: pulumi.Input<string | undefined>;
    /**
     * Field `name` has been deprecated from provider version 1.129.0 and it will be removed in the future version. Please use the new attribute `certificateName` instead.
     *
     * @deprecated Field 'name' has been deprecated from provider version 1.129.0 and it will be removed in the future version. Please use the new attribute 'certificate_name' instead.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the resource group.
     */
    resourceGroupId?: pulumi.Input<string | undefined>;
    /**
     * The content of an SM signing certificate in PEM format.
     */
    signCert?: pulumi.Input<string | undefined>;
    /**
     * The private key of an SM signing certificate in PEM format.
     */
    signPrivateKey?: pulumi.Input<string | undefined>;
    /**
     * The tag of the resource.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
}
//# sourceMappingURL=serviceCertificate.d.ts.map