UNPKG

@muhlba91/pulumi-proxmoxve

Version:

A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.

258 lines (257 loc) 9.44 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages PVE metrics server. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * const influxdbServer = new proxmoxve.metrics.MetricsServer("influxdbServer", { * port: 8089, * server: "192.168.3.2", * type: "influxdb", * }); * const graphiteServer = new proxmoxve.metrics.MetricsServer("graphiteServer", { * port: 2003, * server: "192.168.4.2", * type: "graphite", * }); * ``` * * ## Import * * #!/usr/bin/env sh * * ```sh * $ pulumi import proxmoxve:Metrics/metricsServer:MetricsServer example example * ``` */ export declare class MetricsServer extends pulumi.CustomResource { /** * Get an existing MetricsServer 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?: MetricsServerState, opts?: pulumi.CustomResourceOptions): MetricsServer; /** * Returns true if the given object is an instance of MetricsServer. 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 MetricsServer; /** * Set this to `true` to disable this metric server. */ readonly disable: pulumi.Output<boolean | undefined>; /** * Root graphite path (ex: `proxmox.mycluster.mykey`). */ readonly graphitePath: pulumi.Output<string | undefined>; /** * Protocol to send graphite data. Choice is between `udp` | `tcp`. If not set, PVE default is `udp`. */ readonly graphiteProto: pulumi.Output<string | undefined>; /** * An API path prefix inserted between `<host>:<port>/` and `/api2/`. Can be useful if the InfluxDB service runs behind a reverse proxy. */ readonly influxApiPathPrefix: pulumi.Output<string | undefined>; /** * The InfluxDB bucket/db. Only necessary when using the http v2 api. */ readonly influxBucket: pulumi.Output<string | undefined>; /** * Protocol for InfluxDB. Choice is between `udp` | `http` | `https`. If not set, PVE default is `udp`. */ readonly influxDbProto: pulumi.Output<string | undefined>; /** * InfluxDB max-body-size in bytes. Requests are batched up to this size. If not set, PVE default is `25000000`. */ readonly influxMaxBodySize: pulumi.Output<number | undefined>; /** * The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api. */ readonly influxOrganization: pulumi.Output<string | undefined>; /** * The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use `user:password` instead. */ readonly influxToken: pulumi.Output<string | undefined>; /** * Set to `false` to disable certificate verification for https endpoints. */ readonly influxVerify: pulumi.Output<boolean | undefined>; /** * MTU (maximum transmission unit) for metrics transmission over UDP. If not set, PVE default is `1500` (allowed `512` - `65536`). */ readonly mtu: pulumi.Output<number | undefined>; /** * Unique name that will be ID of this metric server in PVE. */ readonly name: pulumi.Output<string>; /** * Server network port. */ readonly port: pulumi.Output<number>; /** * Server dns name or IP address. */ readonly server: pulumi.Output<string>; /** * TCP socket timeout in seconds. If not set, PVE default is `1`. */ readonly timeout: pulumi.Output<number | undefined>; /** * Plugin type. Choice is between `graphite` | `influxdb`. */ readonly type: pulumi.Output<string>; /** * Create a MetricsServer 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: MetricsServerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MetricsServer resources. */ export interface MetricsServerState { /** * Set this to `true` to disable this metric server. */ disable?: pulumi.Input<boolean>; /** * Root graphite path (ex: `proxmox.mycluster.mykey`). */ graphitePath?: pulumi.Input<string>; /** * Protocol to send graphite data. Choice is between `udp` | `tcp`. If not set, PVE default is `udp`. */ graphiteProto?: pulumi.Input<string>; /** * An API path prefix inserted between `<host>:<port>/` and `/api2/`. Can be useful if the InfluxDB service runs behind a reverse proxy. */ influxApiPathPrefix?: pulumi.Input<string>; /** * The InfluxDB bucket/db. Only necessary when using the http v2 api. */ influxBucket?: pulumi.Input<string>; /** * Protocol for InfluxDB. Choice is between `udp` | `http` | `https`. If not set, PVE default is `udp`. */ influxDbProto?: pulumi.Input<string>; /** * InfluxDB max-body-size in bytes. Requests are batched up to this size. If not set, PVE default is `25000000`. */ influxMaxBodySize?: pulumi.Input<number>; /** * The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api. */ influxOrganization?: pulumi.Input<string>; /** * The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use `user:password` instead. */ influxToken?: pulumi.Input<string>; /** * Set to `false` to disable certificate verification for https endpoints. */ influxVerify?: pulumi.Input<boolean>; /** * MTU (maximum transmission unit) for metrics transmission over UDP. If not set, PVE default is `1500` (allowed `512` - `65536`). */ mtu?: pulumi.Input<number>; /** * Unique name that will be ID of this metric server in PVE. */ name?: pulumi.Input<string>; /** * Server network port. */ port?: pulumi.Input<number>; /** * Server dns name or IP address. */ server?: pulumi.Input<string>; /** * TCP socket timeout in seconds. If not set, PVE default is `1`. */ timeout?: pulumi.Input<number>; /** * Plugin type. Choice is between `graphite` | `influxdb`. */ type?: pulumi.Input<string>; } /** * The set of arguments for constructing a MetricsServer resource. */ export interface MetricsServerArgs { /** * Set this to `true` to disable this metric server. */ disable?: pulumi.Input<boolean>; /** * Root graphite path (ex: `proxmox.mycluster.mykey`). */ graphitePath?: pulumi.Input<string>; /** * Protocol to send graphite data. Choice is between `udp` | `tcp`. If not set, PVE default is `udp`. */ graphiteProto?: pulumi.Input<string>; /** * An API path prefix inserted between `<host>:<port>/` and `/api2/`. Can be useful if the InfluxDB service runs behind a reverse proxy. */ influxApiPathPrefix?: pulumi.Input<string>; /** * The InfluxDB bucket/db. Only necessary when using the http v2 api. */ influxBucket?: pulumi.Input<string>; /** * Protocol for InfluxDB. Choice is between `udp` | `http` | `https`. If not set, PVE default is `udp`. */ influxDbProto?: pulumi.Input<string>; /** * InfluxDB max-body-size in bytes. Requests are batched up to this size. If not set, PVE default is `25000000`. */ influxMaxBodySize?: pulumi.Input<number>; /** * The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api. */ influxOrganization?: pulumi.Input<string>; /** * The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use `user:password` instead. */ influxToken?: pulumi.Input<string>; /** * Set to `false` to disable certificate verification for https endpoints. */ influxVerify?: pulumi.Input<boolean>; /** * MTU (maximum transmission unit) for metrics transmission over UDP. If not set, PVE default is `1500` (allowed `512` - `65536`). */ mtu?: pulumi.Input<number>; /** * Unique name that will be ID of this metric server in PVE. */ name?: pulumi.Input<string>; /** * Server network port. */ port: pulumi.Input<number>; /** * Server dns name or IP address. */ server: pulumi.Input<string>; /** * TCP socket timeout in seconds. If not set, PVE default is `1`. */ timeout?: pulumi.Input<number>; /** * Plugin type. Choice is between `graphite` | `influxdb`. */ type: pulumi.Input<string>; }