import { APIResource } from "../../resource.js"; import * as Core from "../../core.js"; import * as HyperdriveAPI from "./hyperdrive.js"; import { HyperdrivesSinglePage } from "./hyperdrive.js"; export declare class Configs extends APIResource { /** * Creates and returns a new Hyperdrive configuration. * * @example * ```ts * const hyperdrive = await client.hyperdrive.configs.create({ * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * name: 'example-hyperdrive', * origin: { * database: 'postgres', * host: 'database.example.com', * password: 'password', * port: 5432, * scheme: 'postgres', * user: 'postgres', * }, * }); * ``` */ create(params: ConfigCreateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Updates and returns the specified Hyperdrive configuration. * * @example * ```ts * const hyperdrive = await client.hyperdrive.configs.update( * '023e105f4ecef8ad9ca31a8372d0c353', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * name: 'example-hyperdrive', * origin: { * database: 'postgres', * host: 'database.example.com', * password: 'password', * port: 5432, * scheme: 'postgres', * user: 'postgres', * }, * }, * ); * ``` */ update(hyperdriveId: string, params: ConfigUpdateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Returns a list of Hyperdrives. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const hyperdrive of client.hyperdrive.configs.list( * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * )) { * // ... * } * ``` */ list(params: ConfigListParams, options?: Core.RequestOptions): Core.PagePromise; /** * Deletes the specified Hyperdrive. * * @example * ```ts * const config = await client.hyperdrive.configs.delete( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ delete(hyperdriveId: string, params: ConfigDeleteParams, options?: Core.RequestOptions): Core.APIPromise; /** * Patches and returns the specified Hyperdrive configuration. Custom caching * settings are not kept if caching is disabled. * * @example * ```ts * const hyperdrive = await client.hyperdrive.configs.edit( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ edit(hyperdriveId: string, params: ConfigEditParams, options?: Core.RequestOptions): Core.APIPromise; /** * Returns the specified Hyperdrive configuration. * * @example * ```ts * const hyperdrive = await client.hyperdrive.configs.get( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ get(hyperdriveId: string, params: ConfigGetParams, options?: Core.RequestOptions): Core.APIPromise; } export type ConfigDeleteResponse = unknown; export interface ConfigCreateParams { /** * Path param: Define configurations using a unique string identifier. */ account_id: string; /** * Body param: */ name: string; /** * Body param: */ origin: ConfigCreateParams.PublicDatabase | ConfigCreateParams.AccessProtectedDatabaseBehindCloudflareTunnel; /** * Body param: */ caching?: ConfigCreateParams.HyperdriveHyperdriveCachingCommon | ConfigCreateParams.HyperdriveHyperdriveCachingEnabled; /** * Body param: */ mtls?: ConfigCreateParams.MTLS; /** * Body param: The (soft) maximum number of connections the Hyperdrive is allowed * to make to the origin database. */ origin_connection_limit?: number; } export declare namespace ConfigCreateParams { interface PublicDatabase { /** * Set the name of your origin database. */ database: string; /** * Defines the host (hostname or IP) of your origin database. */ host: string; /** * Set the password needed to access your origin database. The API never returns * this write-only value. */ password: string; /** * Defines the port (default: 5432 for Postgres) of your origin database. */ port: number; /** * Specifies the URL scheme used to connect to your origin database. */ scheme: 'postgres' | 'postgresql' | 'mysql'; /** * Set the user of your origin database. */ user: string; } interface AccessProtectedDatabaseBehindCloudflareTunnel { /** * Defines the Client ID of the Access token to use when connecting to the origin * database. */ access_client_id: string; /** * Defines the Client Secret of the Access Token to use when connecting to the * origin database. The API never returns this write-only value. */ access_client_secret: string; /** * Set the name of your origin database. */ database: string; /** * Defines the host (hostname or IP) of your origin database. */ host: string; /** * Set the password needed to access your origin database. The API never returns * this write-only value. */ password: string; /** * Specifies the URL scheme used to connect to your origin database. */ scheme: 'postgres' | 'postgresql' | 'mysql'; /** * Set the user of your origin database. */ user: string; } interface HyperdriveHyperdriveCachingCommon { /** * Set to true to disable caching of SQL responses. Default is false. */ disabled?: boolean; } interface HyperdriveHyperdriveCachingEnabled { /** * Set to true to disable caching of SQL responses. Default is false. */ disabled?: boolean; /** * Specify the maximum duration items should persist in the cache. Not returned if * set to the default (60). */ max_age?: number; /** * Specify the number of seconds the cache may serve a stale response. Omitted if * set to the default (15). */ stale_while_revalidate?: number; } interface MTLS { /** * Define CA certificate ID obtained after uploading CA cert. */ ca_certificate_id?: string; /** * Define mTLS certificate ID obtained after uploading client cert. */ mtls_certificate_id?: string; /** * Set SSL mode to 'require', 'verify-ca', or 'verify-full' to verify the CA. */ sslmode?: string; } } export interface ConfigUpdateParams { /** * Path param: Define configurations using a unique string identifier. */ account_id: string; /** * Body param: */ name: string; /** * Body param: */ origin: ConfigUpdateParams.PublicDatabase | ConfigUpdateParams.AccessProtectedDatabaseBehindCloudflareTunnel; /** * Body param: */ caching?: ConfigUpdateParams.HyperdriveHyperdriveCachingCommon | ConfigUpdateParams.HyperdriveHyperdriveCachingEnabled; /** * Body param: */ mtls?: ConfigUpdateParams.MTLS; /** * Body param: The (soft) maximum number of connections the Hyperdrive is allowed * to make to the origin database. */ origin_connection_limit?: number; } export declare namespace ConfigUpdateParams { interface PublicDatabase { /** * Set the name of your origin database. */ database: string; /** * Defines the host (hostname or IP) of your origin database. */ host: string; /** * Set the password needed to access your origin database. The API never returns * this write-only value. */ password: string; /** * Defines the port (default: 5432 for Postgres) of your origin database. */ port: number; /** * Specifies the URL scheme used to connect to your origin database. */ scheme: 'postgres' | 'postgresql' | 'mysql'; /** * Set the user of your origin database. */ user: string; } interface AccessProtectedDatabaseBehindCloudflareTunnel { /** * Defines the Client ID of the Access token to use when connecting to the origin * database. */ access_client_id: string; /** * Defines the Client Secret of the Access Token to use when connecting to the * origin database. The API never returns this write-only value. */ access_client_secret: string; /** * Set the name of your origin database. */ database: string; /** * Defines the host (hostname or IP) of your origin database. */ host: string; /** * Set the password needed to access your origin database. The API never returns * this write-only value. */ password: string; /** * Specifies the URL scheme used to connect to your origin database. */ scheme: 'postgres' | 'postgresql' | 'mysql'; /** * Set the user of your origin database. */ user: string; } interface HyperdriveHyperdriveCachingCommon { /** * Set to true to disable caching of SQL responses. Default is false. */ disabled?: boolean; } interface HyperdriveHyperdriveCachingEnabled { /** * Set to true to disable caching of SQL responses. Default is false. */ disabled?: boolean; /** * Specify the maximum duration items should persist in the cache. Not returned if * set to the default (60). */ max_age?: number; /** * Specify the number of seconds the cache may serve a stale response. Omitted if * set to the default (15). */ stale_while_revalidate?: number; } interface MTLS { /** * Define CA certificate ID obtained after uploading CA cert. */ ca_certificate_id?: string; /** * Define mTLS certificate ID obtained after uploading client cert. */ mtls_certificate_id?: string; /** * Set SSL mode to 'require', 'verify-ca', or 'verify-full' to verify the CA. */ sslmode?: string; } } export interface ConfigListParams { /** * Define configurations using a unique string identifier. */ account_id: string; } export interface ConfigDeleteParams { /** * Define configurations using a unique string identifier. */ account_id: string; } export interface ConfigEditParams { /** * Path param: Define configurations using a unique string identifier. */ account_id: string; /** * Body param: */ caching?: ConfigEditParams.HyperdriveHyperdriveCachingCommon | ConfigEditParams.HyperdriveHyperdriveCachingEnabled; /** * Body param: */ mtls?: ConfigEditParams.MTLS; /** * Body param: */ name?: string; /** * Body param: */ origin?: ConfigEditParams.HyperdriveHyperdriveDatabase | ConfigEditParams.HyperdriveInternetOrigin | ConfigEditParams.HyperdriveOverAccessOrigin; /** * Body param: The (soft) maximum number of connections the Hyperdrive is allowed * to make to the origin database. */ origin_connection_limit?: number; } export declare namespace ConfigEditParams { interface HyperdriveHyperdriveCachingCommon { /** * Set to true to disable caching of SQL responses. Default is false. */ disabled?: boolean; } interface HyperdriveHyperdriveCachingEnabled { /** * Set to true to disable caching of SQL responses. Default is false. */ disabled?: boolean; /** * Specify the maximum duration items should persist in the cache. Not returned if * set to the default (60). */ max_age?: number; /** * Specify the number of seconds the cache may serve a stale response. Omitted if * set to the default (15). */ stale_while_revalidate?: number; } interface MTLS { /** * Define CA certificate ID obtained after uploading CA cert. */ ca_certificate_id?: string; /** * Define mTLS certificate ID obtained after uploading client cert. */ mtls_certificate_id?: string; /** * Set SSL mode to 'require', 'verify-ca', or 'verify-full' to verify the CA. */ sslmode?: string; } interface HyperdriveHyperdriveDatabase { /** * Set the name of your origin database. */ database?: string; /** * Set the password needed to access your origin database. The API never returns * this write-only value. */ password?: string; /** * Specifies the URL scheme used to connect to your origin database. */ scheme?: 'postgres' | 'postgresql' | 'mysql'; /** * Set the user of your origin database. */ user?: string; } interface HyperdriveInternetOrigin { /** * Defines the host (hostname or IP) of your origin database. */ host: string; /** * Defines the port (default: 5432 for Postgres) of your origin database. */ port: number; } interface HyperdriveOverAccessOrigin { /** * Defines the Client ID of the Access token to use when connecting to the origin * database. */ access_client_id: string; /** * Defines the Client Secret of the Access Token to use when connecting to the * origin database. The API never returns this write-only value. */ access_client_secret: string; /** * Defines the host (hostname or IP) of your origin database. */ host: string; } } export interface ConfigGetParams { /** * Define configurations using a unique string identifier. */ account_id: string; } export declare namespace Configs { export { type ConfigDeleteResponse as ConfigDeleteResponse, type ConfigCreateParams as ConfigCreateParams, type ConfigUpdateParams as ConfigUpdateParams, type ConfigListParams as ConfigListParams, type ConfigDeleteParams as ConfigDeleteParams, type ConfigEditParams as ConfigEditParams, type ConfigGetParams as ConfigGetParams, }; } export { HyperdrivesSinglePage }; //# sourceMappingURL=configs.d.ts.map