import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a Global Accelerator (GA) Additional Certificate resource.
 *
 * For information about Global Accelerator (GA) Additional Certificate and how to use it, see [What is Additional Certificate](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-associateadditionalcertificateswithlistener).
 *
 * > **NOTE:** Available since v1.150.0.
 *
 * ## Example Usage
 *
 * Basic Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as alicloud from "@pulumi/alicloud";
 * import * as std from "@pulumi/std";
 *
 * const config = new pulumi.Config();
 * const region = config.get("region") || "cn-hangzhou";
 * const name = config.get("name") || "tf-example";
 * const _default = alicloud.ga.getAccelerators({
 *     status: "active",
 * });
 * const defaultBandwidthPackage = new alicloud.ga.BandwidthPackage("default", {
 *     bandwidth: 100,
 *     type: "Basic",
 *     bandwidthType: "Basic",
 *     paymentType: "PayAsYouGo",
 *     billingType: "PayBy95",
 *     ratio: 30,
 *     bandwidthPackageName: name,
 *     autoPay: true,
 *     autoUseCoupon: true,
 * });
 * const defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment("default", {
 *     acceleratorId: _default.then(_default => _default.ids?.[0]),
 *     bandwidthPackageId: defaultBandwidthPackage.id,
 * });
 * const defaultServiceCertificate: alicloud.cas.ServiceCertificate[] = [];
 * for (const range = {value: 0}; range.value < 2; range.value++) {
 *     defaultServiceCertificate.push(new alicloud.cas.ServiceCertificate(`default-${range.value}`, {
 *         certificateName: std.join({
 *             separator: "-",
 *             input: [
 *                 name,
 *                 String(range.value),
 *             ],
 *         }).then(invoke => invoke.result),
 *         cert: `-----BEGIN CERTIFICATE-----
 * MIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw
 * XjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU
 * ZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w
 * HhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd
 * MBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA
 * A4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK
 * iQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ
 * zm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a
 * 7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+
 * 1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ
 * 4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P
 * AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME
 * GDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB
 * BQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov
 * L2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs
 * b3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb
 * SSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV
 * 02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf
 * ZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV
 * yQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD
 * G9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh
 * ltGN
 * -----END CERTIFICATE-----
 * `,
 *         key: `-----BEGIN RSA PRIVATE KEY-----
 * MIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI
 * MAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u
 * jeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E
 * 8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO
 * cNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/
 * 4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO
 * PlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh
 * HfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh
 * QzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/
 * iwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6
 * N0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel
 * 0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP
 * 5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT
 * YEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW
 * jXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv
 * GyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS
 * GYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z
 * X3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD
 * xtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY
 * EDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l
 * FXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz
 * 16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F
 * l3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/
 * 2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL
 * /rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=
 * -----END RSA PRIVATE KEY-----
 * `,
 *     }));
 * }
 * const defaultListener = new alicloud.ga.Listener("default", {
 *     acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,
 *     name: name,
 *     protocol: "HTTPS",
 *     portRanges: [{
 *         fromPort: 8080,
 *         toPort: 8080,
 *     }],
 *     certificates: [{
 *         id: std.joinOutput({
 *             separator: "-",
 *             input: [
 *                 defaultServiceCertificate[1].id,
 *                 region,
 *             ],
 *         }).apply(invoke => invoke.result),
 *     }],
 * });
 * const domain = "alicloud-provider.cn";
 * const defaultAdditionalCertificate = new alicloud.ga.AdditionalCertificate("default", {
 *     certificateId: std.joinOutput({
 *         separator: "-",
 *         input: [
 *             defaultServiceCertificate[1].id,
 *             region,
 *         ],
 *     }).apply(invoke => invoke.result),
 *     domain: domain,
 *     acceleratorId: defaultListener.acceleratorId,
 *     listenerId: defaultListener.id,
 * });
 * ```
 *
 * 📚 Need more examples? VIEW MORE EXAMPLES
 *
 * ## Import
 *
 * Global Accelerator (GA) Additional Certificate can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import alicloud:ga/additionalCertificate:AdditionalCertificate example <accelerator_id>:<listener_id>:<domain>
 * ```
 */
export declare class AdditionalCertificate extends pulumi.CustomResource {
    /**
     * Get an existing AdditionalCertificate 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?: AdditionalCertificateState, opts?: pulumi.CustomResourceOptions): AdditionalCertificate;
    /**
     * Returns true if the given object is an instance of AdditionalCertificate.  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 AdditionalCertificate;
    /**
     * The ID of the GA instance.
     */
    readonly acceleratorId: pulumi.Output<string>;
    /**
     * The Certificate ID. **NOTE:** From version 1.209.1, `certificateId` can be modified.
     */
    readonly certificateId: pulumi.Output<string>;
    /**
     * The domain name specified by the certificate. **NOTE:** You can associate each domain name with only one additional certificate.
     */
    readonly domain: pulumi.Output<string>;
    /**
     * The ID of the listener. **NOTE:** Only HTTPS listeners support this parameter.
     */
    readonly listenerId: pulumi.Output<string>;
    /**
     * Create a AdditionalCertificate 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: AdditionalCertificateArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering AdditionalCertificate resources.
 */
export interface AdditionalCertificateState {
    /**
     * The ID of the GA instance.
     */
    acceleratorId?: pulumi.Input<string | undefined>;
    /**
     * The Certificate ID. **NOTE:** From version 1.209.1, `certificateId` can be modified.
     */
    certificateId?: pulumi.Input<string | undefined>;
    /**
     * The domain name specified by the certificate. **NOTE:** You can associate each domain name with only one additional certificate.
     */
    domain?: pulumi.Input<string | undefined>;
    /**
     * The ID of the listener. **NOTE:** Only HTTPS listeners support this parameter.
     */
    listenerId?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a AdditionalCertificate resource.
 */
export interface AdditionalCertificateArgs {
    /**
     * The ID of the GA instance.
     */
    acceleratorId: pulumi.Input<string>;
    /**
     * The Certificate ID. **NOTE:** From version 1.209.1, `certificateId` can be modified.
     */
    certificateId: pulumi.Input<string>;
    /**
     * The domain name specified by the certificate. **NOTE:** You can associate each domain name with only one additional certificate.
     */
    domain: pulumi.Input<string>;
    /**
     * The ID of the listener. **NOTE:** Only HTTPS listeners support this parameter.
     */
    listenerId: pulumi.Input<string>;
}
//# sourceMappingURL=additionalCertificate.d.ts.map