import * as outputs from "../types/output"; export interface FirewallEgressRule { /** * The action of the rule can be allow or deny. When we set the `action = 'allow'`, this is going to add a rule to allow traffic. Similarly, setting `action = 'deny'` will deny the traffic. */ action: string; /** * The CIDR notation of the other end to affect, or a valid network CIDR (e.g. 0.0.0.0/0 to open for everyone or 1.2.3.4/32 to open just for a specific IP address) */ cidrs: string[]; /** * (String) The ID of this resource. */ id: string; /** * A string that will be the displayed name/reference for this rule */ label?: string; /** * The port or port range to open, can be a single port or a range separated by a dash (`-`), e.g. `80` or `80-443` */ portRange?: string; /** * The protocol choice from `tcp`, `udp` or `icmp` (the default if unspecified is `tcp`) */ protocol?: string; } export interface FirewallIngressRule { /** * The action of the rule can be allow or deny. When we set the `action = 'allow'`, this is going to add a rule to allow traffic. Similarly, setting `action = 'deny'` will deny the traffic. */ action: string; /** * The CIDR notation of the other end to affect, or a valid network CIDR (e.g. 0.0.0.0/0 to open for everyone or 1.2.3.4/32 to open just for a specific IP address) */ cidrs: string[]; /** * (String) The ID of this resource. */ id: string; /** * A string that will be the displayed name/reference for this rule */ label?: string; /** * The port or port range to open, can be a single port or a range separated by a dash (`-`), e.g. `80` or `80-443` */ portRange?: string; /** * The protocol choice from `tcp`, `udp` or `icmp` (the default if unspecified is `tcp`) */ protocol?: string; } export interface GetDatabaseVersionFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure that all of the `values` are present in the list or set. */ all?: boolean; /** * Filter versions by this key. This may be one of `default`, `engine`, `version`. */ key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as substrings to find within the string field. */ matchBy?: string; /** * Only retrieves `versions` which keys has value that matches one of the values provided here */ values: string[]; } export interface GetDatabaseVersionSort { /** * The sort direction. This may be either `asc` or `desc`. */ direction?: string; /** * Sort versions by this key. This may be one of `default`, `engine`, `version`. */ key: string; } export interface GetDatabaseVersionVersion { /** * If the version is the default */ default: boolean; /** * The engine of the database */ engine: string; /** * The version of the database */ version: string; } export interface GetDiskImageDiskimage { /** * ID of disk image */ id: string; /** * Label of disk image */ label: string; /** * Name of disk image */ name: string; /** * Version of disk image */ version: string; } export interface GetDiskImageFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure that all of the `values` are present in the list or set. */ all?: boolean; /** * Filter diskimages by this key. This may be one of `id`, `label`, `name`, `version`. */ key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as substrings to find within the string field. */ matchBy?: string; /** * Only retrieves `diskimages` which keys has value that matches one of the values provided here */ values: string[]; } export interface GetDiskImageSort { /** * The sort direction. This may be either `asc` or `desc`. */ direction?: string; /** * Sort diskimages by this key. This may be one of `id`, `label`, `name`, `version`. */ key: string; } export interface GetInstancesFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure that all of the `values` are present in the list or set. */ all?: boolean; /** * Filter instances by this key. This may be one of `cpuCores`, `createdAt`, `diskGb`, `firewallId`, `hostname`, `id`, `initialPassword`, `initialUser`, `networkId`, `notes`, `privateIp`, `pseudoIp`, `publicIp`, `ramMb`, `region`, `reverseDns`, `script`, `size`, `sshkeyId`, `status`, `tags`, `template`. */ key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as substrings to find within the string field. */ matchBy?: string; /** * Only retrieves `instances` which keys has value that matches one of the values provided here */ values: string[]; } export interface GetInstancesInstance { /** * CPU of the instance */ cpuCores: number; /** * Creation date of the instance */ createdAt: string; /** * SSD size of the instance */ diskGb: number; /** * Firewall ID of the instance */ firewallId: string; /** * Hostname of the instance */ hostname: string; /** * ID of the instance */ id: string; /** * Initial password of the instance */ initialPassword: string; /** * Initial user of the instance */ initialUser: string; /** * Network id of the instance */ networkId: string; /** * Note of the instance */ notes: string; /** * Private IP of the instance */ privateIp: string; /** * Pseudo IP of the instance */ pseudoIp: string; /** * Public IP of the instance */ publicIp: string; /** * RAM of the instance */ ramMb: number; /** * Region of the instance */ region: string; /** * Reverse DNS of the instance */ reverseDns: string; /** * Script of the instance */ script: string; /** * Size of the instance */ size: string; /** * SSH key id of the instance */ sshkeyId: string; /** * Status of the instance */ status: string; /** * Tags of the instance */ tags: string[]; /** * Disk image/template of the instance */ template: string; } export interface GetInstancesSort { /** * The sort direction. This may be either `asc` or `desc`. */ direction?: string; /** * Sort instances by this key. This may be one of `cpuCores`, `createdAt`, `diskGb`, `firewallId`, `hostname`, `id`, `initialPassword`, `initialUser`, `networkId`, `notes`, `privateIp`, `pseudoIp`, `publicIp`, `ramMb`, `region`, `reverseDns`, `script`, `size`, `sshkeyId`, `status`, `template`. */ key: string; } export interface GetKubernetesClusterInstalledApplication { /** * The name of the application */ application: string; /** * The category of the application */ category: string; /** * If the application is installed, this will return `true` */ installed: boolean; /** * The version of the application */ version: string; } export interface GetKubernetesClusterPool { /** * Instance names in the nodepool */ instanceNames: string[]; /** * Node pool label, if you don't provide one, we will generate one for you */ label: string; labels?: { [key: string]: string; }; /** * Number of nodes in the nodepool */ nodeCount: number; /** * Node pool belongs to the public ip node pool */ publicIpNodePool: boolean; /** * Size of the nodes in the nodepool */ size: string; taints?: outputs.GetKubernetesClusterPoolTaint[]; } export interface GetKubernetesClusterPoolTaint { effect: string; key: string; value: string; } export interface GetKubernetesVersionFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure that all of the `values` are present in the list or set. */ all?: boolean; /** * Filter versions by this key. This may be one of `default`, `label`, `type`, `version`. */ key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as substrings to find within the string field. */ matchBy?: string; /** * Only retrieves `versions` which keys has value that matches one of the values provided here */ values: string[]; } export interface GetKubernetesVersionSort { /** * The sort direction. This may be either `asc` or `desc`. */ direction?: string; /** * Sort versions by this key. This may be one of `default`, `label`, `type`, `version`. */ key: string; } export interface GetKubernetesVersionVersion { /** * If is the default version used in all cluster, this will return `true` */ default: boolean; /** * The label of this version */ label: string; /** * The type of the cluster, can be `talos` or `k3s` */ type: string; /** * A version of the Kubernetes */ version: string; } export interface GetLoadBalancerBackend { /** * The health check port of the backend */ healthCheckPort: number; /** * The ip of the backend */ ip: string; /** * The protocol of the backend */ protocol: string; /** * The source port of the backend */ sourcePort: number; /** * The target port of the backend */ targetPort: number; } export interface GetRegionFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure that all of the `values` are present in the list or set. */ all?: boolean; /** * Filter regions by this key. This may be one of `code`, `country`, `default`, `name`. */ key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as substrings to find within the string field. */ matchBy?: string; /** * Only retrieves `regions` which keys has value that matches one of the values provided here */ values: string[]; } export interface GetRegionRegion { /** * The code of the region */ code: string; /** * The country of the region */ country: string; /** * If the region is the default region, this will return `true` */ default: boolean; /** * A human name of the region */ name: string; } export interface GetRegionSort { /** * The sort direction. This may be either `asc` or `desc`. */ direction?: string; /** * Sort regions by this key. This may be one of `code`, `country`, `default`, `name`. */ key: string; } export interface GetSizeFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure that all of the `values` are present in the list or set. */ all?: boolean; /** * Filter sizes by this key. This may be one of `cpu`, `description`, `disk`, `gpuType`, `gpu`, `name`, `ram`, `selectable`, `type`. */ key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as substrings to find within the string field. */ matchBy?: string; /** * Only retrieves `sizes` which keys has value that matches one of the values provided here */ values: string[]; } export interface GetSizeSize { /** * Total of CPU */ cpu: number; /** * A description of the instance size */ description: string; /** * The size of SSD */ disk: number; /** * Total of GPU */ gpu: number; /** * GPU type */ gpuType: string; /** * The name of the size */ name: string; /** * Total of RAM */ ram: number; /** * If can use the instance size */ selectable: boolean; /** * A human name of the size */ type: string; } export interface GetSizeSort { /** * The sort direction. This may be either `asc` or `desc`. */ direction?: string; /** * Sort sizes by this key. This may be one of `cpu`, `description`, `disk`, `gpuType`, `gpu`, `name`, `ram`, `selectable`, `type`. */ key: string; } export interface KubernetesClusterInstalledApplication { /** * (String) name of the application */ application: string; /** * (String) category of the application */ category: string; /** * (Boolean) whether application is installed or not */ installed: boolean; /** * (String) version of the application */ version: string; } export interface KubernetesClusterPools { /** * Instance names in the nodepool */ instanceNames: string[]; /** * Node pool label, if you don't provide one, we will generate one for you */ label: string; labels?: { [key: string]: string; }; /** * Number of nodes in the nodepool */ nodeCount: number; /** * Node pool belongs to the public ip node pool */ publicIpNodePool: boolean; /** * Size of the nodes in the nodepool */ size: string; /** * (see below for nested schema) * * Read-Only Output: */ taints?: outputs.KubernetesClusterPoolsTaint[]; } export interface KubernetesClusterPoolsTaint { effect: string; key: string; value: string; } export interface KubernetesNodePoolTaint { effect: string; key: string; value: string; }