UNPKG

@pulumi/openstack

Version:

A Pulumi package for creating and managing OpenStack cloud resources.

143 lines (142 loc) 6.09 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages a V2 Neutron QoS bandwidth limit rule resource within OpenStack. * * ## Example Usage * * ### Create a QoS Policy with some bandwidth limit rule * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as openstack from "@pulumi/openstack"; * * const qosPolicy1 = new openstack.networking.QosPolicy("qos_policy_1", { * name: "qos_policy_1", * description: "bw_limit", * }); * const bwLimitRule1 = new openstack.networking.QosBandwidthLimitRule("bw_limit_rule_1", { * qosPolicyId: qosPolicy1.id, * maxKbps: 3000, * maxBurstKbps: 300, * direction: "egress", * }); * ``` * * ## Import * * QoS bandwidth limit rules can be imported using the `qos_policy_id/bandwidth_limit_rule` format, e.g. * * ```sh * $ pulumi import openstack:networking/qosBandwidthLimitRule:QosBandwidthLimitRule bw_limit_rule_1 d6ae28ce-fcb5-4180-aa62-d260a27e09ae/46dfb556-b92f-48ce-94c5-9a9e2140de94 * ``` */ export declare class QosBandwidthLimitRule extends pulumi.CustomResource { /** * Get an existing QosBandwidthLimitRule 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?: QosBandwidthLimitRuleState, opts?: pulumi.CustomResourceOptions): QosBandwidthLimitRule; /** * Returns true if the given object is an instance of QosBandwidthLimitRule. 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 QosBandwidthLimitRule; /** * The direction of traffic. Defaults to "egress". Changing this updates the direction of the * existing QoS bandwidth limit rule. */ readonly direction: pulumi.Output<string | undefined>; /** * The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the * maximum burst size in kilobits of the existing QoS bandwidth limit rule. */ readonly maxBurstKbps: pulumi.Output<number | undefined>; /** * The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the * maximum kilobits per second of the existing QoS bandwidth limit rule. */ readonly maxKbps: pulumi.Output<number>; /** * The QoS policy reference. Changing this creates a new QoS bandwidth limit rule. */ readonly qosPolicyId: pulumi.Output<string>; /** * The region in which to obtain the V2 Networking client. * A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the * `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule. */ readonly region: pulumi.Output<string>; /** * Create a QosBandwidthLimitRule 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: QosBandwidthLimitRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering QosBandwidthLimitRule resources. */ export interface QosBandwidthLimitRuleState { /** * The direction of traffic. Defaults to "egress". Changing this updates the direction of the * existing QoS bandwidth limit rule. */ direction?: pulumi.Input<string>; /** * The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the * maximum burst size in kilobits of the existing QoS bandwidth limit rule. */ maxBurstKbps?: pulumi.Input<number>; /** * The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the * maximum kilobits per second of the existing QoS bandwidth limit rule. */ maxKbps?: pulumi.Input<number>; /** * The QoS policy reference. Changing this creates a new QoS bandwidth limit rule. */ qosPolicyId?: pulumi.Input<string>; /** * The region in which to obtain the V2 Networking client. * A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the * `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule. */ region?: pulumi.Input<string>; } /** * The set of arguments for constructing a QosBandwidthLimitRule resource. */ export interface QosBandwidthLimitRuleArgs { /** * The direction of traffic. Defaults to "egress". Changing this updates the direction of the * existing QoS bandwidth limit rule. */ direction?: pulumi.Input<string>; /** * The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the * maximum burst size in kilobits of the existing QoS bandwidth limit rule. */ maxBurstKbps?: pulumi.Input<number>; /** * The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the * maximum kilobits per second of the existing QoS bandwidth limit rule. */ maxKbps: pulumi.Input<number>; /** * The QoS policy reference. Changing this creates a new QoS bandwidth limit rule. */ qosPolicyId: pulumi.Input<string>; /** * The region in which to obtain the V2 Networking client. * A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the * `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule. */ region?: pulumi.Input<string>; }