## Update Hyperdrive `hyperdrive.configs.update(strhyperdrive_id, ConfigUpdateParams**kwargs) -> Hyperdrive` **put** `/accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}` Updates and returns the specified Hyperdrive configuration. ### Parameters - `account_id: str` Define configurations using a unique string identifier. - `hyperdrive_id: str` Define configurations using a unique string identifier. - `name: str` The name of the Hyperdrive configuration. Used to identify the configuration in the Cloudflare dashboard and API. - `origin: Origin` - `class OriginPublicDatabase: …` - `database: str` Set the name of your origin database. - `host: str` Defines the host (hostname or IP) of your origin database. - `password: str` Set the password needed to access your origin database. The API never returns this write-only value. - `port: int` Defines the port of your origin database. Defaults to 5432 for PostgreSQL or 3306 for MySQL if not specified. - `scheme: Literal["postgres", "postgresql", "mysql"]` Specifies the URL scheme used to connect to your origin database. - `"postgres"` - `"postgresql"` - `"mysql"` - `user: str` Set the user of your origin database. - `class OriginAccessProtectedDatabaseBehindCloudflareTunnel: …` - `access_client_id: str` Defines the Client ID of the Access token to use when connecting to the origin database. - `access_client_secret: str` Defines the Client Secret of the Access Token to use when connecting to the origin database. The API never returns this write-only value. - `database: str` Set the name of your origin database. - `host: str` Defines the host (hostname or IP) of your origin database. - `password: str` Set the password needed to access your origin database. The API never returns this write-only value. - `scheme: Literal["postgres", "postgresql", "mysql"]` Specifies the URL scheme used to connect to your origin database. - `"postgres"` - `"postgresql"` - `"mysql"` - `user: str` Set the user of your origin database. - `caching: Optional[Caching]` - `class CachingHyperdriveHyperdriveCachingCommon: …` - `disabled: Optional[bool]` Set to true to disable caching of SQL responses. Default is false. - `class CachingHyperdriveHyperdriveCachingEnabled: …` - `disabled: Optional[bool]` Set to true to disable caching of SQL responses. Default is false. - `max_age: Optional[int]` Specify the maximum duration (in seconds) items should persist in the cache. Defaults to 60 seconds if not specified. - `stale_while_revalidate: Optional[int]` Specify the number of seconds the cache may serve a stale response. Defaults to 15 seconds if not specified. - `mtls: Optional[MTLS]` - `ca_certificate_id: Optional[str]` Define CA certificate ID obtained after uploading CA cert. - `mtls_certificate_id: Optional[str]` Define mTLS certificate ID obtained after uploading client cert. - `sslmode: Optional[str]` Set SSL mode to 'require', 'verify-ca', or 'verify-full' to verify the CA. - `origin_connection_limit: Optional[int]` The (soft) maximum number of connections the Hyperdrive is allowed to make to the origin database. Maximum allowed: 20 for free tier accounts, 100 for paid tier accounts. If not specified, defaults to 20 for free tier and 60 for paid tier. Contact Cloudflare if you need a higher limit. ### Returns - `class Hyperdrive: …` - `id: str` Define configurations using a unique string identifier. - `name: str` The name of the Hyperdrive configuration. Used to identify the configuration in the Cloudflare dashboard and API. - `origin: Origin` - `class OriginPublicDatabase: …` - `database: str` Set the name of your origin database. - `host: str` Defines the host (hostname or IP) of your origin database. - `password: str` Set the password needed to access your origin database. The API never returns this write-only value. - `port: int` Defines the port of your origin database. Defaults to 5432 for PostgreSQL or 3306 for MySQL if not specified. - `scheme: Literal["postgres", "postgresql", "mysql"]` Specifies the URL scheme used to connect to your origin database. - `"postgres"` - `"postgresql"` - `"mysql"` - `user: str` Set the user of your origin database. - `class OriginAccessProtectedDatabaseBehindCloudflareTunnel: …` - `access_client_id: str` Defines the Client ID of the Access token to use when connecting to the origin database. - `access_client_secret: str` Defines the Client Secret of the Access Token to use when connecting to the origin database. The API never returns this write-only value. - `database: str` Set the name of your origin database. - `host: str` Defines the host (hostname or IP) of your origin database. - `password: str` Set the password needed to access your origin database. The API never returns this write-only value. - `scheme: Literal["postgres", "postgresql", "mysql"]` Specifies the URL scheme used to connect to your origin database. - `"postgres"` - `"postgresql"` - `"mysql"` - `user: str` Set the user of your origin database. - `caching: Optional[Caching]` - `class CachingHyperdriveHyperdriveCachingCommon: …` - `disabled: Optional[bool]` Set to true to disable caching of SQL responses. Default is false. - `class CachingHyperdriveHyperdriveCachingEnabled: …` - `disabled: Optional[bool]` Set to true to disable caching of SQL responses. Default is false. - `max_age: Optional[int]` Specify the maximum duration (in seconds) items should persist in the cache. Defaults to 60 seconds if not specified. - `stale_while_revalidate: Optional[int]` Specify the number of seconds the cache may serve a stale response. Defaults to 15 seconds if not specified. - `created_on: Optional[datetime]` Defines the creation time of the Hyperdrive configuration. - `modified_on: Optional[datetime]` Defines the last modified time of the Hyperdrive configuration. - `mtls: Optional[MTLS]` - `ca_certificate_id: Optional[str]` Define CA certificate ID obtained after uploading CA cert. - `mtls_certificate_id: Optional[str]` Define mTLS certificate ID obtained after uploading client cert. - `sslmode: Optional[str]` Set SSL mode to 'require', 'verify-ca', or 'verify-full' to verify the CA. - `origin_connection_limit: Optional[int]` The (soft) maximum number of connections the Hyperdrive is allowed to make to the origin database. Maximum allowed: 20 for free tier accounts, 100 for paid tier accounts. If not specified, defaults to 20 for free tier and 60 for paid tier. Contact Cloudflare if you need a higher limit. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) hyperdrive = client.hyperdrive.configs.update( hyperdrive_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", name="example-hyperdrive", origin={ "database": "postgres", "host": "database.example.com", "password": "password", "port": 5432, "scheme": "postgres", "user": "postgres", }, ) print(hyperdrive.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "name": "example-hyperdrive", "origin": { "database": "postgres", "host": "database.example.com", "port": 5432, "scheme": "postgres", "user": "postgres" }, "caching": { "disabled": true }, "created_on": "2017-01-01T00:00:00Z", "modified_on": "2017-01-01T00:00:00Z", "mtls": { "ca_certificate_id": "00000000-0000-0000-0000-0000000000", "mtls_certificate_id": "00000000-0000-0000-0000-0000000000", "sslmode": "verify-full" }, "origin_connection_limit": 60 }, "success": true } ```