UNPKG

@ediri/vultr

Version:

A Pulumi package for creating and managing Vultr cloud resources.

976 lines (975 loc) 25 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface DatabaseReadReplica { /** * The configured time zone for the Managed Database in TZ database format (e.g. `UTC`, `America/New_York`, `Europe/London`). */ clusterTimeZone?: pulumi.Input<string>; /** * The database engine of the new managed database. */ databaseEngine?: pulumi.Input<string>; /** * The database engine version of the new managed database. */ databaseEngineVersion?: pulumi.Input<string>; /** * The date the managed database was added to your Vultr account. */ dateCreated?: pulumi.Input<string>; /** * The managed database's default logical database. */ dbname?: pulumi.Input<string>; /** * The configuration value for the data eviction policy on the managed database (Valkey engine types only - `noeviction`, `allkeys-lru`, `volatile-lru`, `allkeys-random`, `volatile-random`, `volatile-ttl`, `volatile-lfu`, `allkeys-lfu`). */ evictionPolicy?: pulumi.Input<string>; /** * An associated list of FerretDB connection credentials (FerretDB + PostgreSQL engine types only). */ ferretdbCredentials?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The hostname assigned to the managed database. */ host?: pulumi.Input<string>; /** * The ID of the managed database. */ id?: pulumi.Input<string>; /** * A label for the managed database. */ label: pulumi.Input<string>; /** * The date of the latest backup available on the managed database. */ latestBackup?: pulumi.Input<string>; /** * The preferred maintenance day of week for the managed database. */ maintenanceDow?: pulumi.Input<string>; /** * The preferred maintenance time for the managed database in 24-hour HH:00 format (e.g. `01:00`, `13:00`, `23:00`). */ maintenanceTime?: pulumi.Input<string>; /** * The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only). */ mysqlLongQueryTime?: pulumi.Input<number>; /** * The configuration value for whether primary keys are required on the managed database (MySQL engine types only). */ mysqlRequirePrimaryKey?: pulumi.Input<boolean>; /** * The configuration value for slow query logging on the managed database (MySQL engine types only). */ mysqlSlowQueryLog?: pulumi.Input<boolean>; /** * A list of SQL modes to configure for the managed database (MySQL engine types only - `ALLOW_INVALID_DATES`, `ANSI`, `ANSI_QUOTES`, `ERROR_FOR_DIVISION_BY_ZERO`, `HIGH_NOT_PRECEDENCE`, `IGNORE_SPACE`, `NO_AUTO_VALUE_ON_ZERO`, `NO_DIR_IN_CREATE`, `NO_ENGINE_SUBSTITUTION`, `NO_UNSIGNED_SUBTRACTION`, `NO_ZERO_DATE`, `NO_ZERO_IN_DATE`, `ONLY_FULL_GROUP_BY`, `PIPES_AS_CONCAT`, `REAL_AS_FLOAT`, `STRICT_ALL_TABLES`, `STRICT_TRANS_TABLES`, `TIME_TRUNCATE_FRACTIONAL`, `TRADITIONAL`). */ mysqlSqlModes?: pulumi.Input<pulumi.Input<string>[]>; /** * The password for the managed database's primary admin user. */ password?: pulumi.Input<string>; /** * The ID of the plan that you want the managed database to subscribe to. [See List Managed Database Plans](https://www.vultr.com/api/#tag/managed-databases/operation/list-database-plans) */ plan?: pulumi.Input<string>; /** * The description of the disk(s) on the managed database. */ planDisk?: pulumi.Input<number>; /** * The amount of memory available on the managed database in MB. */ planRam?: pulumi.Input<number>; /** * The number of standby nodes available on the managed database (excluded for Kafka engine types). */ planReplicas?: pulumi.Input<number>; /** * The number of virtual CPUs available on the managed database. */ planVcpus?: pulumi.Input<number>; /** * The connection port for the managed database. */ port?: pulumi.Input<string>; /** * The public hostname assigned to the managed database (VPC-attached only). */ publicHost?: pulumi.Input<string>; /** * The ID of the region that the managed database is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions) */ region: pulumi.Input<string>; /** * The current status of the managed database (poweroff, rebuilding, rebalancing, configuring, running). */ status?: pulumi.Input<string>; /** * The tag to assign to the managed database. */ tag?: pulumi.Input<string>; /** * A list of allowed IP addresses for the managed database. */ trustedIps?: pulumi.Input<pulumi.Input<string>[]>; /** * The primary admin user for the managed database. */ user?: pulumi.Input<string>; /** * The ID of the VPC Network to attach to the Managed Database. */ vpcId?: pulumi.Input<string>; } export interface DatabaseUserAccessControl { /** * The list of command category rules for this managed database user. */ aclCategories: pulumi.Input<pulumi.Input<string>[]>; /** * The list of publish/subscribe channel patterns for this managed database user. */ aclChannels: pulumi.Input<pulumi.Input<string>[]>; /** * The list of individual command rules for this managed database user. */ aclCommands: pulumi.Input<pulumi.Input<string>[]>; /** * The list of access rules for this managed database user. */ aclKeys: pulumi.Input<pulumi.Input<string>[]>; } export interface GetApplicationFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetApplicationFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetBackupFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetBackupFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetBareMetalPlanFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetBareMetalPlanFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetBareMetalServerFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetBareMetalServerFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetBlockStorageFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetBlockStorageFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetContainerRegistryFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetContainerRegistryFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetDatabaseFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetDatabaseFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetFirewallGroupFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetFirewallGroupFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetInferenceFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetInferenceFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetInstanceFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetInstanceFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetInstanceIpv4Filter { /** * Attribute name to filter with. */ name: string; /** * One or more values to filter with. */ values: string[]; } export interface GetInstanceIpv4FilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values to filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetInstancesFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetInstancesFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetIsoPrivateFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetIsoPrivateFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetIsoPublicFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetIsoPublicFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetKubernetesFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetKubernetesFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetLoadBalancerFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetLoadBalancerFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetObjectStorageClusterFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetObjectStorageClusterFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetObjectStorageFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetObjectStorageFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetObjectStorageTierFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetObjectStorageTierFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetOsFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetOsFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetPlanFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetPlanFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetRegionFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetRegionFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetReservedIpFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetReservedIpFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetReverseIpv4Filter { /** * Attribute name to filter with. */ name: string; /** * One or more values to filter with. */ values: string[]; } export interface GetReverseIpv4FilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values to filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetReverseIpv6Filter { /** * Attribute name to filter with. */ name: string; /** * One or more values to filter with. */ values: string[]; } export interface GetReverseIpv6FilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values to filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetSnapshotFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetSnapshotFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetSshKeyFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetSshKeyFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetStartupScriptFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetStartupScriptFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetUserFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetUserFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetVirtualFileSystemStorageFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetVirtualFileSystemStorageFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetVpc2Filter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetVpc2FilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface GetVpcFilter { /** * Attribute name to filter with. */ name: string; /** * One or more values filter with. */ values: string[]; } export interface GetVpcFilterArgs { /** * Attribute name to filter with. */ name: pulumi.Input<string>; /** * One or more values filter with. */ values: pulumi.Input<pulumi.Input<string>[]>; } export interface InstanceBackupsSchedule { /** * Day of month to run. Use values between 1 and 28. */ dom?: pulumi.Input<number>; /** * Day of week to run. `1 = Sunday`, `2 = Monday`, `3 = Tuesday`, `4 = Wednesday`, `5 = Thursday`, `6 = Friday`, `7 = Saturday` */ dow?: pulumi.Input<number>; /** * Hour of day to run in UTC. */ hour?: pulumi.Input<number>; /** * Type of backup schedule Possible values are `daily`, `weekly`, `monthly`, `dailyAltEven`, or `dailyAltOdd`. */ type: pulumi.Input<string>; } export interface KubernetesNodePools { /** * Enable the auto scaler for the default node pool. */ autoScaler?: pulumi.Input<boolean>; /** * Date node was created. */ dateCreated?: pulumi.Input<string>; /** * Date of node pool updates. */ dateUpdated?: pulumi.Input<string>; /** * ID of node. */ id?: pulumi.Input<string>; /** * The label to be used as a prefix for nodes in this node pool. */ label: pulumi.Input<string>; /** * A map of key/value pairs for Kubernetes node labels. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The maximum number of nodes to use with the auto scaler. */ maxNodes?: pulumi.Input<number>; /** * The minimum number of nodes to use with the auto scaler. */ minNodes?: pulumi.Input<number>; /** * The number of nodes in this node pool. */ nodeQuantity: pulumi.Input<number>; /** * Array that contains information about nodes within this node pool. */ nodes?: pulumi.Input<pulumi.Input<inputs.KubernetesNodePoolsNode>[]>; /** * The plan to be used in this node pool. [See Plans List](https://www.vultr.com/api/#operation/list-plans) Note the minimum plan requirements must have at least 1 core and 2 gbs of memory. */ plan: pulumi.Input<string>; /** * Status of node. */ status?: pulumi.Input<string>; /** * Tag for node pool. */ tag?: pulumi.Input<string>; /** * Taints to apply to the nodes in the node pool. Should contain `key`, `value` and `effect`. The `effect` should be one of `NoSchedule`, `PreferNoSchedule` or `NoExecute`. */ taints?: pulumi.Input<pulumi.Input<inputs.KubernetesNodePoolsTaint>[]>; } export interface KubernetesNodePoolsNode { /** * Date node was created. */ dateCreated?: pulumi.Input<string>; /** * ID of node. */ id?: pulumi.Input<string>; /** * The label to be used as a prefix for nodes in this node pool. */ label?: pulumi.Input<string>; /** * Status of node. */ status?: pulumi.Input<string>; } export interface KubernetesNodePoolsTaint { effect: pulumi.Input<string>; key: pulumi.Input<string>; value: pulumi.Input<string>; } export interface LoadBalancerFirewallRule { /** * The load balancer ID. */ id?: pulumi.Input<string>; /** * The type of ip this rule is - may be either v4 or v6. */ ipType: pulumi.Input<string>; /** * The assigned port (integer) on the attached instances that the load balancer should check against. Default value is `80`. */ port: pulumi.Input<number>; /** * IP address with subnet that is allowed through the firewall. You may also pass in `cloudflare` which will allow only CloudFlares IP range. */ source: pulumi.Input<string>; } export interface LoadBalancerForwardingRule { /** * Port on instance side. */ backendPort: pulumi.Input<number>; /** * Protocol on instance side. Possible values: "http", "https", "tcp". */ backendProtocol: pulumi.Input<string>; /** * Port on load balancer side. */ frontendPort: pulumi.Input<number>; /** * Protocol on load balancer side. Possible values: "http", "https", "tcp". */ frontendProtocol: pulumi.Input<string>; ruleId?: pulumi.Input<string>; } export interface LoadBalancerHealthCheck { /** * Time in seconds to perform health check. Default value is 15. */ checkInterval?: pulumi.Input<number>; /** * Number of failed attempts encountered before failover. Default value is 5. */ healthyThreshold?: pulumi.Input<number>; /** * The path on the attached instances that the load balancer should check against. Default value is `/` */ path?: pulumi.Input<string>; /** * The assigned port (integer) on the attached instances that the load balancer should check against. Default value is `80`. */ port: pulumi.Input<number>; /** * The protocol used to traffic requests to the load balancer. Possible values are `http`, or `tcp`. Default value is `http`. */ protocol: pulumi.Input<string>; /** * Time in seconds to wait for a health check response. Default value is 5. */ responseTimeout?: pulumi.Input<number>; /** * Number of failed attempts encountered before failover. Default value is 5. */ unhealthyThreshold?: pulumi.Input<number>; } export interface LoadBalancerSsl { /** * The SSL Certificate. */ certificate: pulumi.Input<string>; /** * The SSL certificate chain. */ chain?: pulumi.Input<string>; /** * The SSL certificates private key. */ privateKey: pulumi.Input<string>; } export interface VirtualFileSystemStorageAttachment { instanceId?: pulumi.Input<string>; mount?: pulumi.Input<number>; state?: pulumi.Input<string>; }