import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * ALB provides access control at the listener level. If you want to allow only certain IPs or deny only certain IPs from accessing the ALB instance via the listener port, you can set an access control policy for the listener. You can configure access control when creating the listener or modify/reconfigure it after the listener is created. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const albAclDemo = new volcenginecc.alb.Acl("AlbAclDemo", { * aclName: "AlbAclDemo", * projectName: "default", * aclEntries: [{ * description: "AlbAclDemo description", * entry: "1.1.1.1/32", * }], * tags: [{ * key: "env", * value: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:alb/acl:Acl example "acl_id" * ``` */ export declare class Acl extends pulumi.CustomResource { /** * Get an existing Acl 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?: AclState, opts?: pulumi.CustomResourceOptions): Acl; /** * Returns true if the given object is an instance of Acl. 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 Acl; readonly aclEntries: pulumi.Output; /** * Number of IP entries in the access control policy group. */ readonly aclEntryCount: pulumi.Output; /** * Access control policy group ID. */ readonly aclId: pulumi.Output; /** * Name of the access control policy group. Cannot start with http:// or https://. Must start with a letter or Chinese character and can include numbers, periods (.), underscores (_), and hyphens (-). Length must be between 1 and 128 characters. If not specified, defaults to the access control policy group ID. */ readonly aclName: pulumi.Output; /** * Creation time of the access control policy group. */ readonly createdTime: pulumi.Output; /** * Description of the access control policy group. Cannot start with http:// or https://. Must start with a letter or Chinese character and can include numbers, English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Length must be between 1 and 255 characters. If not specified, defaults to an empty string. */ readonly description: pulumi.Output; readonly listeners: pulumi.Output; /** * Name of the project to which the access control policy group belongs. */ readonly projectName: pulumi.Output; /** * Status of the access control policy group. Creating: being created. Active: available. Configuring: being configured. Deleting: being deleted. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Most recent operation time for the access control policy group. */ readonly updatedTime: pulumi.Output; /** * Create a Acl 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?: AclArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Acl resources. */ export interface AclState { aclEntries?: pulumi.Input[]>; /** * Number of IP entries in the access control policy group. */ aclEntryCount?: pulumi.Input; /** * Access control policy group ID. */ aclId?: pulumi.Input; /** * Name of the access control policy group. Cannot start with http:// or https://. Must start with a letter or Chinese character and can include numbers, periods (.), underscores (_), and hyphens (-). Length must be between 1 and 128 characters. If not specified, defaults to the access control policy group ID. */ aclName?: pulumi.Input; /** * Creation time of the access control policy group. */ createdTime?: pulumi.Input; /** * Description of the access control policy group. Cannot start with http:// or https://. Must start with a letter or Chinese character and can include numbers, English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Length must be between 1 and 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; listeners?: pulumi.Input[]>; /** * Name of the project to which the access control policy group belongs. */ projectName?: pulumi.Input; /** * Status of the access control policy group. Creating: being created. Active: available. Configuring: being configured. Deleting: being deleted. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Most recent operation time for the access control policy group. */ updatedTime?: pulumi.Input; } /** * The set of arguments for constructing a Acl resource. */ export interface AclArgs { aclEntries?: pulumi.Input[]>; /** * Name of the access control policy group. Cannot start with http:// or https://. Must start with a letter or Chinese character and can include numbers, periods (.), underscores (_), and hyphens (-). Length must be between 1 and 128 characters. If not specified, defaults to the access control policy group ID. */ aclName?: pulumi.Input; /** * Description of the access control policy group. Cannot start with http:// or https://. Must start with a letter or Chinese character and can include numbers, English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Length must be between 1 and 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * Name of the project to which the access control policy group belongs. */ projectName?: pulumi.Input; tags?: pulumi.Input[]>; }