/** * MySQL Database Service API * The API for the MySQL Database Service * OpenAPI spec version: 20190415 * Contact: mysql-cloud-dev_ww_grp@oracle.com * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ import * as model from "../model"; /** * A DB System is the core logical unit of MySQL Database Service. * */ export interface DbSystem { /** * The OCID of the DB System. */ "id": string; /** * The user-friendly name for the DB System. It does not have to be unique. */ "displayName": string; /** * User-provided data about the DB System. */ "description"?: string; /** * The OCID of the compartment the DB System belongs in. */ "compartmentId": string; /** * The OCID of the subnet the DB System is associated with. * */ "subnetId": string; /** * Network Security Group OCIDs used for the VNIC attachment. */ "nsgIds"?: Array; /** * Security Attributes for this resource. Each key is predefined and scoped to a namespace. * For more information, see [ZPR Artifacts](https://docs.oracle.com/en-us/iaas/Content/zero-trust-packet-routing/zpr-artifacts.htm). * Example: {@code {\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}} * */ "securityAttributes"?: { [key: string]: { [key: string]: any; }; }; "rest"?: model.RestDetails; "databaseConsole"?: model.DatabaseConsoleDetails; /** * Specifies if the DB System is highly available. * */ "isHighlyAvailable"?: boolean; "currentPlacement"?: model.DbSystemPlacement; /** * If the DB System has a HeatWave Cluster attached. * */ "isHeatWaveClusterAttached"?: boolean; "heatWaveCluster"?: model.HeatWaveClusterSummary; /** * The availability domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance. *

In a failover scenario, the Read/Write endpoint is redirected to one of the other availability domains * and the MySQL instance in that domain is promoted to the primary instance. * This redirection does not affect the IP address of the DB System in any way. *

For a standalone DB System, this defines the availability domain in which the DB System is placed. * */ "availabilityDomain"?: string; /** * The fault domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance. *

In a failover scenario, the Read/Write endpoint is redirected to one of the other fault domains * and the MySQL instance in that domain is promoted to the primary instance. * This redirection does not affect the IP address of the DB System in any way. *

For a standalone DB System, this defines the fault domain in which the DB System is placed. * */ "faultDomain"?: string; /** * The shape of the primary instances of the DB System. The shape * determines resources allocated to a DB System - CPU cores * and memory for VM shapes; CPU cores, memory and storage for non-VM * (or bare metal) shapes. To get a list of shapes, use (the * {@link #listShapes(ListShapesRequest) listShapes} operation. * */ "shapeName"?: string; /** * Name of the MySQL Version in use for the DB System. */ "mysqlVersion": string; "controlledUpdate"?: model.ControlledUpdate; "backupPolicy"?: model.BackupPolicy; "source"?: model.DbSystemSourceFromBackup | model.DbSystemSourceFromPitr | model.DbSystemSourceFromNone | model.DbSystemSourceImportFromUrl; /** * The OCID of the Configuration to be used for Instances in this DB System. */ "configurationId"?: string; /** * DEPRECATED: User specified size of the data volume. May be less than current allocatedStorageSizeInGBs. * Replaced by dataStorage.dataStorageSizeInGBs. * Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues. */ "dataStorageSizeInGBs": number; "dataStorage": model.DataStorage; /** * The hostname for the primary endpoint of the DB System. Used for DNS. * The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) * (for example, \"dbsystem-1\" in FQDN \"dbsystem-1.subnet123.vcn1.oraclevcn.com\"). * Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. * */ "hostnameLabel"?: string; /** * The IP address the DB System is configured to listen on. A private * IP address of the primary endpoint of the DB System. Must be an * available IP address within the subnet's CIDR. This will be a * \"dotted-quad\" style IPv4 address. * */ "ipAddress"?: string; /** * The port for primary endpoint of the DB System to listen on. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues. */ "port"?: number; /** * The network port on which X Plugin listens for TCP/IP connections. This is the X Plugin equivalent of port. * Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues. */ "portX"?: number; /** * The network endpoints available for this DB System. * */ "endpoints"?: Array; /** * A list with a summary of all the Channels attached to the DB System. */ "channels"?: Array; /** * The current state of the DB System. */ "lifecycleState": DbSystem.LifecycleState; /** * Additional information about the current lifecycleState. */ "lifecycleDetails"?: string; "maintenance": model.MaintenanceDetails; "deletionPolicy": model.DeletionPolicyDetails; /** * The date and time the DB System was created. */ "timeCreated": Date; /** * The time the DB System was last updated. */ "timeUpdated": Date; /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. * Example: {@code {\"bar-key\": \"value\"}} * */ "freeformTags"?: { [key: string]: string; }; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. * Example: {@code {\"foo-namespace\": {\"bar-key\": \"value\"}}} * */ "definedTags"?: { [key: string]: { [key: string]: any; }; }; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. * Example: {@code {\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}} * */ "systemTags"?: { [key: string]: { [key: string]: any; }; }; /** * Whether to run the DB System with InnoDB Redo Logs and the Double Write Buffer enabled or disabled, * and whether to enable or disable syncing of the Binary Logs. * */ "crashRecovery"?: model.CrashRecoveryStatus; "pointInTimeRecoveryDetails"?: model.PointInTimeRecoveryDetails; /** * Whether to enable monitoring via the Database Management service. * */ "databaseManagement"?: model.DatabaseManagementStatus; "secureConnections"?: model.SecureConnectionDetails; "encryptData"?: model.EncryptDataDetails; /** * The database mode indicating the types of statements that are allowed to run in the the DB system. * This mode applies only to statements run by user connections. Replicated write statements continue * to be allowed regardless of the DatabaseMode. * - READ_WRITE: allow running read and write statements on the DB system; * - READ_ONLY: only allow running read statements on the DB system. * */ "databaseMode": DbSystem.DatabaseMode; /** * The access mode indicating if the database access is unrestricted (to all MySQL user accounts), * or restricted (to only certain users with specific privileges): * - UNRESTRICTED: the access to the database is not restricted; * - RESTRICTED: access allowed only to users with specific privileges; * RESTRICTED will correspond to setting the MySQL system variable * [offline_mode](https://dev.mysql.com/doc/en/server-system-variables.html#sysvar_offline_mode) to ON. * */ "accessMode": DbSystem.AccessMode; /** * The list of customer email addresses that receive information from Oracle about the specified OCI DB System resource. * Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators. * Up to 10 email addresses can be added to the customer contacts for a DB System. * */ "customerContacts"?: Array; "readEndpoint"?: model.ReadEndpointDetails; "telemetryConfiguration"?: model.TelemetryConfigurationDetails; } export declare namespace DbSystem { enum LifecycleState { Creating = "CREATING", Active = "ACTIVE", Inactive = "INACTIVE", Updating = "UPDATING", Deleting = "DELETING", Deleted = "DELETED", Failed = "FAILED", /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownValue = "UNKNOWN_VALUE" } enum DatabaseMode { ReadWrite = "READ_WRITE", ReadOnly = "READ_ONLY", /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownValue = "UNKNOWN_VALUE" } enum AccessMode { Unrestricted = "UNRESTRICTED", Restricted = "RESTRICTED", /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownValue = "UNKNOWN_VALUE" } function getJsonObj(obj: DbSystem): object; function getDeserializedJsonObj(obj: DbSystem): object; }