UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

108 lines (107 loc) 4.52 kB
import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; /** * Manages an ACL resource within HuaweiCloud IAM service. The ACL allowing user access only from specified IP address * ranges and IPv4 CIDR blocks. The ACL take effect for IAM users under the Domain account rather than the account itself. * * > **NOTE:** You *must* have admin privileges to use this resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const acl = new huaweicloud.Iam.Acl("acl", { * ipCidrs: [{ * cidr: "159.138.39.192/32", * description: "This is a test ip address", * }], * ipRanges: [{ * description: "This is a test ip range", * range: "0.0.0.0-255.255.255.0", * }], * type: "console", * }); * ``` */ 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<pulumi.ID>, 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; /** * Specifies the IPv4 CIDR blocks from which console access or api access is allowed. * The `ipCidrs` cannot repeat. The object structure is documented below. */ readonly ipCidrs: pulumi.Output<outputs.Iam.AclIpCidr[] | undefined>; /** * Specifies the IP address ranges from which console access or api access is allowed. * The `ipRanges` cannot repeat. The object structure is documented below. */ readonly ipRanges: pulumi.Output<outputs.Iam.AclIpRange[] | undefined>; /** * Specifies the ACL is created through the Console or API. * Valid values are **console** and **api**. Changing this parameter will create a new ACL. */ readonly type: pulumi.Output<string>; /** * 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 { /** * Specifies the IPv4 CIDR blocks from which console access or api access is allowed. * The `ipCidrs` cannot repeat. The object structure is documented below. */ ipCidrs?: pulumi.Input<pulumi.Input<inputs.Iam.AclIpCidr>[]>; /** * Specifies the IP address ranges from which console access or api access is allowed. * The `ipRanges` cannot repeat. The object structure is documented below. */ ipRanges?: pulumi.Input<pulumi.Input<inputs.Iam.AclIpRange>[]>; /** * Specifies the ACL is created through the Console or API. * Valid values are **console** and **api**. Changing this parameter will create a new ACL. */ type?: pulumi.Input<string>; } /** * The set of arguments for constructing a Acl resource. */ export interface AclArgs { /** * Specifies the IPv4 CIDR blocks from which console access or api access is allowed. * The `ipCidrs` cannot repeat. The object structure is documented below. */ ipCidrs?: pulumi.Input<pulumi.Input<inputs.Iam.AclIpCidr>[]>; /** * Specifies the IP address ranges from which console access or api access is allowed. * The `ipRanges` cannot repeat. The object structure is documented below. */ ipRanges?: pulumi.Input<pulumi.Input<inputs.Iam.AclIpRange>[]>; /** * Specifies the ACL is created through the Console or API. * Valid values are **console** and **api**. Changing this parameter will create a new ACL. */ type: pulumi.Input<string>; }