import * as pulumi from "@pulumi/pulumi";
/**
 * `f5bigip.ltm.CipherGroup` Manages F5 BIG-IP LTM cipher group using iControl REST.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as f5bigip from "@pulumi/f5bigip";
 *
 * const test_cipher_group = new f5bigip.ltm.CipherGroup("test-cipher-group", {
 *     name: "/Common/test-cipher-group-01",
 *     allows: ["/Common/f5-aes"],
 *     requires: ["/Common/f5-quic"],
 *     ordering: "speed",
 * });
 * ```
 *
 * ## Importing
 *
 * An existing cipher group can be imported into this resource by supplying the cipher rule full path name ex : `/partition/name`
 * An example is below:
 * ```sh
 * $ terraform import bigip_ltm_cipher_group.test_cipher_group /Common/test_cipher_group
 *
 * ```
 */
export declare class CipherGroup extends pulumi.CustomResource {
    /**
     * Get an existing CipherGroup 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?: CipherGroupState, opts?: pulumi.CustomResourceOptions): CipherGroup;
    /**
     * Returns true if the given object is an instance of CipherGroup.  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 CipherGroup;
    /**
     * Specifies the configuration of the allowed groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no allowed ciphers, omit this attribute in the config or set it to an empty set like, `[]`.
     */
    readonly allows: pulumi.Output<string[] | undefined>;
    /**
     * Specifies descriptive text that identifies the cipher rule
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Name of the Cipher group. Name should be in pattern `partition` + `cipherGroupName`
     */
    readonly name: pulumi.Output<string>;
    /**
     * Controls the order of the Cipher String list in the Cipher Audit section. Options are Default, Speed, Strength, FIPS, and Hardware. The rules are processed in the order listed. The default is `default`.
     */
    readonly ordering: pulumi.Output<string | undefined>;
    /**
     * Specifies the configuration of the restrict groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no restricted ciphers, omit this attribute in the config or set it to an empty set like, `[]`.
     */
    readonly requires: pulumi.Output<string[] | undefined>;
    /**
     * Create a CipherGroup 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: CipherGroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering CipherGroup resources.
 */
export interface CipherGroupState {
    /**
     * Specifies the configuration of the allowed groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no allowed ciphers, omit this attribute in the config or set it to an empty set like, `[]`.
     */
    allows?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Specifies descriptive text that identifies the cipher rule
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Name of the Cipher group. Name should be in pattern `partition` + `cipherGroupName`
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Controls the order of the Cipher String list in the Cipher Audit section. Options are Default, Speed, Strength, FIPS, and Hardware. The rules are processed in the order listed. The default is `default`.
     */
    ordering?: pulumi.Input<string | undefined>;
    /**
     * Specifies the configuration of the restrict groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no restricted ciphers, omit this attribute in the config or set it to an empty set like, `[]`.
     */
    requires?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
/**
 * The set of arguments for constructing a CipherGroup resource.
 */
export interface CipherGroupArgs {
    /**
     * Specifies the configuration of the allowed groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no allowed ciphers, omit this attribute in the config or set it to an empty set like, `[]`.
     */
    allows?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Specifies descriptive text that identifies the cipher rule
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * Name of the Cipher group. Name should be in pattern `partition` + `cipherGroupName`
     */
    name: pulumi.Input<string>;
    /**
     * Controls the order of the Cipher String list in the Cipher Audit section. Options are Default, Speed, Strength, FIPS, and Hardware. The rules are processed in the order listed. The default is `default`.
     */
    ordering?: pulumi.Input<string | undefined>;
    /**
     * Specifies the configuration of the restrict groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no restricted ciphers, omit this attribute in the config or set it to an empty set like, `[]`.
     */
    requires?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=cipherGroup.d.ts.map