@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
211 lines (210 loc) • 5.28 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
* Use this data source to get the list of CFW protection rules.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as huaweicloud from "@pulumi/huaweicloud";
*
* const config = new pulumi.Config();
* const objectId = config.requireObject("objectId");
* const name = config.requireObject("name");
* const test = huaweicloud.Cfw.getProtectionRules({
* objectId: objectId,
* name: name,
* });
* ```
*/
export declare function getProtectionRules(args: GetProtectionRulesArgs, opts?: pulumi.InvokeOptions): Promise<GetProtectionRulesResult>;
/**
* A collection of arguments for invoking getProtectionRules.
*/
export interface GetProtectionRulesArgs {
/**
* Specifies the rule action type.
* The options are as follows:
* + **0**: allow;
* + **1**: deny.
*/
actionType?: string;
/**
* Specifies the destination address.
*/
destination?: string;
/**
* Specifies the rule direction.
* The options are as follows:
* + **0**: inbound;
* + **1**: outbound.
*/
direction?: string;
/**
* Specifies the firewall instance ID.
*/
fwInstanceId?: string;
/**
* Specifies the rule name.
*/
name?: string;
/**
* Specifies the protected object ID.
*/
objectId: string;
/**
* Specifies the region in which to query the resource.
* If omitted, the provider-level region will be used.
*/
region?: string;
/**
* Specifies the rule ID.
*/
ruleId?: string;
/**
* Specifies the source address.
*/
source?: string;
/**
* Specifies the rule status.
* The options are as follows:
* + **0**: disabled;
* + **1**: enabled.
*/
status?: string;
/**
* Specifies the key/value pairs to associate with the protection rule.
* Tags should have only one key/value pair.
*/
tags?: {
[key: string]: string;
};
/**
* Specifies the rule type.
* The value can be **0** (Internet rule), **1** (VPC rule), or **2** (NAT rule).
*/
type?: string;
}
/**
* A collection of values returned by getProtectionRules.
*/
export interface GetProtectionRulesResult {
/**
* The rule action type.
*/
readonly actionType?: string;
/**
* The destination configuration.
*/
readonly destination?: string;
/**
* The direction of a rule.
*/
readonly direction?: string;
readonly fwInstanceId?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* The custom service name.
*/
readonly name?: string;
readonly objectId: string;
/**
* The protection rule list.
*/
readonly records: outputs.Cfw.GetProtectionRulesRecord[];
readonly region: string;
/**
* The rule ID.
*/
readonly ruleId?: string;
/**
* The source configuration.
*/
readonly source?: string;
/**
* The rule status.
*/
readonly status?: string;
/**
* The tag of a rule.
*/
readonly tags?: {
[key: string]: string;
};
/**
* The source type.
*/
readonly type?: string;
}
export declare function getProtectionRulesOutput(args: GetProtectionRulesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetProtectionRulesResult>;
/**
* A collection of arguments for invoking getProtectionRules.
*/
export interface GetProtectionRulesOutputArgs {
/**
* Specifies the rule action type.
* The options are as follows:
* + **0**: allow;
* + **1**: deny.
*/
actionType?: pulumi.Input<string>;
/**
* Specifies the destination address.
*/
destination?: pulumi.Input<string>;
/**
* Specifies the rule direction.
* The options are as follows:
* + **0**: inbound;
* + **1**: outbound.
*/
direction?: pulumi.Input<string>;
/**
* Specifies the firewall instance ID.
*/
fwInstanceId?: pulumi.Input<string>;
/**
* Specifies the rule name.
*/
name?: pulumi.Input<string>;
/**
* Specifies the protected object ID.
*/
objectId: pulumi.Input<string>;
/**
* Specifies the region in which to query the resource.
* If omitted, the provider-level region will be used.
*/
region?: pulumi.Input<string>;
/**
* Specifies the rule ID.
*/
ruleId?: pulumi.Input<string>;
/**
* Specifies the source address.
*/
source?: pulumi.Input<string>;
/**
* Specifies the rule status.
* The options are as follows:
* + **0**: disabled;
* + **1**: enabled.
*/
status?: pulumi.Input<string>;
/**
* Specifies the key/value pairs to associate with the protection rule.
* Tags should have only one key/value pair.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Specifies the rule type.
* The value can be **0** (Internet rule), **1** (VPC rule), or **2** (NAT rule).
*/
type?: pulumi.Input<string>;
}