UNPKG

@upcloud/pulumi-upcloud

Version:

A Pulumi package for creating and managing UpCloud resources.

1,695 lines 119 kB
import * as outputs from "../types/output"; export interface GatewayAddress { /** * IP addresss */ address: string; /** * Name of the IP address */ name: string; } export interface GatewayConnectionLocalRoute { /** * Name of the route */ name: string; /** * Destination prefix of the route; needs to be a valid IPv4 prefix */ staticNetwork: string; /** * Type of route; currently the only supported type is 'static' */ type?: string; } export interface GatewayConnectionRemoteRoute { /** * Name of the route */ name: string; /** * Destination prefix of the route; needs to be a valid IPv4 prefix */ staticNetwork: string; /** * Type of route; currently the only supported type is 'static' */ type?: string; } export interface GatewayConnectionTunnelIpsecAuthPsk { /** * The pre-shared key. This value is only used during resource creation and is not returned in the state. It is not possible to update this value. If you need to update it, delete the connection and create a new one. */ psk: string; } export interface GatewayConnectionTunnelIpsecProperties { /** * IKE child SA rekey time in seconds. */ childRekeyTime: number; /** * Delay before sending Dead Peer Detection packets if no traffic is detected, in seconds. */ dpdDelay: number; /** * Timeout period for DPD reply before considering the peer to be dead, in seconds. */ dpdTimeout: number; /** * Maximum IKE SA lifetime in seconds. */ ikeLifetime: number; /** * List of Phase 1: Proposal algorithms. */ phase1Algorithms: string[]; /** * List of Phase 1 Diffie-Hellman group numbers. */ phase1DhGroupNumbers: number[]; /** * List of Phase 1 integrity algorithms. */ phase1IntegrityAlgorithms: string[]; /** * List of Phase 2: Security Association algorithms. */ phase2Algorithms: string[]; /** * List of Phase 2 Diffie-Hellman group numbers. */ phase2DhGroupNumbers: number[]; /** * List of Phase 2 integrity algorithms. */ phase2IntegrityAlgorithms: string[]; /** * IKE SA rekey time in seconds. */ rekeyTime: number; } export interface GatewayRouter { /** * ID of the router attached to the gateway. */ id: string; } export interface GetHostsHost { /** * Free form text describing the host */ description: string; /** * The unique id of the host */ hostId: number; statistics?: outputs.GetHostsHostStatistic[]; /** * If true, this node can be used as a host for Windows servers. */ windowsEnabled: boolean; /** * The zone the host is in, e.g. `de-fra1`. You can list available zones with `upctl zone list`. */ zone: string; } export interface GetHostsHostStatistic { /** * The name of the statistic */ name: string; /** * The timestamp of the statistic */ timestamp: string; /** * The value of the statistic */ value: number; } export interface GetIpAddressesAddress { /** * Is address for utility or public network */ access: string; /** * An UpCloud assigned IP Address */ address: string; /** * IP address family */ family: string; /** * Does the IP Address represents a floating IP Address */ floating: boolean; /** * MAC address of server interface to assign address to */ mac: string; /** * Is the address a part of a plan */ partOfPlan: boolean; /** * A reverse DNS record entry */ ptrRecord: string; /** * The unique identifier for a server */ server: string; /** * Zone of address, required when assigning a detached floating IP address, e.g. `de-fra1`. You can list available zones with `upctl zone list`. */ zone: string; } export interface GetManagedDatabaseMysqlSessionsSession { /** * Name of the application that is connected to this service. */ applicationName: string; /** * IP address of the client connected to this service. */ clientAddr: string; /** * Name of the database this service is connected to. */ datname: string; /** * Process ID of this service. */ id: string; /** * Text of this service's most recent query. If state is active this field shows the currently executing query. In all other states, it shows an empty string. */ query: string; /** * The active query current duration. */ queryDuration: string; /** * Current overall state of this service: active: The service is executing a query, idle: The service is waiting for a new client command. */ state: string; /** * Name of the user logged into this service. */ usename: string; } export interface GetManagedDatabaseOpensearchIndicesIndex { /** * Timestamp indicating the creation time of the index. */ createTime: string; /** * Number of documents stored in the index. */ docs: number; /** * Health status of the index e.g. `green`, `yellow`, or `red`. */ health: string; /** * Name of the index. */ indexName: string; /** * Number of replicas configured for the index. */ numberOfReplicas: number; /** * Number of shards configured & used by the index. */ numberOfShards: number; /** * Indicates whether the index is in a read-only state that permits deletion of the entire index. This attribute can be automatically set to true in certain scenarios where the node disk space exceeds the flood stage. */ readOnlyAllowDelete: boolean; /** * Size of the index in bytes. */ size: number; /** * Status of the index e.g. `open` or `closed`. */ status: string; } export interface GetManagedDatabasePostgresqlSessionsSession { /** * Name of the application that is connected to this service. */ applicationName: string; /** * Time when this process was started, i.e., when the client connected to the server. */ backendStart: string; /** * Type of current service. */ backendType: string; /** * Top-level transaction identifier of this service, if any. */ backendXid: number; /** * The current service's xmin horizon. */ backendXmin: number; /** * IP address of the client connected to this service. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum. */ clientAddr: string; /** * Host name of the connected client, as reported by a reverse DNS lookup of `clientAddr`. */ clientHostname: string; /** * TCP port number that the client is using for communication with this service, or -1 if a Unix socket is used. */ clientPort: number; /** * OID of the database this service is connected to. */ datid: number; /** * Name of the database this service is connected to. */ datname: string; /** * Process ID of this service. */ id: string; /** * Text of this service's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. */ query: string; /** * The active query current duration. */ queryDuration: string; /** * Time when the currently active query was started, or if state is not active, when the last query was started. */ queryStart: string; /** * Current overall state of this service: active: The service is executing a query, idle: The service is waiting for a new client command. */ state: string; /** * Time when the state was last changed. */ stateChange: string; /** * Name of the user logged into this service. */ usename: string; /** * OID of the user logged into this service. */ usesysid: number; /** * Wait event name if service is currently waiting. */ waitEvent: string; /** * The type of event for which the service is waiting, if any; otherwise NULL. */ waitEventType: string; /** * Time when this process' current transaction was started, or null if no transaction is active. */ xactStart: string; } export interface GetManagedDatabaseRedisSessionsSession { /** * Number of active channel subscriptions */ activeChannelSubscriptions: number; /** * Current database ID */ activeDatabase: string; /** * Number of pattern matching subscriptions. */ activePatternMatchingChannelSubscriptions: number; /** * Name of the application that is connected to this service. */ applicationName: string; /** * Number of pattern matching subscriptions. */ clientAddr: string; /** * Total duration of the connection in nanoseconds. */ connectionAge: number; /** * Idle time of the connection in nanoseconds. */ connectionIdle: number; /** * A set containing flags' descriptions. */ flags: string[]; /** * Client connection flags in raw string format. */ flagsRaw: string; /** * Process ID of this session. */ id: string; /** * Number of commands in a MULTI/EXEC context. */ multiExecCommands: number; /** * Output buffer length. */ outputBuffer: number; /** * Output buffer memory usage. */ outputBufferMemory: number; /** * Output list length (replies are queued in this list when the buffer is full). */ outputListLength: number; /** * The last executed command. */ query: string; /** * Query buffer length (0 means no query pending). */ queryBuffer: number; /** * Free space of the query buffer (0 means the buffer is full). */ queryBufferFree: number; } export interface GetManagedDatabaseValkeySessionsSession { /** * Number of active channel subscriptions */ activeChannelSubscriptions: number; /** * Current database ID */ activeDatabase: string; /** * Number of pattern matching subscriptions. */ activePatternMatchingChannelSubscriptions: number; /** * Name of the application that is connected to this service. */ applicationName: string; /** * Number of pattern matching subscriptions. */ clientAddr: string; /** * Total duration of the connection in nanoseconds. */ connectionAge: number; /** * Idle time of the connection in nanoseconds. */ connectionIdle: number; /** * A set containing flags' descriptions. */ flags: string[]; /** * Client connection flags in raw string format. */ flagsRaw: string; /** * Process ID of this session. */ id: string; /** * Number of commands in a MULTI/EXEC context. */ multiExecCommands: number; /** * Output buffer length. */ outputBuffer: number; /** * Output buffer memory usage. */ outputBufferMemory: number; /** * Output list length (replies are queued in this list when the buffer is full). */ outputListLength: number; /** * The last executed command. */ query: string; /** * Query buffer length (0 means no query pending). */ queryBuffer: number; /** * Free space of the query buffer (0 means the buffer is full). */ queryBufferFree: number; } export interface GetManagedObjectStoragePoliciesPolicy { /** * Policy ARN. */ arn: string; /** * Attachment count. */ attachmentCount: number; /** * Creation time. */ createdAt: string; /** * Default version id. */ defaultVersionId: string; /** * Description of the policy. */ description?: string; /** * Policy document, URL-encoded compliant with RFC 3986. */ document: string; /** * Policy name. */ name: string; /** * Managed Object Storage service UUID. */ serviceUuid: string; /** * Defines whether the policy was set up by the system. */ system: boolean; /** * Update time. */ updatedAt: string; } export interface GetManagedObjectStorageRegionsRegion { /** * Name of the region. */ name: string; /** * Primary zone of the region. */ primaryZone: string; /** * List of zones in the region. */ zones: string[]; } export interface GetNetworksNetwork { /** * The UUID of the network */ id: string; /** * A list of IP subnets within the network */ ipNetworks: outputs.GetNetworksNetworkIpNetwork[]; /** * A valid name for the network */ name: string; /** * A list of attached servers */ servers: outputs.GetNetworksNetworkServer[]; /** * The network type */ type: string; /** * The zone the network is in, e.g. `de-fra1`. You can list available zones with `upctl zone list`. */ zone: string; } export interface GetNetworksNetworkIpNetwork { /** * The CIDR range of the subnet */ address: string; /** * Is DHCP enabled? */ dhcp: boolean; /** * Is the gateway the DHCP default route? */ dhcpDefaultRoute: boolean; /** * The DNS servers given by DHCP */ dhcpDns: string[]; /** * The additional DHCP classless static routes given by DHCP */ dhcpRoutes: string[]; /** * IP address family */ family: string; /** * Gateway address given by DHCP */ gateway: string; } export interface GetNetworksNetworkServer { /** * The UUID of the server */ id: string; /** * The short description of the server */ title: string; } export interface GetTagsTag { /** * Free form text representing the meaning of the tag */ description: string; /** * The value representing the tag */ name: string; /** * A collection of servers that have been assigned the tag */ servers: string[]; } export interface KubernetesNodeGroupCustomPlan { /** * The number of CPU cores dedicated to individual node group nodes when using custom plan */ cores: number; /** * The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024. */ memory: number; /** * The size of the storage device in gigabytes. */ storageSize: number; /** * The storage tier to use. Defaults to maxiops */ storageTier: string; } export interface KubernetesNodeGroupKubeletArg { /** * Kubelet argument key. */ key: string; /** * Kubelet argument value. */ value: string; } export interface KubernetesNodeGroupTaint { /** * Taint effect. */ effect: string; /** * Taint key. */ key: string; /** * Taint value. */ value: string; } export interface LoadbalancerBackendProperties { /** * Expected HTTP status code returned by the customer application to mark server as healthy. Ignored for `tcp` `healthCheckType`. */ healthCheckExpectedStatus: number; /** * Sets how many failed health checks are allowed until the backend member is taken off from the rotation. */ healthCheckFall: number; /** * Interval between health checks in seconds. */ healthCheckInterval: number; /** * Sets how many successful health checks are required to put the backend member back into rotation. */ healthCheckRise: number; /** * Enables certificate verification with the system CA certificate bundle. Works with https scheme in health_check_url, otherwise ignored. */ healthCheckTlsVerify: boolean; /** * Health check type. */ healthCheckType: string; /** * Target path for health check HTTP GET requests. Ignored for `tcp` `healthCheckType`. */ healthCheckUrl: string; /** * Allow HTTP/2 connections to backend members by utilizing ALPN extension of TLS protocol, therefore it can only be enabled when tlsEnabled is set to true. Note: members should support HTTP/2 for this setting to work. */ http2Enabled: boolean; /** * Enable outbound proxy protocol by setting the desired version. Defaults to empty string. Empty string disables proxy protocol. */ outboundProxyProtocol: string; /** * Sets sticky session cookie name. Empty string disables sticky session. */ stickySessionCookieName: string; /** * Backend server timeout in seconds. */ timeoutServer: number; /** * Maximum inactivity time on the client and server side for tunnels in seconds. */ timeoutTunnel: number; /** * Enables TLS connection from the load balancer to backend servers. */ tlsEnabled: boolean; /** * If enabled, then the system CA certificate bundle will be used for the certificate verification. */ tlsUseSystemCa: boolean; /** * Enables backend servers certificate verification. Please make sure that TLS config with the certificate bundle of type authority attached to the backend or `tlsUseSystemCa` enabled. Note: `tlsVerify` has preference over `healthCheckTlsVerify` when `tlsEnabled` in true. */ tlsVerify: boolean; } export interface LoadbalancerFrontendNetwork { /** * Name of the load balancer network. */ name: string; } export interface LoadbalancerFrontendProperties { /** * Enable or disable HTTP/2 support. */ http2Enabled: boolean; /** * Enable or disable inbound proxy protocol support. */ inboundProxyProtocol: boolean; /** * Client request timeout in seconds. */ timeoutClient: number; } export interface LoadbalancerFrontendRuleActions { /** * Redirects HTTP requests to specified location or URL scheme. Only either location or scheme can be defined at a time. */ httpRedirects?: outputs.LoadbalancerFrontendRuleActionsHttpRedirect[]; /** * Returns HTTP response with specified HTTP status. */ httpReturns?: outputs.LoadbalancerFrontendRuleActionsHttpReturn[]; /** * Adds 'X-Forwarded-For / -Proto / -Port' headers in your forwarded requests */ setForwardedHeaders?: outputs.LoadbalancerFrontendRuleActionsSetForwardedHeader[]; /** * Set request header */ setRequestHeaders?: outputs.LoadbalancerFrontendRuleActionsSetRequestHeader[]; /** * Set response header */ setResponseHeaders?: outputs.LoadbalancerFrontendRuleActionsSetResponseHeader[]; /** * Terminates a connection. */ tcpRejects?: outputs.LoadbalancerFrontendRuleActionsTcpReject[]; /** * Routes traffic to specified `backend`. */ useBackends?: outputs.LoadbalancerFrontendRuleActionsUseBackend[]; } export interface LoadbalancerFrontendRuleActionsHttpRedirect { /** * Target location. */ location?: string; /** * Target scheme. */ scheme?: string; /** * HTTP status code. */ status: number; } export interface LoadbalancerFrontendRuleActionsHttpReturn { /** * Content type. */ contentType: string; /** * The payload. */ payload: string; /** * HTTP status code. */ status: number; } export interface LoadbalancerFrontendRuleActionsSetForwardedHeader { active: boolean; } export interface LoadbalancerFrontendRuleActionsSetRequestHeader { /** * Header name. */ header: string; /** * Header value. */ value?: string; } export interface LoadbalancerFrontendRuleActionsSetResponseHeader { /** * Header name. */ header: string; /** * Header value. */ value?: string; } export interface LoadbalancerFrontendRuleActionsTcpReject { /** * Indicates if the rule is active. */ active: boolean; } export interface LoadbalancerFrontendRuleActionsUseBackend { /** * The name of the backend where traffic will be routed. */ backendName: string; } export interface LoadbalancerFrontendRuleMatchers { /** * Matches by range of HTTP request body sizes. */ bodySizeRanges?: outputs.LoadbalancerFrontendRuleMatchersBodySizeRange[]; /** * Matches by HTTP request body size. */ bodySizes?: outputs.LoadbalancerFrontendRuleMatchersBodySize[]; /** * Matches by HTTP cookie value. Cookie name must be provided. */ cookies?: outputs.LoadbalancerFrontendRuleMatchersCookie[]; /** * Matches by HTTP header value. Header name must be provided. * * @deprecated Use `requestHeader` instead. */ headers?: outputs.LoadbalancerFrontendRuleMatchersHeader[]; /** * Matches by hostname. Header extracted from HTTP Headers or from TLS certificate in case of secured connection. */ hosts?: outputs.LoadbalancerFrontendRuleMatchersHost[]; /** * Matches by HTTP method. */ httpMethods?: outputs.LoadbalancerFrontendRuleMatchersHttpMethod[]; /** * Matches by range of HTTP statuses. */ httpStatusRanges?: outputs.LoadbalancerFrontendRuleMatchersHttpStatusRange[]; /** * Matches by HTTP status. */ httpStatuses?: outputs.LoadbalancerFrontendRuleMatchersHttpStatus[]; /** * Matches by number of healthy backend members. */ numMembersUps?: outputs.LoadbalancerFrontendRuleMatchersNumMembersUp[]; /** * Matches by URL path. */ paths?: outputs.LoadbalancerFrontendRuleMatchersPath[]; /** * Matches by HTTP request header value. Header name must be provided. */ requestHeaders?: outputs.LoadbalancerFrontendRuleMatchersRequestHeader[]; /** * Matches by HTTP response header value. Header name must be provided. */ responseHeaders?: outputs.LoadbalancerFrontendRuleMatchersResponseHeader[]; /** * Matches by source IP address. */ srcIps?: outputs.LoadbalancerFrontendRuleMatchersSrcIp[]; /** * Matches by range of source port numbers. */ srcPortRanges?: outputs.LoadbalancerFrontendRuleMatchersSrcPortRange[]; /** * Matches by source port number. */ srcPorts?: outputs.LoadbalancerFrontendRuleMatchersSrcPort[]; /** * Matches by URL query parameter value. Query parameter name must be provided */ urlParams?: outputs.LoadbalancerFrontendRuleMatchersUrlParam[]; /** * Matches by URL query string. */ urlQueries?: outputs.LoadbalancerFrontendRuleMatchersUrlQuery[]; /** * Matches by URL without schema, e.g. `example.com/dashboard`. */ urls?: outputs.LoadbalancerFrontendRuleMatchersUrl[]; } export interface LoadbalancerFrontendRuleMatchersBodySize { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`equal`, `greater`, `greaterOrEqual`, `less`, `lessOrEqual`). */ method: string; /** * Integer value. */ value: number; } export interface LoadbalancerFrontendRuleMatchersBodySizeRange { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Integer value. */ rangeEnd: number; /** * Integer value. */ rangeStart: number; } export interface LoadbalancerFrontendRuleMatchersCookie { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * Name of the argument. */ name: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersHeader { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * Name of the argument. */ name: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersHost { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * String value. */ value: string; } export interface LoadbalancerFrontendRuleMatchersHttpMethod { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * String value (`GET`, `HEAD`, `POST`, `PUT`, `PATCH`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`). */ value: string; } export interface LoadbalancerFrontendRuleMatchersHttpStatus { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`equal`, `greater`, `greaterOrEqual`, `less`, `lessOrEqual`). */ method: string; /** * Integer value. */ value: number; } export interface LoadbalancerFrontendRuleMatchersHttpStatusRange { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Integer value. */ rangeEnd: number; /** * Integer value. */ rangeStart: number; } export interface LoadbalancerFrontendRuleMatchersNumMembersUp { /** * The name of the `backend`. */ backendName: string; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`equal`, `greater`, `greaterOrEqual`, `less`, `lessOrEqual`). */ method: string; /** * Integer value. */ value: number; } export interface LoadbalancerFrontendRuleMatchersPath { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersRequestHeader { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * Name of the argument. */ name: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersResponseHeader { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * Name of the argument. */ name: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersSrcIp { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * IP address. CIDR masks are supported, e.g. `192.168.0.0/24`. */ value: string; } export interface LoadbalancerFrontendRuleMatchersSrcPort { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`equal`, `greater`, `greaterOrEqual`, `less`, `lessOrEqual`). */ method: string; /** * Integer value. */ value: number; } export interface LoadbalancerFrontendRuleMatchersSrcPortRange { /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Integer value. */ rangeEnd: number; /** * Integer value. */ rangeStart: number; } export interface LoadbalancerFrontendRuleMatchersUrl { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersUrlParam { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * Name of the argument. */ name: string; /** * String value. */ value?: string; } export interface LoadbalancerFrontendRuleMatchersUrlQuery { /** * Defines if case should be ignored. Defaults to `false`. */ ignoreCase: boolean; /** * Defines if the condition should be inverted. Works similarly to logical NOT operator. */ inverse: boolean; /** * Match method (`exact`, `substring`, `regexp`, `starts`, `ends`, `domain`, `ip`, `exists`). Matcher with `exists` and `ip` methods must be used without `value` and `ignoreCase` fields. */ method: string; /** * String value. */ value?: string; } export interface LoadbalancerNetwork { /** * DNS name of the load balancer network */ dnsName: string; /** * Network family. Currently only `IPv4` is supported. */ family: string; /** * The unique identifier of the network. */ id: string; /** * The name of the network. Must be unique within the service. */ name: string; /** * Private network UUID. Required for private networks and must reside in loadbalancer zone. For public network the field should be omitted. */ network?: string; /** * The type of the network. Only one public network can be attached and at least one private network must be attached. */ type: string; } export interface LoadbalancerNode { /** * Networks attached to the node */ networks: outputs.LoadbalancerNodeNetwork[]; /** * Node's operational state. Managed by the system. */ operationalState: string; } export interface LoadbalancerNodeNetwork { /** * IP addresses attached to the network */ ipAddresses: outputs.LoadbalancerNodeNetworkIpAddress[]; /** * The name of the network */ name: string; /** * The type of the network */ type: string; } export interface LoadbalancerNodeNetworkIpAddress { /** * Node's IP address */ address: string; /** * Whether the node listens to the traffic */ listen: boolean; } export interface ManagedDatabaseMysqlComponent { /** * Type of the component */ component: string; /** * Hostname of the component */ host: string; /** * Port number of the component */ port: number; /** * Component network route type */ route: string; /** * Usage of the component */ usage: string; } export interface ManagedDatabaseMysqlNetwork { /** * Network family. Currently only `IPv4` is supported. */ family: string; /** * The name of the network. Must be unique within the service. */ name: string; /** * The type of the network. Must be private. */ type: string; /** * Private network UUID. Must reside in the same zone as the database. */ uuid: string; } export interface ManagedDatabaseMysqlNodeState { /** * Name plus a node iteration */ name: string; /** * Role of the node */ role: string; /** * State of the node */ state: string; } export interface ManagedDatabaseMysqlProperties { /** * Custom password for admin user. Defaults to random string. This must be set only when a new service is being created. */ adminPassword: string; /** * Custom username for admin user. This must be set only when a new service is being created. */ adminUsername: string; /** * Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone. */ automaticUtilityNetworkIpFilter?: boolean; /** * The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. */ backupHour: number; /** * The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. */ backupMinute: number; /** * The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector. */ binlogRetentionPeriod: number; /** * The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake. */ connectTimeout: number; /** * Default server time zone as an offset from UTC (from -12:00 to +12:00), a time zone name, or 'SYSTEM' to use the MySQL server default. */ defaultTimeZone: string; /** * The maximum permitted result length in bytes for the GROUP_CONCAT() function. */ groupConcatMaxLen: number; /** * The time, in seconds, before cached statistics expire. */ informationSchemaStatsExpiry: number; /** * Maximum size for the InnoDB change buffer, as a percentage of the total size of the buffer pool. Default is 25. */ innodbChangeBufferMaxSize: number; /** * Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent (default is 1): 0 - dirty pages in the same extent are not flushed, 1 - flush contiguous dirty pages in the same extent, 2 - flush dirty pages in the same extent. */ innodbFlushNeighbors: number; /** * Minimum length of words that are stored in an InnoDB FULLTEXT index. Changing this parameter will lead to a restart of the MySQL service. */ innodbFtMinTokenSize: number; /** * This option is used to specify your own InnoDB FULLTEXT index stopword list for all InnoDB tables. */ innodbFtServerStopwordTable: string; /** * The length of time in seconds an InnoDB transaction waits for a row lock before giving up. Default is 120. */ innodbLockWaitTimeout: number; /** * The size in bytes of the buffer that InnoDB uses to write to the log files on disk. */ innodbLogBufferSize: number; /** * The upper limit in bytes on the size of the temporary log files used during online DDL operations for InnoDB tables. */ innodbOnlineAlterLogMaxSize: number; /** * When enabled, information about all deadlocks in InnoDB user transactions is recorded in the error log. Disabled by default. */ innodbPrintAllDeadlocks: boolean; /** * The number of I/O threads for read operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. */ innodbReadIoThreads: number; /** * When enabled a transaction timeout causes InnoDB to abort and roll back the entire transaction. Changing this parameter will lead to a restart of the MySQL service. */ innodbRollbackOnTimeout: boolean; /** * Defines the maximum number of threads permitted inside of InnoDB. Default is 0 (infinite concurrency - no limit). */ innodbThreadConcurrency: number; /** * The number of I/O threads for write operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. */ innodbWriteIoThreads: number; /** * The number of seconds the server waits for activity on an interactive connection before closing it. */ interactiveTimeout: number; /** * The storage engine for in-memory internal temporary tables. */ internalTmpMemStorageEngine: string; /** * IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. */ ipFilters: string[]; /** * The slow log output destination when slowQueryLog is ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow_log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log table, choose TABLE. To silence slow logs, choose NONE. */ logOutput: string; /** * The slowQueryLogs work as SQL statements that take more than longQueryTime seconds to execute. */ longQueryTime: number; /** * Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M). */ maxAllowedPacket: number; /** * Limits the size of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M). */ maxHeapTableSize: number; /** * Migrate data from existing server. */ migration: outputs.ManagedDatabaseMysqlPropertiesMigration; /** * Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service. */ netBufferLength: number; /** * The number of seconds to wait for more data from a connection before aborting the read. */ netReadTimeout: number; /** * The number of seconds to wait for a block to be written to a connection before aborting the write. */ netWriteTimeout: number; /** * Public Access. Allow access to the service from the public Internet. */ publicAccess?: boolean; /** * Service logging. Store logs for the service so that they are available in the HTTP API and console. */ serviceLog: boolean; /** * Slow query log enables capturing of slow queries. Setting slowQueryLog to false also truncates the mysql.slow_log table. */ slowQueryLog: boolean; /** * Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K). */ sortBufferSize: number; /** * Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned. */ sqlMode?: string; /** * Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. */ sqlRequirePrimaryKey: boolean; /** * Limits the size of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). */ tmpTableSize: number; /** * MySQL major version. */ version: string; /** * The number of seconds the server waits for activity on a noninteractive connection before closing it. */ waitTimeout: number; } export interface ManagedDatabaseMysqlPropertiesMigration { /** * Database name for bootstrapping the initial connection. */ dbname: string; /** * Hostname or IP address of the server where to migrate data from. */ host: string; /** * Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). */ ignoreDbs: string; /** * Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). */ ignoreRoles: string; /** * The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types). */ method: string; /** * Password for authentication with the server where to migrate data from. */ password: string; /** * Port number of the server where to migrate data from. */ port: number; /** * The server where to migrate data from is secured with SSL. */ ssl: boolean; /** * User name for authentication with the server where to migrate data from. */ username: string; } export interface ManagedDatabaseOpensearchComponent { /** * Type of the component */ component: string; /** * Hostname of the component */ host: string; /** * Port number of the component */ port: number; /** * Component network route type */ route: string; /** * Usage of the component */ usage: string; } export interface ManagedDatabaseOpensearchNetwork { /** * Network family. Currently only `IPv4` is supported. */ family: string; /** * The name of the network. Must be unique within the service. */ name: string; /** * The type of the network. Must be private. */ type: string; /** * Private network UUID. Must reside in the same zone as the database. */ uuid: string; } export interface ManagedDatabaseOpensearchNodeState { /** * Name plus a node iteration */ name: string; /** * Role of the node */ role: string; /** * State of the node */ state: string; } export interface ManagedDatabaseOpensearchProperties { /** * action.auto_create_index. Explicitly allow or block automatic creation of indices. Defaults to true. */ actionAutoCreateIndexEnabled: boolean; /** * Require explicit index names when deleting. */ actionDestructiveRequiresName: boolean; /** * Opensearch Security Plugin Settings. */ authFailureListeners: outputs.ManagedDatabaseOpensearchPropertiesAuthFailureListeners; /** * Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone. */ automaticUtilityNetworkIpFilter?: boolean; /** * Controls the number of shards allowed in the cluster per data node. */ clusterMaxShardsPerNode: number; /** * When set to true, OpenSearch attempts to evenly distribute the primary shards between the cluster nodes. Enabling this setting does not always guarantee an equal number of primary shards on each node, especially in the event of a failover. Changing this setting to false after it was set to true does not invoke redistribution of primary shards. Default is false. */ clusterRoutingAllocationBalancePreferPrimary?: boolean; /** * Concurrent incoming/outgoing shard recoveries per node. How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2. */ clusterRoutingAllocationNodeConcurrentRecoveries: number; clusterSearchRequestSlowlog: outputs.ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog; /** * Custom domain. Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. */ customDomain: string; /** * Watermark settings. */ diskWatermarks: outputs.ManagedDatabaseOpensearchPropertiesDiskWatermarks; /** * Elasticsearch major version. */ elasticsearchVersion: string; /** * Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore. This should be identical to the Sender name defined in Opensearch dashboards. */ emailSenderName: string; /** * Sender password for Opensearch alerts to authenticate with SMTP server. Sender password for Opensearch alerts to authenticate with SMTP server. */ emailSenderPassword: string; /** * Sender username for Opensearch alerts. */ emailSenderUsername: string; /** * Enable remote-backed storage. */ enableRemoteBackedStorage: boolean; /** * Enable/Disable security audit. */ enableSecurityAudit: boolean; /** * Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes. */ httpMaxContentLength: number; /** * The max size of allowed headers, in bytes. */ httpMaxHeaderSize: number; /** * The max length of an HTTP URL, in bytes. */ httpMaxInitialLineLength: number; /** * Index patterns. */ indexPatterns: string[]; /** * Index rollup settings. */ indexRollup: outputs.ManagedDatabaseOpensearchPropertiesIndexRollup; /** * Template settings for all new indexes. */ indexTemplate: outputs.ManagedDatabaseOpensearchPropertiesIndexTemplate; /** * Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations. */ indicesFielddataCacheSize: number; /** * Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance. */ indicesMemoryIndexBufferSize: number; /** * Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size. Maximum amount of heap used for query cache, an absolute indices.memory.index_buffer_size maximum hard limit. */ indicesMemoryMaxIndexBufferSize: number; /** * Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size. Minimum amount of heap used for query cache, an absolute indices.memory.index_buffer_size minimal hard limit. */ indicesMemoryMinIndexBufferSize: number; /** * Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality. */ indicesQueriesCacheSize: number; /** * Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value. */ indicesQueryBoolMaxClauseCount: number; /** * Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb. */ indicesRecoveryMaxBytesPerSec: number; /** * Number of file chunks sent in parallel for each recovery. Defaults to 2. */ indicesRecoveryMaxConcurrentFileChunks: number; /** * IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. */ ipFilters: string[]; /** * Specifies whether ISM is enabled or not. */ ismEnabled: boolean; /** * Specifies whether audit history is enabled or not. The logs from IS