@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
108 lines (107 loc) • 4.52 kB
TypeScript
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>;
}