import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Rule Set resource in Oracle Cloud Infrastructure Load Balancer service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/loadbalancer/latest/RuleSet * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/load_balancer * * Creates a new rule set associated with the specified load balancer. For more information, see * [Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testRuleSet = new oci.loadbalancer.RuleSet("test_rule_set", { * items: [{ * action: ruleSetItemsAction, * allowedMethods: ruleSetItemsAllowedMethods, * areInvalidCharactersAllowed: ruleSetItemsAreInvalidCharactersAllowed === "true", * conditions: [{ * attributeName: ruleSetItemsConditionsAttributeName, * attributeValue: ruleSetItemsConditionsAttributeValue, * operator: ruleSetItemsConditionsOperator, * }], * defaultMaxConnections: Number(ruleSetItemsDefaultMaxConnections), * description: ruleSetItemsDescription, * header: ruleSetItemsHeader, * httpLargeHeaderSizeInKb: Number(ruleSetItemsHttpLargeHeaderSizeInKb), * ipMaxConnections: [{ * ipAddresses: ruleSetItemsIpMaxConnectionsIpAddresses, * maxConnections: Number(ruleSetItemsIpMaxConnectionsMaxConnections), * }], * prefix: ruleSetItemsPrefix, * redirectUri: { * host: ruleSetItemsRedirectUriHost, * path: ruleSetItemsRedirectUriPath, * port: Number(ruleSetItemsRedirectUriPort), * protocol: ruleSetItemsRedirectUriProtocol, * query: ruleSetItemsRedirectUriQuery, * }, * responseCode: Number(ruleSetItemsResponseCode), * statusCode: Number(ruleSetItemsStatusCode), * suffix: ruleSetItemsSuffix, * value: ruleSetItemsValue, * }], * loadBalancerId: testLoadBalancer.id, * name: ruleSetName, * }); * ``` * * ## Import * * RuleSets can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:LoadBalancer/ruleSet:RuleSet test_rule_set "loadBalancers/{loadBalancerId}/ruleSets/{ruleSetName}" * ``` */ export declare class RuleSet extends pulumi.CustomResource { /** * Get an existing RuleSet 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?: RuleSetState, opts?: pulumi.CustomResourceOptions): RuleSet; /** * Returns true if the given object is an instance of RuleSet. 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 RuleSet; /** * (Updatable) An array of rules that compose the rule set. For more information, see [Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm) */ readonly items: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the specified load balancer. */ readonly loadBalancerId: pulumi.Output; /** * The name for this set of rules. It must be unique and it cannot be changed. Avoid entering confidential information. Example: `exampleRuleSet` * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly name: pulumi.Output; readonly state: pulumi.Output; /** * Create a RuleSet 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: RuleSetArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RuleSet resources. */ export interface RuleSetState { /** * (Updatable) An array of rules that compose the rule set. For more information, see [Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm) */ items?: pulumi.Input[] | undefined>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the specified load balancer. */ loadBalancerId?: pulumi.Input; /** * The name for this set of rules. It must be unique and it cannot be changed. Avoid entering confidential information. Example: `exampleRuleSet` * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ name?: pulumi.Input; state?: pulumi.Input; } /** * The set of arguments for constructing a RuleSet resource. */ export interface RuleSetArgs { /** * (Updatable) An array of rules that compose the rule set. For more information, see [Managing Rule Sets](https://docs.cloud.oracle.com/iaas/Content/Balance/Tasks/managingrulesets.htm) */ items: pulumi.Input[]>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the specified load balancer. */ loadBalancerId: pulumi.Input; /** * The name for this set of rules. It must be unique and it cannot be changed. Avoid entering confidential information. Example: `exampleRuleSet` * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ name?: pulumi.Input; } //# sourceMappingURL=ruleSet.d.ts.map