import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for creating a AutoStopping rule for VMs. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * * const test = new harness.autostopping.RuleVm("test", { * name: "name", * cloudConnectorId: "cloud_connector_id", * idleTimeMins: 10, * dryRun: true, * filter: { * vmIds: ["/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine"], * regions: ["useast2"], * }, * https: [{ * proxyId: "proxy_id", * routings: [ * { * sourceProtocol: "https", * targetProtocol: "https", * sourcePort: 443, * targetPort: 443, * action: "forward", * }, * { * sourceProtocol: "http", * targetProtocol: "http", * sourcePort: 80, * targetPort: 80, * action: "forward", * }, * ], * healths: [{ * protocol: "http", * port: 80, * path: "/", * timeout: 30, * statusCodeFrom: 200, * statusCodeTo: 299, * }], * }], * tcps: [{ * proxyId: "proxy_id", * sshes: [{ * port: 22, * }], * rdps: [{ * port: 3389, * }], * forwardRules: [{ * port: 2233, * }], * }], * depends: [{ * ruleId: 24576, * delayInSec: 5, * }], * }); * ``` */ export declare class RuleVm extends pulumi.CustomResource { /** * Get an existing RuleVm 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?: RuleVmState, opts?: pulumi.CustomResourceOptions): RuleVm; /** * Returns true if the given object is an instance of RuleVm. 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 RuleVm; /** * Id of the cloud connector */ readonly cloudConnectorId: pulumi.Output; /** * Connection information (source ports on the proxy). Keys: "ssh" and "rdp" for SSH/RDP; other keys are target port as string (e.g. "80") for forward_rule, value is the proxy source port. */ readonly connect: pulumi.Output<{ [key: string]: number; }>; /** * Custom URLs used to access the instances */ readonly customDomains: pulumi.Output; /** * Dependent rules */ readonly depends: pulumi.Output; /** * Boolean that indicates whether the AutoStopping rule should be created in DryRun mode */ readonly dryRun: pulumi.Output; readonly filter: pulumi.Output; /** * Http routing configuration */ readonly https: pulumi.Output; /** * Unique identifier of the resource */ readonly identifier: pulumi.Output; /** * Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances. */ readonly idleTimeMins: pulumi.Output; /** * Name of the rule */ readonly name: pulumi.Output; /** * TCP routing configuration */ readonly tcps: pulumi.Output; /** * Boolean that indicates whether the selected instances should be converted to spot vm */ readonly useSpot: pulumi.Output; /** * Create a RuleVm 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: RuleVmArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RuleVm resources. */ export interface RuleVmState { /** * Id of the cloud connector */ cloudConnectorId?: pulumi.Input; /** * Connection information (source ports on the proxy). Keys: "ssh" and "rdp" for SSH/RDP; other keys are target port as string (e.g. "80") for forward_rule, value is the proxy source port. */ connect?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Custom URLs used to access the instances */ customDomains?: pulumi.Input[] | undefined>; /** * Dependent rules */ depends?: pulumi.Input[] | undefined>; /** * Boolean that indicates whether the AutoStopping rule should be created in DryRun mode */ dryRun?: pulumi.Input; filter?: pulumi.Input; /** * Http routing configuration */ https?: pulumi.Input[] | undefined>; /** * Unique identifier of the resource */ identifier?: pulumi.Input; /** * Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances. */ idleTimeMins?: pulumi.Input; /** * Name of the rule */ name?: pulumi.Input; /** * TCP routing configuration */ tcps?: pulumi.Input[] | undefined>; /** * Boolean that indicates whether the selected instances should be converted to spot vm */ useSpot?: pulumi.Input; } /** * The set of arguments for constructing a RuleVm resource. */ export interface RuleVmArgs { /** * Id of the cloud connector */ cloudConnectorId: pulumi.Input; /** * Custom URLs used to access the instances */ customDomains?: pulumi.Input[] | undefined>; /** * Dependent rules */ depends?: pulumi.Input[] | undefined>; /** * Boolean that indicates whether the AutoStopping rule should be created in DryRun mode */ dryRun?: pulumi.Input; filter: pulumi.Input; /** * Http routing configuration */ https?: pulumi.Input[] | undefined>; /** * Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances. */ idleTimeMins?: pulumi.Input; /** * Name of the rule */ name?: pulumi.Input; /** * TCP routing configuration */ tcps?: pulumi.Input[] | undefined>; /** * Boolean that indicates whether the selected instances should be converted to spot vm */ useSpot?: pulumi.Input; } //# sourceMappingURL=ruleVm.d.ts.map