import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace oracledatabase_v1 {
    export interface Options extends GlobalOptions {
        version: 'v1';
    }
    interface StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
        /**
         * V1 error format.
         */
        '$.xgafv'?: string;
        /**
         * OAuth access token.
         */
        access_token?: string;
        /**
         * Data format for response.
         */
        alt?: string;
        /**
         * JSONP
         */
        callback?: string;
        /**
         * Selector specifying which fields to include in a partial response.
         */
        fields?: string;
        /**
         * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
         */
        key?: string;
        /**
         * OAuth 2.0 token for the current user.
         */
        oauth_token?: string;
        /**
         * Returns response with indentations and line breaks.
         */
        prettyPrint?: boolean;
        /**
         * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
         */
        quotaUser?: string;
        /**
         * Legacy upload protocol for media (e.g. "media", "multipart").
         */
        uploadType?: string;
        /**
         * Upload protocol for media (e.g. "raw", "multipart").
         */
        upload_protocol?: string;
    }
    /**
     * Oracle Database@Google Cloud API
     *
     * The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle database services, such as Exadata and Autonomous Databases.
     *
     * @example
     * ```js
     * const {google} = require('googleapis');
     * const oracledatabase = google.oracledatabase('v1');
     * ```
     */
    export class Oracledatabase {
        context: APIRequestContext;
        projects: Resource$Projects;
        constructor(options: GlobalOptions, google?: GoogleConfigurable);
    }
    /**
     * A list of all connection strings that can be used to connect to the Autonomous Database.
     */
    export interface Schema$AllConnectionStrings {
        /**
         * Output only. The database service provides the highest level of resources to each SQL statement.
         */
        high?: string | null;
        /**
         * Output only. The database service provides the least level of resources to each SQL statement.
         */
        low?: string | null;
        /**
         * Output only. The database service provides a lower level of resources to each SQL statement.
         */
        medium?: string | null;
    }
    /**
     * The Amazon S3 Iceberg storage.
     */
    export interface Schema$AmazonS3IcebergStorage {
        /**
         * Required. The access key ID of Amazon S3.
         */
        accessKeyId?: string | null;
        /**
         * Required. The bucket of Amazon S3.
         */
        bucket?: string | null;
        /**
         * Optional. The endpoint of Amazon S3.
         */
        endpoint?: string | null;
        /**
         * Required. The region of Amazon S3.
         */
        region?: string | null;
        /**
         * Required. The scheme type of Amazon S3.
         */
        schemeType?: string | null;
        /**
         * Optional. The secret access key of Amazon S3.
         */
        secretAccessKeySecret?: string | null;
    }
    /**
     * Details of the Autonomous Database resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/
     */
    export interface Schema$AutonomousDatabase {
        /**
         * Optional. Immutable. The password for the default ADMIN user. Note: Only one of `admin_password_secret_version` or `admin_password` can be populated.
         */
        adminPassword?: string | null;
        /**
         * Optional. Immutable. The resource name of a secret version in Secret Manager which contains the database admin user's password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}. Note: Only one of `admin_password_secret_version` or `admin_password` can be populated.
         */
        adminPasswordSecretVersion?: string | null;
        /**
         * Optional. Immutable. The subnet CIDR range for the Autonomous Database.
         */
        cidr?: string | null;
        /**
         * Output only. The date and time that the Autonomous Database was created.
         */
        createTime?: string | null;
        /**
         * Optional. Immutable. The name of the Autonomous Database. The database name must be unique in the project. The name must begin with a letter and can contain a maximum of 30 alphanumeric characters.
         */
        database?: string | null;
        /**
         * Output only. List of supported GCP region to clone the Autonomous Database for disaster recovery. Format: `project/{project\}/locations/{location\}`.
         */
        disasterRecoverySupportedLocations?: string[] | null;
        /**
         * Optional. Immutable. The display name for the Autonomous Database. The name does not have to be unique within your project.
         */
        displayName?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the Autonomous Database.
         */
        entitlementId?: string | null;
        /**
         * Optional. The labels or tags associated with the Autonomous Database.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the Autonomous Database resource in the following format: projects/{project\}/locations/{region\}/autonomousDatabases/{autonomous_database\}
         */
        name?: string | null;
        /**
         * Optional. Immutable. The name of the VPC network used by the Autonomous Database in the following format: projects/{project\}/global/networks/{network\}
         */
        network?: string | null;
        /**
         * Optional. Immutable. The name of the OdbNetwork associated with the Autonomous Database. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
         */
        odbNetwork?: string | null;
        /**
         * Optional. Immutable. The name of the OdbSubnet associated with the Autonomous Database. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        odbSubnet?: string | null;
        /**
         * Output only. The peer Autonomous Database names of the given Autonomous Database.
         */
        peerAutonomousDatabases?: string[] | null;
        /**
         * Optional. The properties of the Autonomous Database.
         */
        properties?: Schema$AutonomousDatabaseProperties;
        /**
         * Optional. Immutable. The source Autonomous Database configuration for the standby Autonomous Database. The source Autonomous Database is configured while creating the Peer Autonomous Database and can't be updated after creation.
         */
        sourceConfig?: Schema$SourceConfig;
    }
    /**
     * Oracle APEX Application Development. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseApex
     */
    export interface Schema$AutonomousDatabaseApex {
        /**
         * Output only. The Oracle APEX Application Development version.
         */
        apexVersion?: string | null;
        /**
         * Output only. The Oracle REST Data Services (ORDS) version.
         */
        ordsVersion?: string | null;
    }
    /**
     * Details of the Autonomous Database Backup resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/
     */
    export interface Schema$AutonomousDatabaseBackup {
        /**
         * Required. The name of the Autonomous Database resource for which the backup is being created. Format: projects/{project\}/locations/{region\}/autonomousDatabases/{autonomous_database\}
         */
        autonomousDatabase?: string | null;
        /**
         * Optional. User friendly name for the Backup. The name does not have to be unique.
         */
        displayName?: string | null;
        /**
         * Optional. labels or tags associated with the resource.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the Autonomous Database Backup resource with the format: projects/{project\}/locations/{region\}/autonomousDatabaseBackups/{autonomous_database_backup\}
         */
        name?: string | null;
        /**
         * Optional. Various properties of the backup.
         */
        properties?: Schema$AutonomousDatabaseBackupProperties;
    }
    /**
     * Properties of the Autonomous Database Backup resource.
     */
    export interface Schema$AutonomousDatabaseBackupProperties {
        /**
         * Output only. Timestamp until when the backup will be available.
         */
        availableTillTime?: string | null;
        /**
         * Output only. The OCID of the compartment.
         */
        compartmentId?: string | null;
        /**
         * Output only. The quantity of data in the database, in terabytes.
         */
        databaseSizeTb?: number | null;
        /**
         * Output only. A valid Oracle Database version for Autonomous Database.
         */
        dbVersion?: string | null;
        /**
         * Output only. The date and time the backup completed.
         */
        endTime?: string | null;
        /**
         * Output only. Indicates if the backup is automatic or user initiated.
         */
        isAutomaticBackup?: boolean | null;
        /**
         * Output only. Indicates if the backup is long term backup.
         */
        isLongTermBackup?: boolean | null;
        /**
         * Output only. Indicates if the backup can be used to restore the Autonomous Database.
         */
        isRestorable?: boolean | null;
        /**
         * Optional. The OCID of the key store of Oracle Vault.
         */
        keyStoreId?: string | null;
        /**
         * Optional. The wallet name for Oracle Key Vault.
         */
        keyStoreWallet?: string | null;
        /**
         * Optional. The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.
         */
        kmsKeyId?: string | null;
        /**
         * Optional. The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous Database Serverless does not use key versions, hence is not applicable for Autonomous Database Serverless instances.
         */
        kmsKeyVersionId?: string | null;
        /**
         * Output only. Additional information about the current lifecycle state.
         */
        lifecycleDetails?: string | null;
        /**
         * Output only. The lifecycle state of the backup.
         */
        lifecycleState?: string | null;
        /**
         * Output only. OCID of the Autonomous Database backup. https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
         */
        ocid?: string | null;
        /**
         * Optional. Retention period in days for the backup.
         */
        retentionPeriodDays?: number | null;
        /**
         * Output only. The backup size in terabytes.
         */
        sizeTb?: number | null;
        /**
         * Output only. The date and time the backup started.
         */
        startTime?: string | null;
        /**
         * Output only. The type of the backup.
         */
        type?: string | null;
        /**
         * Optional. The OCID of the vault.
         */
        vaultId?: string | null;
    }
    /**
     * Details of the Autonomous Database character set resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseCharacterSets/
     */
    export interface Schema$AutonomousDatabaseCharacterSet {
        /**
         * Output only. The character set name for the Autonomous Database which is the ID in the resource name.
         */
        characterSet?: string | null;
        /**
         * Output only. The character set type for the Autonomous Database.
         */
        characterSetType?: string | null;
        /**
         * Identifier. The name of the Autonomous Database Character Set resource in the following format: projects/{project\}/locations/{region\}/autonomousDatabaseCharacterSets/{autonomous_database_character_set\}
         */
        name?: string | null;
    }
    /**
     * The connection string used to connect to the Autonomous Database. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseConnectionStrings
     */
    export interface Schema$AutonomousDatabaseConnectionStrings {
        /**
         * Output only. Returns all connection strings that can be used to connect to the Autonomous Database.
         */
        allConnectionStrings?: Schema$AllConnectionStrings;
        /**
         * Output only. The database service provides the least level of resources to each SQL statement, but supports the most number of concurrent SQL statements.
         */
        dedicated?: string | null;
        /**
         * Output only. The database service provides the highest level of resources to each SQL statement.
         */
        high?: string | null;
        /**
         * Output only. The database service provides the least level of resources to each SQL statement.
         */
        low?: string | null;
        /**
         * Output only. The database service provides a lower level of resources to each SQL statement.
         */
        medium?: string | null;
        /**
         * Output only. A list of connection string profiles to allow clients to group, filter, and select values based on the structured metadata.
         */
        profiles?: Schema$DatabaseConnectionStringProfile[];
    }
    /**
     * The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web with a browser from a Compute instance. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseConnectionUrls
     */
    export interface Schema$AutonomousDatabaseConnectionUrls {
        /**
         * Output only. Oracle Application Express (APEX) URL.
         */
        apexUri?: string | null;
        /**
         * Output only. The URL of the Database Transforms for the Autonomous Database.
         */
        databaseTransformsUri?: string | null;
        /**
         * Output only. The URL of the Graph Studio for the Autonomous Database.
         */
        graphStudioUri?: string | null;
        /**
         * Output only. The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous Database.
         */
        machineLearningNotebookUri?: string | null;
        /**
         * Output only. The URL of Machine Learning user management the Autonomous Database.
         */
        machineLearningUserManagementUri?: string | null;
        /**
         * Output only. The URL of the MongoDB API for the Autonomous Database.
         */
        mongoDbUri?: string | null;
        /**
         * Output only. The Oracle REST Data Services (ORDS) URL of the Web Access for the Autonomous Database.
         */
        ordsUri?: string | null;
        /**
         * Output only. The URL of the Oracle SQL Developer Web for the Autonomous Database.
         */
        sqlDevWebUri?: string | null;
    }
    /**
     * The properties of an Autonomous Database.
     */
    export interface Schema$AutonomousDatabaseProperties {
        /**
         * Output only. The amount of storage currently being used for user and system data, in terabytes.
         */
        actualUsedDataStorageSizeTb?: number | null;
        /**
         * Output only. The amount of storage currently allocated for the database tables and billed for, rounded up in terabytes.
         */
        allocatedStorageSizeTb?: number | null;
        /**
         * Optional. Immutable. The list of allowlisted IP addresses for the Autonomous Database.
         */
        allowlistedIps?: string[] | null;
        /**
         * Output only. The details for the Oracle APEX Application Development.
         */
        apexDetails?: Schema$AutonomousDatabaseApex;
        /**
         * Output only. This field indicates the status of Data Guard and Access control for the Autonomous Database. The field's value is null if Data Guard is disabled or Access Control is disabled. The field's value is TRUE if both Data Guard and Access Control are enabled, and the Autonomous Database is using primary IP access control list (ACL) for standby. The field's value is FALSE if both Data Guard and Access Control are enabled, and the Autonomous Database is using a different IP access control list (ACL) for standby compared to primary.
         */
        arePrimaryAllowlistedIpsUsed?: boolean | null;
        /**
         * Output only. The Autonomous Container Database OCID.
         */
        autonomousContainerDatabaseId?: string | null;
        /**
         * Output only. The list of available Oracle Database upgrade versions for an Autonomous Database.
         */
        availableUpgradeVersions?: string[] | null;
        /**
         * Optional. Immutable. The retention period for the Autonomous Database. This field is specified in days, can range from 1 day to 60 days, and has a default value of 60 days.
         */
        backupRetentionPeriodDays?: number | null;
        /**
         * Optional. Immutable. The character set for the Autonomous Database. The default is AL32UTF8.
         */
        characterSet?: string | null;
        /**
         * Optional. Immutable. The number of compute servers for the Autonomous Database.
         */
        computeCount?: number | null;
        /**
         * Output only. The connection strings used to connect to an Autonomous Database.
         */
        connectionStrings?: Schema$AutonomousDatabaseConnectionStrings;
        /**
         * Output only. The Oracle Connection URLs for an Autonomous Database.
         */
        connectionUrls?: Schema$AutonomousDatabaseConnectionUrls;
        /**
         * Optional. Immutable. The number of CPU cores to be made available to the database.
         */
        cpuCoreCount?: number | null;
        /**
         * Optional. Immutable. The list of customer contacts.
         */
        customerContacts?: Schema$CustomerContact[];
        /**
         * Output only. The current state of database management for the Autonomous Database.
         */
        databaseManagementState?: string | null;
        /**
         * Output only. The date and time the Autonomous Data Guard role was changed for the standby Autonomous Database.
         */
        dataGuardRoleChangedTime?: string | null;
        /**
         * Output only. The current state of the Data Safe registration for the Autonomous Database.
         */
        dataSafeState?: string | null;
        /**
         * Optional. Immutable. The size of the data stored in the database, in gigabytes.
         */
        dataStorageSizeGb?: number | null;
        /**
         * Optional. Immutable. The size of the data stored in the database, in terabytes.
         */
        dataStorageSizeTb?: number | null;
        /**
         * Optional. Immutable. The edition of the Autonomous Databases.
         */
        dbEdition?: string | null;
        /**
         * Optional. Immutable. The Oracle Database version for the Autonomous Database.
         */
        dbVersion?: string | null;
        /**
         * Required. Immutable. The workload type of the Autonomous Database.
         */
        dbWorkload?: string | null;
        /**
         * Output only. The date and time the Disaster Recovery role was changed for the standby Autonomous Database.
         */
        disasterRecoveryRoleChangedTime?: string | null;
        /**
         * Optional. The encryption key used to encrypt the Autonomous Database. Updating this field will add a new entry in the `encryption_key_history_entries` field with the former version.
         */
        encryptionKey?: Schema$EncryptionKey;
        /**
         * Output only. The history of the encryption keys used to encrypt the Autonomous Database.
         */
        encryptionKeyHistoryEntries?: Schema$EncryptionKeyHistoryEntry[];
        /**
         * Output only. This field indicates the number of seconds of data loss during a Data Guard failover.
         */
        failedDataRecoveryDuration?: string | null;
        /**
         * Optional. Immutable. This field indicates if auto scaling is enabled for the Autonomous Database CPU core count.
         */
        isAutoScalingEnabled?: boolean | null;
        /**
         * Output only. Deprecated: Please use `local_data_guard_enabled` instead. This field indicates whether the Autonomous Database has local (in-region) Data Guard enabled.
         */
        isLocalDataGuardEnabled?: boolean | null;
        /**
         * Optional. Immutable. This field indicates if auto scaling is enabled for the Autonomous Database storage.
         */
        isStorageAutoScalingEnabled?: boolean | null;
        /**
         * Required. Immutable. The license type used for the Autonomous Database.
         */
        licenseType?: string | null;
        /**
         * Output only. The details of the current lifestyle state of the Autonomous Database.
         */
        lifecycleDetails?: string | null;
        /**
         * Output only. Deprecated: Please use `local_adg_auto_failover_max_data_loss_limit_duration` instead. This field indicates the maximum data loss limit for an Autonomous Database, in seconds.
         */
        localAdgAutoFailoverMaxDataLossLimit?: number | null;
        /**
         * Optional. This field indicates the maximum data loss limit for an Autonomous Database, in seconds.
         */
        localAdgAutoFailoverMaxDataLossLimitDuration?: number | null;
        /**
         * Optional. Indicates whether the Autonomous Database has a local (in-region) standby database. Not applicable to cross-region Data Guard or dedicated Exadata infrastructure.
         */
        localDataGuardEnabled?: boolean | null;
        /**
         * Output only. This field indicates the local disaster recovery (DR) type of an Autonomous Database.
         */
        localDisasterRecoveryType?: string | null;
        /**
         * Output only. The details of the Autonomous Data Guard standby database.
         */
        localStandbyDb?: Schema$AutonomousDatabaseStandbySummary;
        /**
         * Output only. The date and time when maintenance will begin.
         */
        maintenanceBeginTime?: string | null;
        /**
         * Output only. The date and time when maintenance will end.
         */
        maintenanceEndTime?: string | null;
        /**
         * Optional. Immutable. The maintenance schedule of the Autonomous Database.
         */
        maintenanceScheduleType?: string | null;
        /**
         * Output only. The amount of memory enabled per ECPU, in gigabytes.
         */
        memoryPerOracleComputeUnitGbs?: number | null;
        /**
         * Output only. The memory assigned to in-memory tables in an Autonomous Database.
         */
        memoryTableGbs?: number | null;
        /**
         * Optional. Immutable. This field specifies if the Autonomous Database requires mTLS connections.
         */
        mtlsConnectionRequired?: boolean | null;
        /**
         * Optional. Immutable. The national character set for the Autonomous Database. The default is AL16UTF16.
         */
        nCharacterSet?: string | null;
        /**
         * Output only. The long term backup schedule of the Autonomous Database.
         */
        nextLongTermBackupTime?: string | null;
        /**
         * Output only. OCID of the Autonomous Database. https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
         */
        ocid?: string | null;
        /**
         * Output only. The Oracle Cloud Infrastructure link for the Autonomous Database.
         */
        ociUrl?: string | null;
        /**
         * Output only. This field indicates the current mode of the Autonomous Database.
         */
        openMode?: string | null;
        /**
         * Output only. This field indicates the state of Operations Insights for the Autonomous Database.
         */
        operationsInsightsState?: string | null;
        /**
         * Output only. The list of OCIDs of standby databases located in Autonomous Data Guard remote regions that are associated with the source database.
         */
        peerDbIds?: string[] | null;
        /**
         * Output only. The permission level of the Autonomous Database.
         */
        permissionLevel?: string | null;
        /**
         * Output only. The private endpoint for the Autonomous Database.
         */
        privateEndpoint?: string | null;
        /**
         * Optional. Immutable. The private endpoint IP address for the Autonomous Database.
         */
        privateEndpointIp?: string | null;
        /**
         * Optional. Immutable. The private endpoint label for the Autonomous Database.
         */
        privateEndpointLabel?: string | null;
        /**
         * Optional. Indicates if the Autonomous Database is a refreshable clone. This field is used in update flow to connect / disconnect a refreshable clone from its source database.
         */
        refreshableClone?: boolean | null;
        /**
         * Output only. The refresh mode of the cloned Autonomous Database.
         */
        refreshableMode?: string | null;
        /**
         * Output only. The refresh State of the clone.
         */
        refreshableState?: string | null;
        /**
         * Output only. The Data Guard role of the Autonomous Database.
         */
        role?: string | null;
        /**
         * Output only. The list and details of the scheduled operations of the Autonomous Database.
         */
        scheduledOperationDetails?: Schema$ScheduledOperationDetails[];
        /**
         * Optional. Immutable. The ID of the Oracle Cloud Infrastructure vault secret.
         */
        secretId?: string | null;
        /**
         * Output only. An Oracle-managed Google Cloud service account on which customers can grant roles to access resources in the customer project.
         */
        serviceAgentEmail?: string | null;
        /**
         * Output only. The SQL Web Developer URL for the Autonomous Database.
         */
        sqlWebDeveloperUrl?: string | null;
        /**
         * Output only. The current lifecycle state of the Autonomous Database.
         */
        state?: string | null;
        /**
         * Output only. The list of available regions that can be used to create a clone for the Autonomous Database.
         */
        supportedCloneRegions?: string[] | null;
        /**
         * Output only. The storage space used by automatic backups of Autonomous Database, in gigabytes.
         */
        totalAutoBackupStorageSizeGbs?: number | null;
        /**
         * Output only. The storage space used by Autonomous Database, in gigabytes.
         */
        usedDataStorageSizeTbs?: number | null;
        /**
         * Optional. Immutable. The ID of the Oracle Cloud Infrastructure vault.
         */
        vaultId?: string | null;
    }
    /**
     * An Autonomous Database refreshable clone
     */
    export interface Schema$AutonomousDatabaseRefreshableClone {
        /**
         * Output only. The GCP resource name of the Autonomous Database.
         */
        name?: string | null;
        /**
         * Output only. The Google Cloud region where the refreshable clone exists.
         */
        region?: string | null;
    }
    /**
     * Response message for getting the Autonomous Database refreshable clones.
     */
    export interface Schema$AutonomousDatabaseRefreshableClones {
        /**
         * The list of Autonomous Database refreshable clones.
         */
        autonomousDatabaseRefreshableClones?: Schema$AutonomousDatabaseRefreshableClone[];
    }
    /**
     * Autonomous Data Guard standby database details. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseStandbySummary
     */
    export interface Schema$AutonomousDatabaseStandbySummary {
        /**
         * Output only. The date and time the Autonomous Data Guard role was switched for the standby Autonomous Database.
         */
        dataGuardRoleChangedTime?: string | null;
        /**
         * Output only. The date and time the Disaster Recovery role was switched for the standby Autonomous Database.
         */
        disasterRecoveryRoleChangedTime?: string | null;
        /**
         * Output only. The amount of time, in seconds, that the data of the standby database lags in comparison to the data of the primary database.
         */
        lagTimeDuration?: string | null;
        /**
         * Output only. The additional details about the current lifecycle state of the Autonomous Database.
         */
        lifecycleDetails?: string | null;
        /**
         * Output only. The current lifecycle state of the Autonomous Database.
         */
        state?: string | null;
    }
    /**
     * Details of the Autonomous Database version. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDbVersionSummary/
     */
    export interface Schema$AutonomousDbVersion {
        /**
         * Output only. The Autonomous Database workload type.
         */
        dbWorkload?: string | null;
        /**
         * Identifier. The name of the Autonomous Database Version resource with the format: projects/{project\}/locations/{region\}/autonomousDbVersions/{autonomous_db_version\}
         */
        name?: string | null;
        /**
         * Output only. An Oracle Database version for Autonomous Database.
         */
        version?: string | null;
        /**
         * Output only. A URL that points to a detailed description of the Autonomous Database version.
         */
        workloadUri?: string | null;
    }
    /**
     * The Azure Data Lake Storage Iceberg storage.
     */
    export interface Schema$AzureDataLakeStorageIcebergStorage {
        /**
         * Optional. The account key of Azure Data Lake Storage.
         */
        accountKeySecret?: string | null;
        /**
         * Required. The account of Azure Data Lake Storage.
         */
        azureAccount?: string | null;
        /**
         * Required. The container of Azure Data Lake Storage.
         */
        container?: string | null;
        /**
         * Optional. The endpoint of Azure Data Lake Storage.
         */
        endpoint?: string | null;
    }
    /**
     * The details of the database backup destination.
     */
    export interface Schema$BackupDestinationDetails {
        /**
         * Optional. The type of the database backup destination.
         */
        type?: string | null;
    }
    /**
     * The request message for Operations.CancelOperation.
     */
    export interface Schema$CancelOperationRequest {
    }
    /**
     * Details of the OCI Cloud Account.
     */
    export interface Schema$CloudAccountDetails {
        /**
         * Output only. URL to create a new account and link.
         */
        accountCreationUri?: string | null;
        /**
         * Output only. OCI account name.
         */
        cloudAccount?: string | null;
        /**
         * Output only. OCI account home region.
         */
        cloudAccountHomeRegion?: string | null;
        /**
         * Output only. URL to link an existing account.
         */
        linkExistingAccountUri?: string | null;
    }
    /**
     * Represents CloudExadataInfrastructure resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/
     */
    export interface Schema$CloudExadataInfrastructure {
        /**
         * Output only. The date and time that the Exadata Infrastructure was created.
         */
        createTime?: string | null;
        /**
         * Optional. User friendly name for this resource.
         */
        displayName?: string | null;
        /**
         * Output only. Entitlement ID of the private offer against which this infrastructure resource is provisioned.
         */
        entitlementId?: string | null;
        /**
         * Optional. The GCP Oracle zone where Oracle Exadata Infrastructure is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.
         */
        gcpOracleZone?: string | null;
        /**
         * Optional. Labels or tags associated with the resource.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the Exadata Infrastructure resource with the format: projects/{project\}/locations/{region\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}
         */
        name?: string | null;
        /**
         * Optional. Various properties of the infra.
         */
        properties?: Schema$CloudExadataInfrastructureProperties;
    }
    /**
     * Various properties of Exadata Infrastructure.
     */
    export interface Schema$CloudExadataInfrastructureProperties {
        /**
         * Output only. The requested number of additional storage servers activated for the Exadata Infrastructure.
         */
        activatedStorageCount?: number | null;
        /**
         * Output only. The requested number of additional storage servers for the Exadata Infrastructure.
         */
        additionalStorageCount?: number | null;
        /**
         * Output only. The available storage can be allocated to the Exadata Infrastructure resource, in gigabytes (GB).
         */
        availableStorageSizeGb?: number | null;
        /**
         * Optional. The number of compute servers for the Exadata Infrastructure.
         */
        computeCount?: number | null;
        /**
         * Output only. The compute model of the Exadata Infrastructure.
         */
        computeModel?: string | null;
        /**
         * Output only. The number of enabled CPU cores.
         */
        cpuCount?: number | null;
        /**
         * Optional. The list of customer contacts.
         */
        customerContacts?: Schema$CustomerContact[];
        /**
         * Optional. The database server type of the Exadata Infrastructure.
         */
        databaseServerType?: string | null;
        /**
         * Output only. Size, in terabytes, of the DATA disk group.
         */
        dataStorageSizeTb?: number | null;
        /**
         * Output only. The local node storage allocated in GBs.
         */
        dbNodeStorageSizeGb?: number | null;
        /**
         * Output only. The software version of the database servers (dom0) in the Exadata Infrastructure.
         */
        dbServerVersion?: string | null;
        /**
         * Output only. The Exascale configuration for the Exadata Infrastructure.
         */
        exascaleConfig?: Schema$ExascaleConfig;
        /**
         * Optional. Maintenance window for repair.
         */
        maintenanceWindow?: Schema$MaintenanceWindow;
        /**
         * Output only. The total number of CPU cores available.
         */
        maxCpuCount?: number | null;
        /**
         * Output only. The total available DATA disk group size.
         */
        maxDataStorageTb?: number | null;
        /**
         * Output only. The total local node storage available in GBs.
         */
        maxDbNodeStorageSizeGb?: number | null;
        /**
         * Output only. The total memory available in GBs.
         */
        maxMemoryGb?: number | null;
        /**
         * Output only. The memory allocated in GBs.
         */
        memorySizeGb?: number | null;
        /**
         * Output only. The monthly software version of the database servers (dom0) in the Exadata Infrastructure. Example: 20.1.15
         */
        monthlyDbServerVersion?: string | null;
        /**
         * Output only. The monthly software version of the storage servers (cells) in the Exadata Infrastructure. Example: 20.1.15
         */
        monthlyStorageServerVersion?: string | null;
        /**
         * Output only. The OCID of the next maintenance run.
         */
        nextMaintenanceRunId?: string | null;
        /**
         * Output only. The time when the next maintenance run will occur.
         */
        nextMaintenanceRunTime?: string | null;
        /**
         * Output only. The time when the next security maintenance run will occur.
         */
        nextSecurityMaintenanceRunTime?: string | null;
        /**
         * Output only. OCID of created infra. https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
         */
        ocid?: string | null;
        /**
         * Output only. Deep link to the OCI console to view this resource.
         */
        ociUrl?: string | null;
        /**
         * Required. The shape of the Exadata Infrastructure. The shape determines the amount of CPU, storage, and memory resources allocated to the instance.
         */
        shape?: string | null;
        /**
         * Output only. The current lifecycle state of the Exadata Infrastructure.
         */
        state?: string | null;
        /**
         * Optional. The number of Cloud Exadata storage servers for the Exadata Infrastructure.
         */
        storageCount?: number | null;
        /**
         * Optional. The storage server type of the Exadata Infrastructure.
         */
        storageServerType?: string | null;
        /**
         * Output only. The software version of the storage servers (cells) in the Exadata Infrastructure.
         */
        storageServerVersion?: string | null;
        /**
         * Optional. The total storage allocated to the Exadata Infrastructure resource, in gigabytes (GB).
         */
        totalStorageSizeGb?: number | null;
    }
    /**
     * Details of the Cloud VM Cluster resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudVmCluster/
     */
    export interface Schema$CloudVmCluster {
        /**
         * Optional. The name of the backup OdbSubnet associated with the VM Cluster. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        backupOdbSubnet?: string | null;
        /**
         * Optional. CIDR range of the backup subnet.
         */
        backupSubnetCidr?: string | null;
        /**
         * Optional. Network settings. CIDR to use for cluster IP allocation.
         */
        cidr?: string | null;
        /**
         * Output only. The date and time that the VM cluster was created.
         */
        createTime?: string | null;
        /**
         * Optional. User friendly name for this resource.
         */
        displayName?: string | null;
        /**
         * Required. The name of the Exadata Infrastructure resource on which VM cluster resource is created, in the following format: projects/{project\}/locations/{region\}/cloudExadataInfrastuctures/{cloud_extradata_infrastructure\}
         */
        exadataInfrastructure?: string | null;
        /**
         * Optional. The name of ExascaleDbStorageVault associated with the VM Cluster. Format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}
         */
        exascaleDbStorageVault?: string | null;
        /**
         * Output only. The GCP Oracle zone where Oracle CloudVmCluster is hosted. This will be the same as the gcp_oracle_zone of the CloudExadataInfrastructure. Example: us-east4-b-r2.
         */
        gcpOracleZone?: string | null;
        /**
         * Output only. The identity connector details which will allow OCI to securely access the resources in the customer project.
         */
        identityConnector?: Schema$IdentityConnector;
        /**
         * Optional. Labels or tags associated with the VM Cluster.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the VM Cluster resource with the format: projects/{project\}/locations/{region\}/cloudVmClusters/{cloud_vm_cluster\}
         */
        name?: string | null;
        /**
         * Optional. The name of the VPC network. Format: projects/{project\}/global/networks/{network\}
         */
        network?: string | null;
        /**
         * Optional. The name of the OdbNetwork associated with the VM Cluster. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\} It is optional but if specified, this should match the parent ODBNetwork of the odb_subnet and backup_odb_subnet.
         */
        odbNetwork?: string | null;
        /**
         * Optional. The name of the OdbSubnet associated with the VM Cluster for IP allocation. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        odbSubnet?: string | null;
        /**
         * Optional. Various properties of the VM Cluster.
         */
        properties?: Schema$CloudVmClusterProperties;
    }
    /**
     * Various properties and settings associated with Exadata VM cluster.
     */
    export interface Schema$CloudVmClusterProperties {
        /**
         * Optional. OCI Cluster name.
         */
        clusterName?: string | null;
        /**
         * Output only. Compartment ID of cluster.
         */
        compartmentId?: string | null;
        /**
         * Output only. The compute model of the VM Cluster.
         */
        computeModel?: string | null;
        /**
         * Required. Number of enabled CPU cores.
         */
        cpuCoreCount?: number | null;
        /**
         * Optional. The data disk group size to be allocated in TBs.
         */
        dataStorageSizeTb?: number | null;
        /**
         * Optional. Local storage per VM.
         */
        dbNodeStorageSizeGb?: number | null;
        /**
         * Optional. OCID of database servers.
         */
        dbServerOcids?: string[] | null;
        /**
         * Optional. Data collection options for diagnostics.
         */
        diagnosticsDataCollectionOptions?: Schema$DataCollectionOptions;
        /**
         * Optional. The type of redundancy.
         */
        diskRedundancy?: string | null;
        /**
         * Output only. DNS listener IP.
         */
        dnsListenerIp?: string | null;
        /**
         * Output only. Parent DNS domain where SCAN DNS and hosts names are qualified. ex: ocispdelegated.ocisp10jvnet.oraclevcn.com
         */
        domain?: string | null;
        /**
         * Optional. Grid Infrastructure Version.
         */
        giVersion?: string | null;
        /**
         * Output only. host name without domain. format: "-" with some suffix. ex: sp2-yi0xq where "sp2" is the hostname_prefix.
         */
        hostname?: string | null;
        /**
         * Optional. Prefix for VM cluster host names.
         */
        hostnamePrefix?: string | null;
        /**
         * Required. License type of VM Cluster.
         */
        licenseType?: string | null;
        /**
         * Optional. Use local backup.
         */
        localBackupEnabled?: boolean | null;
        /**
         * Optional. Memory allocated in GBs.
         */
        memorySizeGb?: number | null;
        /**
         * Optional. Number of database servers.
         */
        nodeCount?: number | null;
        /**
         * Output only. Oracle Cloud Infrastructure ID of VM Cluster.
         */
        ocid?: string | null;
        /**
         * Output only. Deep link to the OCI console to view this resource.
         */
        ociUrl?: string | null;
        /**
         * Optional. OCPU count per VM. Minimum is 0.1.
         */
        ocpuCount?: number | null;
        /**
         * Output only. SCAN DNS name. ex: sp2-yi0xq-scan.ocispdelegated.ocisp10jvnet.oraclevcn.com
         */
        scanDns?: string | null;
        /**
         * Output only. OCID of scan DNS record.
         */
        scanDnsRecordId?: string | null;
        /**
         * Output only. OCIDs of scan IPs.
         */
        scanIpIds?: string[] | null;
        /**
         * Optional. SCAN listener port - TCP
         */
        scanListenerPortTcp?: number | null;
        /**
         * Optional. SCAN listener port - TLS
         */
        scanListenerPortTcpSsl?: number | null;
        /**
         * Output only. Shape of VM Cluster.
         */
        shape?: string | null;
        /**
         * Optional. Use exadata sparse snapshots.
         */
        sparseDiskgroupEnabled?: boolean | null;
        /**
         * Optional. SSH public keys to be stored with cluster.
         */
        sshPublicKeys?: string[] | null;
        /**
         * Output only. State of the cluster.
         */
        state?: string | null;
        /**
         * Output only. The storage management type of the VM Cluster.
         */
        storageManagementType?: string | null;
        /**
         * Output only. The storage allocation for the disk group, in gigabytes (GB).
         */
        storageSizeGb?: number | null;
        /**
         * Optional. Operating system version of the image.
         */
        systemVersion?: string | null;
        /**
         * Optional. Time zone of VM Cluster to set. Defaults to UTC if not specified.
         */
        timeZone?: Schema$TimeZone;
    }
    /**
     * The request for `CloudExadataInfrastructure.ConfigureExascale`.
     */
    export interface Schema$ConfigureExascaleCloudExadataInfrastructureRequest {
        /**
         * Optional. An optional ID to identify the request.
         */
        requestId?: string | null;
        /**
         * Required. The total storage to be allocated to Exascale in GBs.
         */
        totalStorageSizeGb?: number | null;
    }
    /**
     * The CustomerContact reference as defined by Oracle. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/CustomerContact
     */
    export interface Schema$CustomerContact {
        /**
         * Required. The email address used by Oracle to send notifications regarding databases and infrastructure.
         */
        email?: string | null;
    }
    /**
     * Details of the Database resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/Database/
     */
    export interface Schema$Database {
        /**
         * Optional. The password for the default ADMIN user. Note: Only one of `admin_password_secret_version` or `admin_password` can be populated.
         */
        adminPassword?: string | null;
        /**
         * Optional. The resource name of a secret version in Secret Manager which contains the database admin user's password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}. Note: Only one of `admin_password_secret_version` or `admin_password` can be populated.
         */
        adminPasswordSecretVersion?: string | null;
        /**
         * Optional. The character set for the database. The default is AL32UTF8.
         */
        characterSet?: string | null;
        /**
         * Output only. The date and time that the Database was created.
         */
        createTime?: string | null;
        /**
         * Optional. The database ID of the Database.
         */
        databaseId?: string | null;
        /**
         * Optional. The name of the DbHome resource associated with the Database.
         */
        dbHomeName?: string | null;
        /**
         * Optional. The database name. The name must begin with an alphabetic character and can contain a maximum of eight alphanumeric characters. Special characters are not permitted.
         */
        dbName?: string | null;
        /**
         * Optional. The DB_UNIQUE_NAME of the Oracle Database being backed up.
         */
        dbUniqueName?: string | null;
        /**
         * Output only. The GCP Oracle zone where the Database is created.
         */
        gcpOracleZone?: string | null;
        /**
         * Identifier. The name of the Database resource in the following format: projects/{project\}/locations/{region\}/databases/{database\}
         */
        name?: string | null;
        /**
         * Optional. The national character set for the database. The default is AL16UTF16.
         */
        ncharacterSet?: string | null;
        /**
         * Output only. HTTPS link to OCI resources exposed to Customer via UI Interface.
         */
        ociUrl?: string | null;
        /**
         * Output only. The Status of Operations Insights for this Database.
         */
        opsInsightsStatus?: string | null;
        /**
         * Optional. The ID of the pluggable database associated with the Database. The ID must be unique within the project and location.
         */
        pluggableDatabaseId?: string | null;
        /**
         * Optional. The pluggable database associated with the Database. The name must begin with an alphabetic character and can contain a maximum of thirty alphanumeric characters.
         */
        pluggableDatabaseName?: string | null;
        /**
         * Optional. The properties of the Database.
         */
        properties?: Schema$DatabaseProperties;
        /**
         * Optional. The TDE wallet password for the database. Note: Only one of `tde_wallet_password_secret_version` or `tde_wallet_password` can be populated.
         */
        tdeWalletPassword?: string | null;
        /**
         * Optional. The resource name of a secret version in Secret Manager which contains the TDE wallet password for the database. Format: projects/{project\}/secrets/{secret\}/versions/{version\}. Note: Only one of `tde_wallet_password_secret_version` or `tde_wallet_password` can be populated.
         */
        tdeWalletPasswordSecretVersion?: string | null;
    }
    /**
     * Details of the Database character set resource.
     */
    export interface Schema$DatabaseCharacterSet {
        /**
         * Output only. The character set name for the Database which is the ID in the resource name.
         */
        characterSet?: string | null;
        /**
         * Output only. The character set type for the Database.
         */
        characterSetType?: string | null;
        /**
         * Identifier. The name of the Database Character Set resource in the following format: projects/{project\}/locations/{region\}/databaseCharacterSets/{database_character_set\}
         */
        name?: string | null;
    }
    /**
     * The connection string profile to allow clients to group. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DatabaseConnectionStringProfile
     */
    export interface Schema$DatabaseConnectionStringProfile {
        /**
         * Output only. The current consumer group being used by the connection.
         */
        consumerGroup?: string | null;
        /**
         * Output only. The display name for the database connection.
         */
        displayName?: string | null;
        /**
         * Output only. The host name format being currently used in connection string.
         */
        hostFormat?: string | null;
        /**
         * Output only. This field indicates if the connection string is regional and is only applicable for cross-region Data Guard.
         */
        isRegional?: boolean | null;
        /**
         * Output only. The protocol being used by the connection.
         */
        protocol?: string | null;
        /**
         * Output only. The current session mode of the connection.
         */
        sessionMode?: string | null;
        /**
         * Output only. The syntax of the connection string.
         */
        syntaxFormat?: string | null;
        /**
         * Output only. This field indicates the TLS authentication type of the connection.
         */
        tlsAuthentication?: string | null;
        /**
         * Output only. The value of the connection string.
         */
        value?: string | null;
    }
    /**
     * The configuration of the Database Management service.
     */
    export interface Schema$DatabaseManagementConfig {
        /**
         * Output only. The status of the Database Management service.
         */
        managementState?: string | null;
        /**
         * Output only. The Database Management type.
         */
        managementType?: string | null;
    }
    /**
     * The properties of a Database.
     */
    export interface Schema$DatabaseProperties {
        /**
         * Output only. The Database Management config.
         */
        databaseManagementConfig?: Schema$DatabaseManagementConfig;
        /**
         * Optional. Backup options for the Database.
         */
        dbBackupConfig?: Schema$DbBackupConfig;
        /**
         * Required. The Oracle Database version.
         */
        dbVersion?: string | null;
        /**
         * Output only. State of the Database.
         */
        state?: string | null;
    }
    /**
     * Data collection options for diagnostics.
     */
    export interface Schema$DataCollectionOptions {
        /**
         * Optional. Indicates whether diagnostic collection is enabled for the VM cluster
         */
        diagnosticsEventsEnabled?: boolean | null;
        /**
         * Optional. Indicates whether health monitoring is enabled for the VM cluster
         */
        healthMonitoringEnabled?: boolean | null;
        /**
         * Optional. Indicates whether incident logs and trace collection are enabled for the VM cluster
         */
        incidentLogsEnabled?: boolean | null;
    }
    /**
     * Data collection options for diagnostics. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions
     */
    export interface Schema$DataCollectionOptionsCommon {
        /**
         * Optional. Indicates whether to enable data collection for diagnostics.
         */
        isDiagnosticsEventsEnabled?: boolean | null;
        /**
         * Optional. Indicates whether to enable health monitoring.
         */
        isHealthMonitoringEnabled?: boolean | null;
        /**
         * Optional. Indicates whether to enable incident logs and trace collection.
         */
        isIncidentLogsEnabled?: boolean | null;
    }
    /**
     * Data collection options for DbSystem.
     */
    export interface Schema$DataCollectionOptionsDbSystem {
        /**
         * Optional. Indicates whether to enable data collection for diagnostics.
         */
        isDiagnosticsEventsEnabled?: boolean | null;
        /**
         * Optional. Indicates whether to enable incident logs and trace collection.
         */
        isIncidentLogsEnabled?: boolean | null;
    }
    /**
     * Backup Options for the Database.
     */
    export interface Schema$DbBackupConfig {
        /**
         * Optional. If set to true, enables automatic backups on the database.
         */
        autoBackupEnabled?: boolean | null;
        /**
         * Optional. The day of the week on which the full backup should be performed on the database. If no value is provided, it will default to Sunday.
         */
        autoFullBackupDay?: string | null;
        /**
         * Optional. The window in which the full backup should be performed on the database. If no value is provided, the default is anytime.
         */
        autoFullBackupWindow?: string | null;
        /**
         * Optional. The window in which the incremental backup should be performed on the database. If no value is provided, the default is anytime except the auto full backup day.
         */
        autoIncrementalBackupWindow?: string | null;
        /**
         * Optional. This defines when the backups will be deleted after Database termination.
         */
        backupDeletionPolicy?: string | null;
        /**
         * Optional. Details of the database backup destinations.
         */
        backupDestinationDetails?: Schema$BackupDestinationDetails[];
        /**
         * Optional. The number of days an automatic backup is retained before being automatically deleted. This value determines the earliest point in time to which a database can be restored. Min: 1, Max: 60.
         */
        retentionPeriodDays?: number | null;
    }
    /**
     * Details of the Database Home resource.
     */
    export interface Schema$DbHome {
        /**
         * Required. The Database resource.
         */
        database?: Schema$Database;
        /**
         * Required. A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
         */
        dbVersion?: string | null;
        /**
         * Optional. The display name for the Database Home. The name does not have to be unique within your project.
         */
        displayName?: string | null;
        /**
         * Optional. Whether unified auditing is enabled for the Database Home.
         */
        isUnifiedAuditingEnabled?: boolean | null;
    }
    /**
     * Details of the database node resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbNode/
     */
    export interface Schema$DbNode {
        /**
         * Identifier. The name of the database node resource in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloud_vm_cluster\}/dbNodes/{db_node\}
         */
        name?: string | null;
        /**
         * Optional. Various properties of the database node.
         */
        properties?: Schema$DbNodeProperties;
    }
    /**
     * Various properties and settings associated with Db node.
     */
    export interface Schema$DbNodeProperties {
        /**
         * Output only. The date and time that the database node was created.
         */
        createTime?: string | null;
        /**
         * Optional. Local storage per database node.
         */
        dbNodeStorageSizeGb?: number | null;
        /**
         * Optional. Database server OCID.
         */
        dbServerOcid?: string | null;
        /**
         * Optional. DNS
         */
        hostname?: string | null;
        /**
         * Memory allocated in GBs.
         */
        memorySizeGb?: number | null;
        /**
         * Output only. OCID of database node.
         */
        ocid?: string | null;
        /**
         * Optional. OCPU count per database node.
         */
        ocpuCount?: number | null;
        /**
         * Output only. State of the database node.
         */
        state?: string | null;
        /**
         * Total CPU core count of the database node.
         */
        totalCpuCoreCount?: number | null;
    }
    /**
     * Details of the database server resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbServer/
     */
    export interface Schema$DbServer {
        /**
         * Optional. User friendly name for this resource.
         */
        displayName?: string | null;
        /**
         * Identifier. The name of the database server resource with the format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}/dbServers/{db_server\}
         */
        name?: string | null;
        /**
         * Optional. Various properties of the database server.
         */
        properties?: Schema$DbServerProperties;
    }
    /**
     * Various properties and settings associated with Exadata database server.
     */
    export interface Schema$DbServerProperties {
        /**
         * Output only. OCID of database nodes associated with the database server.
         */
        dbNodeIds?: string[] | null;
        /**
         * Optional. Local storage per VM.
         */
        dbNodeStorageSizeGb?: number | null;
        /**
         * Optional. Maximum local storage per VM.
         */
        maxDbNodeStorageSizeGb?: number | null;
        /**
         * Optional. Maximum memory allocated in GBs.
         */
        maxMemorySizeGb?: number | null;
        /**
         * Optional. Maximum OCPU count per database.
         */
        maxOcpuCount?: number | null;
        /**
         * Optional. Memory allocated in GBs.
         */
        memorySizeGb?: number | null;
        /**
         * Output only. OCID of database server.
         */
        ocid?: string | null;
        /**
         * Optional. OCPU count per database.
         */
        ocpuCount?: number | null;
        /**
         * Output only. State of the database server.
         */
        state?: string | null;
        /**
         * Optional. Vm count per database.
         */
        vmCount?: number | null;
    }
    /**
     * Details of the DbSystem (BaseDB) resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbSystem/
     */
    export interface Schema$DbSystem {
        /**
         * Output only. The date and time that the DbSystem was created.
         */
        createTime?: string | null;
        /**
         * Required. The display name for the System db. The name does not have to be unique within your project.
         */
        displayName?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the DbSystem
         */
        entitlementId?: string | null;
        /**
         * Optional. The GCP Oracle zone where Oracle DbSystem is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.
         */
        gcpOracleZone?: string | null;
        /**
         * Optional. The labels or tags associated with the DbSystem.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the DbSystem resource in the following format: projects/{project\}/locations/{region\}/dbSystems/{db_system\}
         */
        name?: string | null;
        /**
         * Output only. HTTPS link to OCI resources exposed to Customer via UI Interface.
         */
        ociUrl?: string | null;
        /**
         * Optional. The name of the OdbNetwork associated with the DbSystem. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
         */
        odbNetwork?: string | null;
        /**
         * Required. The name of the OdbSubnet associated with the DbSystem for IP allocation. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        odbSubnet?: string | null;
        /**
         * Optional. The properties of the DbSystem.
         */
        properties?: Schema$DbSystemProperties;
    }
    /**
     * Summary of the DbSystem initial storage size.
     */
    export interface Schema$DbSystemInitialStorageSize {
        /**
         * Output only. The name of the resource.
         */
        name?: string | null;
        /**
         * Output only. The properties of the DbSystem initial storage size summary.
         */
        properties?: Schema$DbSystemInitialStorageSizeProperties;
    }
    /**
     * The properties of a DbSystem initial storage size summary.
     */
    export interface Schema$DbSystemInitialStorageSizeProperties {
        /**
         * Output only. List of storage disk details available for launches from backup.
         */
        launchFromBackupStorageSizeDetails?: Schema$StorageSizeDetails[];
        /**
         * Output only. VM shape platform type
         */
        shapeType?: string | null;
        /**
         * Output only. The storage option used in DB system.
         */
        storageManagement?: string | null;
        /**
         * Output only. List of storage disk details.
         */
        storageSizeDetails?: Schema$StorageSizeDetails[];
    }
    /**
     * Details of the DbSystem Options.
     */
    export interface Schema$DbSystemOptions {
        /**
         * Optional. The storage option used in DB system.
         */
        storageManagement?: string | null;
    }
    /**
     * The properties of a DbSystem.
     */
    export interface Schema$DbSystemProperties {
        /**
         * Required. The number of CPU cores to enable for the DbSystem.
         */
        computeCount?: number | null;
        /**
         * Optional. The compute model of the DbSystem.
         */
        computeModel?: string | null;
        /**
         * Required. The database edition of the DbSystem.
         */
        databaseEdition?: string | null;
        /**
         * Optional. Data collection options for diagnostics.
         */
        dataCollectionOptions?: Schema$DataCollectionOptionsDbSystem;
        /**
         * Optional. The data storage size in GB that is currently available to DbSystems. The value is same as initial_data_storage_size_gb. This can be modified from OCI console.
         */
        dataStorageSizeGb?: number | null;
        /**
         * Optional. Details for creating a Database Home.
         */
        dbHome?: Schema$DbHome;
        /**
         * Optional. The options for the DbSystem.
         */
        dbSystemOptions?: Schema$DbSystemOptions;
        /**
         * Optional. The host domain name of the DbSystem.
         */
        domain?: string | null;
        /**
         * Output only. The hostname of the DbSystem.
         */
        hostname?: string | null;
        /**
         * Optional. Prefix for DB System host names.
         */
        hostnamePrefix?: string | null;
        /**
         * Required. The initial data storage size in GB.
         */
        initialDataStorageSizeGb?: number | null;
        /**
         * Required. The license model of the DbSystem.
         */
        licenseModel?: string | null;
        /**
         * Output only. State of the DbSystem.
         */
        lifecycleState?: string | null;
        /**
         * Optional. The memory size in GB. This value can not be set and is automatically calculated based on the number of ECPUs allocated to the DbSystem.
         */
        memorySizeGb?: number | null;
        /**
         * Optional. The number of nodes to launch for a virtual machine DbSystem. By default this will be set to 1.
         */
        nodeCount?: number | null;
        /**
         * Output only. OCID of the DbSystem.
         */
        ocid?: string | null;
        /**
         * Optional. The private IP address of the DbSystem.
         */
        privateIp?: string | null;
        /**
         * Optional. The reco/redo storage size in GB. The value for recovery storage size is based on the available data storage size.
         */
        recoStorageSizeGb?: number | null;
        /**
         * Required. Shape of DB System.
         */
        shape?: string | null;
        /**
         * Required. SSH public keys to be stored with the DbSystem.
         */
        sshPublicKeys?: string[] | null;
        /**
         * Optional. Time zone of the DbSystem.
         */
        timeZone?: Schema$TimeZone;
    }
    /**
     * Details of the Database System Shapes resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbSystemShapeSummary/
     */
    export interface Schema$DbSystemShape {
        /**
         * Optional. Available core count.
         */
        availableCoreCount?: number | null;
        /**
         * Optional. Number of cores per node.
         */
        availableCoreCountPerNode?: number | null;
        /**
         * Optional. Storage per storage server in terabytes.
         */
        availableDataStorageTb?: number | null;
        /**
         * Optional. Memory per database server node in gigabytes.
         */
        availableMemoryPerNodeGb?: number | null;
        /**
         * Optional. Core count increment.
         */
        coreCountIncrement?: number | null;
        /**
         * Optional. Maximum number of database servers.
         */
        maxNodeCount?: number | null;
        /**
         * Optional. Maximum number of storage servers.
         */
        maxStorageCount?: number | null;
        /**
         * Optional. Minimum core count per node.
         */
        minCoreCountPerNode?: number | null;
        /**
         * Optional. Minimum node storage per database server in gigabytes.
         */
        minDbNodeStoragePerNodeGb?: number | null;
        /**
         * Optional. Minimum core count per node.
         */
        minimumCoreCount?: number | null;
        /**
         * Optional. Minimum memory per node in gigabytes.
         */
        minMemoryPerNodeGb?: number | null;
        /**
         * Optional. Minimum number of database servers.
         */
        minNodeCount?: number | null;
        /**
         * Optional. Minimum number of storage servers.
         */
        minStorageCount?: number | null;
        /**
         * Identifier. The name of the Database System Shape resource with the format: projects/{project\}/locations/{region\}/dbSystemShapes/{db_system_shape\}
         */
        name?: string | null;
        /**
         * Optional. shape
         */
        shape?: string | null;
    }
    /**
     * A valid Oracle Database version.
     */
    export interface Schema$DbVersion {
        /**
         * Output only. The name of the DbVersion resource in the following format: projects/{project\}/locations/{region\}/dbVersions/{db_version\}
         */
        name?: string | null;
        /**
         * Output only. The properties of the DbVersion.
         */
        properties?: Schema$DbVersionProperties;
    }
    /**
     * The properties of a DbVersion.
     */
    export interface Schema$DbVersionProperties {
        /**
         * Output only. True if this version of the Oracle Database software is the latest version for a release.
         */
        isLatestForMajorVersion?: boolean | null;
        /**
         * Output only. True if this version of the Oracle Database software is the preview version.
         */
        isPreviewDbVersion?: boolean | null;
        /**
         * Output only. True if this version of the Oracle Database software is supported for Upgrade.
         */
        isUpgradeSupported?: boolean | null;
        /**
         * Output only. True if this version of the Oracle Database software supports pluggable databases.
         */
        supportsPdb?: boolean | null;
        /**
         * Output only. A valid Oracle Database version.
         */
        version?: string | null;
    }
    /**
     * Wrapper message for the value of a defined tag.
     */
    export interface Schema$DefinedTagValue {
        /**
         * The tags within the namespace.
         */
        tags?: {
            [key: string]: string;
        } | null;
    }
    /**
     * The deployment diagnostic data.
     */
    export interface Schema$DeploymentDiagnosticData {
        /**
         * Output only. The bucket name.
         */
        bucket?: string | null;
        /**
         * Output only. The time diagnostic end.
         */
        diagnosticEndTime?: string | null;
        /**
         * Output only. The time diagnostic start.
         */
        diagnosticStartTime?: string | null;
        /**
         * Output only. The diagnostic state.
         */
        diagnosticState?: string | null;
        /**
         * Output only. The namespace name.
         */
        namespace?: string | null;
        /**
         * Output only. The object name.
         */
        object?: string | null;
    }
    /**
     * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
     */
    export interface Schema$Empty {
    }
    /**
     * The encryption key used to encrypt the Autonomous Database.
     */
    export interface Schema$EncryptionKey {
        /**
         * Optional. The KMS key used to encrypt the Autonomous Database. This field is required if the provider is GOOGLE_MANAGED. The name of the KMS key resource in the following format: `projects/{project\}/locations/{location\}/keyRings/{key_ring\}/cryptoKeys/{crypto_key\}`.
         */
        kmsKey?: string | null;
        /**
         * Optional. The provider of the encryption key.
         */
        provider?: string | null;
    }
    /**
     * The history of the encryption keys used to encrypt the Autonomous Database.
     */
    export interface Schema$EncryptionKeyHistoryEntry {
        /**
         * Output only. The date and time when the encryption key was activated on the Autonomous Database..
         */
        activationTime?: string | null;
        /**
         * Output only. The encryption key used to encrypt the Autonomous Database.
         */
        encryptionKey?: Schema$EncryptionKey;
    }
    /**
     * Details of the Entitlement resource.
     */
    export interface Schema$Entitlement {
        /**
         * Details of the OCI Cloud Account.
         */
        cloudAccountDetails?: Schema$CloudAccountDetails;
        /**
         * Output only. Google Cloud Marketplace order ID (aka entitlement ID)
         */
        entitlementId?: string | null;
        /**
         * Identifier. The name of the Entitlement resource with the format: projects/{project\}/locations/{region\}/entitlements/{entitlement\}
         */
        name?: string | null;
        /**
         * Output only. Entitlement State.
         */
        state?: string | null;
    }
    /**
     * ExadbVmCluster represents a cluster of VMs that are used to run Exadata workloads. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExadbVmCluster/
     */
    export interface Schema$ExadbVmCluster {
        /**
         * Required. Immutable. The name of the backup OdbSubnet associated with the ExadbVmCluster. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        backupOdbSubnet?: string | null;
        /**
         * Output only. The date and time that the ExadbVmCluster was created.
         */
        createTime?: string | null;
        /**
         * Required. Immutable. The display name for the ExadbVmCluster. The name does not have to be unique within your project. The name must be 1-255 characters long and can only contain alphanumeric characters.
         */
        displayName?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the ExadbVmCluster.
         */
        entitlementId?: string | null;
        /**
         * Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault.
         */
        gcpOracleZone?: string | null;
        /**
         * Output only. The identity connector details which will allow OCI to securely access the resources in the customer project.
         */
        identityConnector?: Schema$IdentityConnector;
        /**
         * Optional. The labels or tags associated with the ExadbVmCluster.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project\}/locations/{region\}/exadbVmClusters/{exadb_vm_cluster\}
         */
        name?: string | null;
        /**
         * Optional. Immutable. The name of the OdbNetwork associated with the ExadbVmCluster. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
         */
        odbNetwork?: string | null;
        /**
         * Required. Immutable. The name of the OdbSubnet associated with the ExadbVmCluster for IP allocation. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        odbSubnet?: string | null;
        /**
         * Required. The properties of the ExadbVmCluster.
         */
        properties?: Schema$ExadbVmClusterProperties;
    }
    /**
     * The properties of an ExadbVmCluster.
     */
    export interface Schema$ExadbVmClusterProperties {
        /**
         * Optional. Immutable. The number of additional ECPUs per node for an Exadata VM cluster on exascale infrastructure.
         */
        additionalEcpuCountPerNode?: number | null;
        /**
         * Optional. Immutable. The cluster name for Exascale vm cluster. The cluster name must begin with an alphabetic character and may contain hyphens(-) but can not contain underscores(_). It should be not more than 11 characters and is not case sensitive. OCI Cluster name.
         */
        clusterName?: string | null;
        /**
         * Optional. Immutable. Indicates user preference for data collection options.
         */
        dataCollectionOptions?: Schema$DataCollectionOptionsCommon;
        /**
         * Required. Immutable. The number of ECPUs enabled per node for an exadata vm cluster on exascale infrastructure.
         */
        enabledEcpuCountPerNode?: number | null;
        /**
         * Required. Immutable. The name of ExascaleDbStorageVault associated with the ExadbVmCluster. It can refer to an existing ExascaleDbStorageVault. Or a new one can be created during the ExadbVmCluster creation (requires storage_vault_properties to be set). Format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}
         */
        exascaleDbStorageVault?: string | null;
        /**
         * Output only. The Oracle Grid Infrastructure (GI) software version.
         */
        giVersion?: string | null;
        /**
         * Required. Immutable. Grid Infrastructure Version.
         */
        gridImageId?: string | null;
        /**
         * Output only. The hostname of the ExadbVmCluster.
         */
        hostname?: string | null;
        /**
         * Required. Immutable. Prefix for VM cluster host names.
         */
        hostnamePrefix?: string | null;
        /**
         * Optional. Immutable. The license type of the ExadbVmCluster.
         */
        licenseModel?: string | null;
        /**
         * Output only. State of the cluster.
         */
        lifecycleState?: string | null;
        /**
         * Output only. Memory per VM (GB) (Read-only): Shows the amount of memory allocated to each VM. Memory is calculated based on 2.75 GB per Total ECPUs.
         */
        memorySizeGb?: number | null;
        /**
         * Required. The number of nodes/VMs in the ExadbVmCluster.
         */
        nodeCount?: number | null;
        /**
         * Output only. Deep link to the OCI console to view this resource.
         */
        ociUri?: string | null;
        /**
         * Optional. Immutable. SCAN listener port - TCP
         */
        scanListenerPortTcp?: number | null;
        /**
         * Required. Immutable. The shape attribute of the VM cluster. The type of Exascale storage used for Exadata VM cluster. The default is SMART_STORAGE which supports Oracle Database 23ai and later
         */
        shapeAttribute?: string | null;
        /**
         * Required. Immutable. The SSH public keys for the ExadbVmCluster.
         */
        sshPublicKeys?: string[] | null;
        /**
         * Optional. Immutable. The time zone of the ExadbVmCluster.
         */
        timeZone?: Schema$TimeZone;
        /**
         * Required. Immutable. Total storage details for the ExadbVmCluster.
         */
        vmFileSystemStorage?: Schema$ExadbVmClusterStorageDetails;
    }
    /**
     * The storage allocation for the exadbvmcluster, in gigabytes (GB).
     */
    export interface Schema$ExadbVmClusterStorageDetails {
        /**
         * Required. The storage allocation for the exadbvmcluster per node, in gigabytes (GB). This field is used to calculate the total storage allocation for the exadbvmcluster.
         */
        sizeInGbsPerNode?: number | null;
    }
    /**
     * Details of the Exascale configuration for the Exadata Infrastructure.
     */
    export interface Schema$ExascaleConfig {
        /**
         * Output only. Available storage size for Exascale in GBs.
         */
        availableStorageSizeGb?: number | null;
        /**
         * Output only. Total storage size needed for Exascale in GBs.
         */
        totalStorageSizeGb?: number | null;
    }
    /**
     * The storage details of the ExascaleDbStorageVault.
     */
    export interface Schema$ExascaleDbStorageDetails {
        /**
         * Output only. The available storage capacity for the ExascaleDbStorageVault, in gigabytes (GB).
         */
        availableSizeGbs?: number | null;
        /**
         * Required. The total storage allocation for the ExascaleDbStorageVault, in gigabytes (GB).
         */
        totalSizeGbs?: number | null;
    }
    /**
     * ExascaleDbStorageVault represents a storage vault exadb vm cluster resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExascaleDbStorageVault/
     */
    export interface Schema$ExascaleDbStorageVault {
        /**
         * Output only. The date and time when the ExascaleDbStorageVault was created.
         */
        createTime?: string | null;
        /**
         * Required. The display name for the ExascaleDbStorageVault. The name does not have to be unique within your project. The name must be 1-255 characters long and can only contain alphanumeric characters.
         */
        displayName?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the ExascaleDbStorageVault.
         */
        entitlementId?: string | null;
        /**
         * Optional. The Exadata Infrastructure resource on which ExascaleDbStorageVault resource is created, in the following format: projects/{project\}/locations/{region\}/cloudExadataInfrastuctures/{cloud_extradata_infrastructure\}
         */
        exadataInfrastructure?: string | null;
        /**
         * Optional. The GCP Oracle zone where Oracle ExascaleDbStorageVault is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.
         */
        gcpOracleZone?: string | null;
        /**
         * Optional. The labels or tags associated with the ExascaleDbStorageVault.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The resource name of the ExascaleDbStorageVault. Format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}
         */
        name?: string | null;
        /**
         * Required. The properties of the ExascaleDbStorageVault.
         */
        properties?: Schema$ExascaleDbStorageVaultProperties;
    }
    /**
     * The properties of the ExascaleDbStorageVault. next ID: 12
     */
    export interface Schema$ExascaleDbStorageVaultProperties {
        /**
         * Optional. The size of additional flash cache in percentage of high capacity database storage.
         */
        additionalFlashCachePercent?: number | null;
        /**
         * Output only. The shape attributes of the VM clusters attached to the ExascaleDbStorageVault.
         */
        attachedShapeAttributes?: string[] | null;
        /**
         * Output only. The shape attributes available for the VM clusters to be attached to the ExascaleDbStorageVault.
         */
        availableShapeAttributes?: string[] | null;
        /**
         * Optional. The description of the ExascaleDbStorageVault.
         */
        description?: string | null;
        /**
         * Required. The storage details of the ExascaleDbStorageVault.
         */
        exascaleDbStorageDetails?: Schema$ExascaleDbStorageDetails;
        /**
         * Output only. The OCID for the ExascaleDbStorageVault.
         */
        ocid?: string | null;
        /**
         * Output only. Deep link to the OCI console to view this resource.
         */
        ociUri?: string | null;
        /**
         * Output only. The state of the ExascaleDbStorageVault.
         */
        state?: string | null;
        /**
         * Output only. The time zone of the ExascaleDbStorageVault.
         */
        timeZone?: Schema$TimeZone;
        /**
         * Output only. The number of VM clusters associated with the ExascaleDbStorageVault.
         */
        vmClusterCount?: number | null;
        /**
         * Output only. The list of VM cluster OCIDs associated with the ExascaleDbStorageVault.
         */
        vmClusterIds?: string[] | null;
    }
    /**
     * The request for `OracleDatabase.FailoverAutonomousDatabase`.
     */
    export interface Schema$FailoverAutonomousDatabaseRequest {
        /**
         * Optional. The peer database name to fail over to. Required for cross-region standby, and must be omitted for in-region Data Guard.
         */
        peerAutonomousDatabase?: string | null;
    }
    /**
     * The request for `AutonomousDatabase.GenerateWallet`.
     */
    export interface Schema$GenerateAutonomousDatabaseWalletRequest {
        /**
         * Optional. True when requesting regional connection strings in PDB connect info, applicable to cross-region Data Guard only.
         */
        isRegional?: boolean | null;
        /**
         * Required. The password used to encrypt the keys inside the wallet. The password must be a minimum of 8 characters.
         */
        password?: string | null;
        /**
         * Optional. The type of wallet generation for the Autonomous Database. The default value is SINGLE.
         */
        type?: string | null;
    }
    /**
     * The response for `AutonomousDatabase.GenerateWallet`.
     */
    export interface Schema$GenerateAutonomousDatabaseWalletResponse {
        /**
         * Output only. The base64 encoded wallet files.
         */
        archiveContent?: string | null;
    }
    /**
     * Details of the Oracle Grid Infrastructure (GI) version resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/GiVersionSummary/
     */
    export interface Schema$GiVersion {
        /**
         * Identifier. The name of the Oracle Grid Infrastructure (GI) version resource with the format: projects/{project\}/locations/{region\}/giVersions/{gi_versions\}
         */
        name?: string | null;
        /**
         * Optional. version
         */
        version?: string | null;
    }
    /**
     * The Glue Iceberg catalog.
     */
    export interface Schema$GlueIcebergCatalog {
        /**
         * Required. The catalog ID of Glue.
         */
        glueId?: string | null;
    }
    /**
     * The properties of GoldengateAmazonKinesisConnection.
     */
    export interface Schema$GoldengateAmazonKinesisConnectionProperties {
        /**
         * Optional. Access key ID to access the Amazon Kinesis.
         */
        accessKeyId?: string | null;
        /**
         * Optional. The name of the AWS region. If not provided, Goldengate will default to 'us-west-1'.
         */
        awsRegion?: string | null;
        /**
         * Optional. The endpoint URL of the Amazon Kinesis service. e.g.: 'https://kinesis.us-east-1.amazonaws.com' If not provided, Goldengate will default to 'https://kinesis..amazonaws.com'.
         */
        endpoint?: string | null;
        /**
         * Optional. Secret access key to access the Amazon Kinesis.
         */
        secretAccessKeySecret?: string | null;
        /**
         * Optional. The technology type of AmazonKinesisConnection.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateAmazonRedshiftConnection.
     */
    export interface Schema$GoldengateAmazonRedshiftConnectionProperties {
        /**
         * Optional. Connection URL. e.g.: 'jdbc:redshift://aws-redshift-instance.aaaaaaaaaaaa.us-east-2.redshift.amazonaws.com:5439/mydb'
         */
        connectionUrl?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for Amazon Redshift connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for Amazon Redshift connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The technology type of AmazonRedshiftConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateAmazonS3Connection.
     */
    export interface Schema$GoldengateAmazonS3ConnectionProperties {
        /**
         * Optional. Access key ID to access the Amazon S3 bucket.
         */
        accessKeyId?: string | null;
        /**
         * Optional. The Amazon Endpoint for S3.
         */
        endpoint?: string | null;
        /**
         * Optional. The name of the AWS region where the bucket is created.
         */
        region?: string | null;
        /**
         * Optional. Secret access key to access the Amazon S3 bucket.
         */
        secretAccessKeySecret?: string | null;
        /**
         * Optional. The technology type of AmazonS3Connection.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateAzureDataLakeStorageConnection.
     */
    export interface Schema$GoldengateAzureDataLakeStorageConnectionProperties {
        /**
         * Optional. Sets the Azure storage account name.
         */
        account?: string | null;
        /**
         * Optional. Azure storage account key. This property is required when 'authentication_type' is set to 'SHARED_KEY'.
         */
        accountKeySecret?: string | null;
        /**
         * Optional. Authentication mechanism to access Azure Data Lake Storage.
         */
        authenticationType?: string | null;
        /**
         * Optional. The endpoint used for authentication with Microsoft Entra ID (formerly Azure Active Directory). Default value: https://login.microsoftonline.com
         */
        azureAuthorityHost?: string | null;
        /**
         * Optional. Azure tenant ID of the application. This property is required when 'authentication_type' is set to 'AZURE_ACTIVE_DIRECTORY'.
         */
        azureTenantId?: string | null;
        /**
         * Optional. Azure client ID of the application. This property is required when 'authentication_type' is set to 'AZURE_ACTIVE_DIRECTORY'.
         */
        clientId?: string | null;
        /**
         * Optional. Azure client secret (aka application password) for authentication.
         */
        clientSecret?: string | null;
        /**
         * Optional. Azure Storage service endpoint. e.g: https://test.blob.core.windows.net
         */
        endpoint?: string | null;
        /**
         * Optional. Credential that uses a shared access signature (SAS) to authenticate to an Azure Service.
         */
        sasTokenSecret?: string | null;
        /**
         * Optional. The technology type of AzureDataLakeStorageConnection.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateAzureSynapseAnalyticsConnection.
     */
    export interface Schema$GoldengateAzureSynapseAnalyticsConnectionProperties {
        /**
         * Optional. JDBC connection string. e.g.: 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=300;'
         */
        connectionString?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for Azure Synapse Analytics connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for Azure Synapse Analytics connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The technology type of AzureSynapseAnalyticsConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The backup schedule of the GoldengateDeployment.
     */
    export interface Schema$GoldengateBackupSchedule {
        /**
         * Output only. The timestamp of when the backup was scheduled.
         */
        backupScheduledTime?: string | null;
        /**
         * Output only. The bucket name.
         */
        bucket?: string | null;
        /**
         * Output only. The compartment id.
         */
        compartmentId?: string | null;
        /**
         * Output only. The frequency backup scheduled.
         */
        frequencyBackupScheduled?: string | null;
        /**
         * Output only. If metadata only.
         */
        metadataOnly?: boolean | null;
        /**
         * Output only. The namespace name.
         */
        namespace?: string | null;
    }
    /**
     * Details of the GoldengateConnection resource.
     */
    export interface Schema$GoldengateConnection {
        /**
         * Output only. The date and time that the GoldengateConnection was created.
         */
        createTime?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the GoldengateConnection.
         */
        entitlementId?: string | null;
        /**
         * Optional. The GCP Oracle zone where Oracle GoldengateConnection is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.
         */
        gcpOracleZone?: string | null;
        /**
         * Optional. The labels or tags associated with the GoldengateConnection.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the GoldengateConnection resource in the following format: projects/{project\}/locations/{region\}/goldengateConnections/{goldengate_connection\}
         */
        name?: string | null;
        /**
         * Output only. HTTPS link to OCI resources exposed to Customer via UI Interface.
         */
        ociUrl?: string | null;
        /**
         * Optional. The name of the OdbNetwork associated with the GoldengateConnection. The format is projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}. It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
         */
        odbNetwork?: string | null;
        /**
         * Optional. The name of the OdbSubnet associated with the GoldengateConnection for IP allocation. Format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        odbSubnet?: string | null;
        /**
         * Required. The properties of the GoldengateConnection.
         */
        properties?: Schema$GoldengateConnectionProperties;
    }
    /**
     * Represents the metadata of a Goldengate Connection Assignment.
     */
    export interface Schema$GoldengateConnectionAssignment {
        /**
         * Output only. The time when the connection assignment was created.
         */
        createTime?: string | null;
        /**
         * Optional. The display name for the GoldengateConnectionAssignment.
         */
        displayName?: string | null;
        /**
         * Output only. The OCID of the entitlement linked to this resource.
         */
        entitlementId?: string | null;
        /**
         * Optional. The labels or tags associated with the GoldengateConnectionAssignment.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the GoldengateConnectionAssignment resource in the following format: projects/{project\}/locations/{region\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         */
        name?: string | null;
        /**
         * Required. The properties of the GoldengateConnectionAssignment.
         */
        properties?: Schema$GoldengateConnectionAssignmentProperties;
    }
    /**
     * The properties of a GoldengateConnectionAssignment.
     */
    export interface Schema$GoldengateConnectionAssignmentProperties {
        /**
         * Output only. Credential store alias.
         */
        alias?: string | null;
        /**
         * Required. The GoldengateConnection resource to be assigned. Format: projects/{project\}/locations/{location\}/goldengateConnections/{goldengate_connection\}
         */
        goldengateConnection?: string | null;
        /**
         * Required. The GoldenGateDeployment to assign the connection to. Format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}
         */
        goldengateDeployment?: string | null;
        /**
         * Output only. The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the connection assignment being referenced.
         */
        ocid?: string | null;
        /**
         * Output only. The lifecycle state of the connection assignment.
         */
        state?: string | null;
    }
    /**
     * The properties of a GoldengateConnection.
     */
    export interface Schema$GoldengateConnectionProperties {
        /**
         * Properties for an Amazon Kinesis connection.
         */
        amazonKinesisConnectionProperties?: Schema$GoldengateAmazonKinesisConnectionProperties;
        /**
         * Properties for an Amazon Redshift connection.
         */
        amazonRedshiftConnectionProperties?: Schema$GoldengateAmazonRedshiftConnectionProperties;
        /**
         * Properties for an Amazon S3 connection.
         */
        amazonS3ConnectionProperties?: Schema$GoldengateAmazonS3ConnectionProperties;
        /**
         * Properties for an Azure Data Lake Storage Connection.
         */
        azureDataLakeStorageConnectionProperties?: Schema$GoldengateAzureDataLakeStorageConnectionProperties;
        /**
         * Properties for an Azure Synapse Analytics connection.
         */
        azureSynapseAnalyticsConnectionProperties?: Schema$GoldengateAzureSynapseAnalyticsConnectionProperties;
        /**
         * Required. The connection type.
         */
        connectionType?: string | null;
        /**
         * Properties for a Databricks connection.
         */
        databricksConnectionProperties?: Schema$GoldengateDatabricksConnectionProperties;
        /**
         * Properties for a DB2 connection.
         */
        db2ConnectionProperties?: Schema$GoldengateDb2ConnectionProperties;
        /**
         * Optional. Metadata about this specific object.
         */
        description?: string | null;
        /**
         * Required. An object's Display Name.
         */
        displayName?: string | null;
        /**
         * Properties for an Elasticsearch connection.
         */
        elasticsearchConnectionProperties?: Schema$GoldengateElasticsearchConnectionProperties;
        /**
         * Properties for a Generic Connection.
         */
        genericConnectionProperties?: Schema$GoldengateGenericConnectionProperties;
        /**
         * Properties for a Goldengate Connection.
         */
        goldengateConnectionProperties?: Schema$GoldengateGoldengateConnectionProperties;
        /**
         * Properties for a Google BigQuery Connection.
         */
        googleBigQueryConnectionProperties?: Schema$GoldengateGoogleBigQueryConnectionProperties;
        /**
         * Properties for a Google Cloud Storage Connection.
         */
        googleCloudStorageConnectionProperties?: Schema$GoldengateGoogleCloudStorageConnectionProperties;
        /**
         * Properties for a Google Pub/Sub connection.
         */
        googlePubsubConnectionProperties?: Schema$GoldengateGooglePubsubConnectionProperties;
        /**
         * Properties for an HDFS connection.
         */
        hdfsConnectionProperties?: Schema$GoldengateHdfsConnectionProperties;
        /**
         * Properties for an Iceberg connection.
         */
        icebergConnectionProperties?: Schema$GoldengateIcebergConnectionProperties;
        /**
         * Output only. The Ingress IPs of the GoldengateConnection.
         */
        ingressIpAddresses?: string[] | null;
        /**
         * Properties for a Java Message Service connection.
         */
        javaMessageServiceConnectionProperties?: Schema$GoldengateJavaMessageServiceConnectionProperties;
        /**
         * Properties for a Kafka Connection.
         */
        kafkaConnectionProperties?: Schema$GoldengateKafkaConnectionProperties;
        /**
         * Properties for a Kafka Schema Registry Connection.
         */
        kafkaSchemaRegistryConnectionProperties?: Schema$GoldengateKafkaSchemaRegistryConnectionProperties;
        /**
         * Output only. Describes the object's current state in detail. For example, it can be used to provide actionable information for a resource in a Failed state.
         */
        lifecycleDetails?: string | null;
        /**
         * Output only. The lifecycle state of the connection.
         */
        lifecycleState?: string | null;
        /**
         * Properties for a Microsoft Fabric connection.
         */
        microsoftFabricConnectionProperties?: Schema$GoldengateMicrosoftFabricConnectionProperties;
        /**
         * Properties for a Microsoft SQL Server connection.
         */
        microsoftSqlserverConnectionProperties?: Schema$GoldengateMicrosoftSqlserverConnectionProperties;
        /**
         * Properties for a MongoDB connection.
         */
        mongodbConnectionProperties?: Schema$GoldengateMongodbConnectionProperties;
        /**
         * Properties for a Mysql Connection.
         */
        mysqlConnectionProperties?: Schema$GoldengateMysqlConnectionProperties;
        /**
         * Output only. The [OCID] of the connection being referenced.
         */
        ocid?: string | null;
        /**
         * Properties for an OCI Object Storage Connection.
         */
        ociObjectStorageConnectionProperties?: Schema$GoldengateOciObjectStorageConnectionProperties;
        /**
         * Properties for an Oracle AI Data Platform connection.
         */
        oracleAiDataPlatformConnectionProperties?: Schema$GoldengateOracleAIDataPlatformConnectionProperties;
        /**
         * Properties for an Oracle Database Connection.
         */
        oracleConnectionProperties?: Schema$GoldengateOracleConnectionProperties;
        /**
         * Properties for an Oracle NoSQL connection.
         */
        oracleNosqlConnectionProperties?: Schema$GoldengateOracleNosqlConnectionProperties;
        /**
         * Properties for a PostgreSQL connection.
         */
        postgresqlConnectionProperties?: Schema$GoldengatePostgresqlConnectionProperties;
        /**
         * Properties for a Redis connection.
         */
        redisConnectionProperties?: Schema$GoldengateRedisConnectionProperties;
        /**
         * Optional. The routing method for the GoldengateConnection.
         */
        routingMethod?: string | null;
        /**
         * Properties for a Snowflake connection.
         */
        snowflakeConnectionProperties?: Schema$GoldengateSnowflakeConnectionProperties;
        /**
         * Output only. The time the resource was last updated.
         */
        updateTime?: string | null;
    }
    /**
     * Details of the Goldengate Connection Type resource.
     */
    export interface Schema$GoldengateConnectionType {
        /**
         * Output only. The connection type of the Goldengate Connection Type resource.
         */
        connectionType?: string | null;
        /**
         * Identifier. The name of the Goldengate Connection Type resource with the format: projects/{project\}/locations/{region\}/goldengateConnectionTypes/{goldengate_connection_type\}
         */
        name?: string | null;
        /**
         * Output only. The technology type of the Goldengate Connection Type resource.
         */
        technologyTypes?: string[] | null;
    }
    /**
     * The properties of GoldengateDatabricksConnection.
     */
    export interface Schema$GoldengateDatabricksConnectionProperties {
        /**
         * Optional. Authentication type for Databricks.
         */
        authenticationType?: string | null;
        /**
         * Optional. OAuth client id, only applicable for authentication_type == OAUTH_M2M
         */
        clientId?: string | null;
        /**
         * Optional. OAuth client secret, only applicable for authentication_type == OAUTH_M2M
         */
        clientSecret?: string | null;
        /**
         * Optional. Connection URL. e.g.: 'jdbc:databricks://adb-33934.4.azuredatabricks.net:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3393########44/0##3-7-hlrb'
         */
        connectionUrl?: string | null;
        /**
         * Optional. Input only. The password used to connect to Databricks in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password used to connect to Databricks. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. External storage credential name to access files on object storage such as ADLS Gen2, S3 or Cloud Storage.
         */
        storageCredential?: string | null;
        /**
         * Optional. The technology type of DatabricksConnection.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateDb2Connection.
     */
    export interface Schema$GoldengateDb2ConnectionProperties {
        /**
         * Optional. An array of name-value pair attribute entries. Used as additional parameters in connection string.
         */
        additionalAttributes?: Schema$NameValuePair[];
        /**
         * Optional. The name of the database.
         */
        database?: string | null;
        /**
         * Optional. The name or address of a host.
         */
        host?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for Db2 connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for Db2 connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The port of an endpoint usually specified for a connection.
         */
        port?: number | null;
        /**
         * Optional. Security protocol for the DB2 database.
         */
        securityProtocol?: string | null;
        /**
         * Optional. The keystash file which contains the encrypted password to the key database file. Not supported for IBM Db2 for i.
         */
        sslClientKeystashFile?: string | null;
        /**
         * Optional. The keystore file created at the client containing the server certificate / CA root certificate. Not supported for IBM Db2 for i.
         */
        sslClientKeystoredbFile?: string | null;
        /**
         * Optional. The file which contains the self-signed server certificate / Certificate Authority (CA) certificate.
         */
        sslServerCertificateFile?: string | null;
        /**
         * Optional. The technology type of Db2Connection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect to the DB2 database.
         */
        username?: string | null;
    }
    /**
     * GoldengateDeployment Goldengate Deployment resource model.
     */
    export interface Schema$GoldengateDeployment {
        /**
         * Output only. The date and time that the GoldengateDeployment was created.
         */
        createTime?: string | null;
        /**
         * Required. The display name for the GoldengateDeployment.
         */
        displayName?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the GoldengateDeployment
         */
        entitlementId?: string | null;
        /**
         * Optional. The GCP Oracle zone where Oracle GoldengateDeployment is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.
         */
        gcpOracleZone?: string | null;
        /**
         * Optional. The labels or tags associated with the GoldengateDeployment.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the GoldengateDeployment resource in the following format: projects/{project\}/locations/{region\}/goldengateDeployments/{goldengate_deployment\}
         */
        name?: string | null;
        /**
         * Output only. HTTPS link to OCI resources exposed to Customer via UI Interface.
         */
        ociUrl?: string | null;
        /**
         * Optional. The name of the OdbNetwork associated with the GoldengateDeployment.
         */
        odbNetwork?: string | null;
        /**
         * Required. The name of the OdbSubnet associated with the GoldengateDeployment for IP allocation.
         */
        odbSubnet?: string | null;
        /**
         * Required. The properties of the GoldengateDeployment.
         */
        properties?: Schema$GoldengateDeploymentProperties;
    }
    /**
     * Details of the Goldengate Deployment Environment resource.
     */
    export interface Schema$GoldengateDeploymentEnvironment {
        /**
         * Output only. Whether auto scaling is enabled by default for the Goldengate Deployment Environment resource.
         */
        autoScalingEnabled?: boolean | null;
        /**
         * Output only. The category of the Goldengate Deployment Environment resource.
         */
        category?: string | null;
        /**
         * Output only. The default CPU core count of the Goldengate Deployment Environment resource.
         */
        defaultCpuCoreCount?: number | null;
        /**
         * The display name of the Goldengate Deployment Environment resource.
         */
        displayName?: string | null;
        /**
         * Output only. The environment type of the Goldengate Deployment Environment resource.
         */
        environmentType?: string | null;
        /**
         * Output only. The max CPU core count of the Goldengate Deployment Environment resource.
         */
        maxCpuCoreCount?: number | null;
        /**
         * Output only. The memory per CPU core in GBs of the Goldengate Deployment Environment resource.
         */
        memoryGbPerCpuCore?: number | null;
        /**
         * Output only. The min CPU core count of the Goldengate Deployment Environment resource.
         */
        minCpuCoreCount?: number | null;
        /**
         * Identifier. The name of the Goldengate Deployment Environment resource with the format: projects/{project\}/locations/{location\}/goldengateDeploymentEnvironments/{goldengate_deployment_environment\}
         */
        name?: string | null;
        /**
         * Output only. The network bandwidth per CPU core in Gbps of the Goldengate Deployment Environment resource.
         */
        networkBandwidthGbpsPerCpuCore?: number | null;
        /**
         * Output only. The storage usage limit per CPU core in GBs of the Goldengate Deployment Environment resource.
         */
        storageUsageLimitGbPerCpuCore?: number | null;
    }
    /**
     * The lock of the GoldengateDeployment.
     */
    export interface Schema$GoldengateDeploymentLock {
        /**
         * Output only. The compartment id.
         */
        compartmentId?: string | null;
        /**
         * Output only. The time created.
         */
        createTime?: string | null;
        /**
         * Output only. The message.
         */
        message?: string | null;
        /**
         * Output only. The related resource id.
         */
        relatedResourceId?: string | null;
        /**
         * Output only. The type of lock.
         */
        type?: string | null;
    }
    /**
     * Properties of GoldengateDeployment.
     */
    export interface Schema$GoldengateDeploymentProperties {
        /**
         * Output only. The backup schedule of the GoldengateDeployment.
         */
        backupSchedule?: Schema$GoldengateBackupSchedule;
        /**
         * Output only. The category of the GoldengateDeployment.
         */
        category?: string | null;
        /**
         * Optional. The Minimum number of OCPUs to be made available for this Deployment.
         */
        cpuCoreCount?: number | null;
        /**
         * Output only. The deployment backup id of the GoldengateDeployment.
         */
        deploymentBackupId?: string | null;
        /**
         * Output only. The deployment diagnostic data of the GoldengateDeployment.
         */
        deploymentDiagnosticData?: Schema$DeploymentDiagnosticData;
        /**
         * Output only. The deployment role of the GoldengateDeployment.
         */
        deploymentRole?: string | null;
        /**
         * Required. A valid Goldengate Deployment type. For a list of supported types, use the `ListGoldengateDeploymentTypes` operation.
         */
        deploymentType?: string | null;
        /**
         * Output only. The deployment url of the GoldengateDeployment.
         */
        deploymentUrl?: string | null;
        /**
         * Optional. The description of the GoldengateDeployment.
         */
        description?: string | null;
        /**
         * Optional. The environment type of the GoldengateDeployment.
         */
        environmentType?: string | null;
        /**
         * Output only. The Fully Qualified Domain Name of the GoldengateDeployment.
         */
        fqdn?: string | null;
        /**
         * Output only. Whether the GoldengateDeployment is healthy.
         */
        healthy?: boolean | null;
        /**
         * Output only. The ingress ips of the GoldengateDeployment.
         */
        ingressIps?: Schema$IngressIp[];
        /**
         * Optional. Indicates if auto scaling is enabled for the Deployment's CPU core count.
         */
        isAutoScalingEnabled?: boolean | null;
        /**
         * Output only. Whether the GoldengateDeployment is of the latest version.
         */
        isLatestVersion?: boolean | null;
        /**
         * Output only. Whether the GoldengateDeployment is public.
         */
        isPublic?: boolean | null;
        /**
         * Output only. Whether storage utilization limit is exceeded of the GoldengateDeployment.
         */
        isStorageUtilizationLimitExceeded?: boolean | null;
        /**
         * Output only. The time last backup scheduled of the GoldengateDeployment.
         */
        lastBackupScheduleTime?: string | null;
        /**
         * Optional. The Oracle license model that applies to a Deployment.
         */
        licenseModel?: string | null;
        /**
         * Output only. The lifecycle details of the GoldengateDeployment.
         */
        lifecycleDetails?: string | null;
        /**
         * Output only. State of the GoldengateDeployment.
         */
        lifecycleState?: string | null;
        /**
         * Output only. The lifecycle sub-state of the GoldengateDeployment.
         */
        lifecycleSubState?: string | null;
        /**
         * Output only. The load balancer id of the GoldengateDeployment.
         */
        loadBalancerId?: string | null;
        /**
         * Output only. The load balancer subnet id of the GoldengateDeployment.
         */
        loadBalancerSubnetId?: string | null;
        /**
         * Output only. The locks of the GoldengateDeployment.
         */
        locks?: Schema$GoldengateDeploymentLock[];
        /**
         * Optional. The maintenance configuration of the GoldengateDeployment.
         */
        maintenanceConfig?: Schema$GoldengateMaintenanceConfig;
        /**
         * Optional. The maintenance window of the GoldengateDeployment.
         */
        maintenanceWindow?: Schema$GoldengateMaintenanceWindow;
        /**
         * Output only. The time next backup scheduled of the GoldengateDeployment.
         */
        nextBackupScheduleTime?: string | null;
        /**
         * Output only. The next maintenance action type of the GoldengateDeployment.
         */
        nextMaintenanceActionType?: string | null;
        /**
         * Output only. The next maintenance description of the GoldengateDeployment.
         */
        nextMaintenanceDescription?: string | null;
        /**
         * Output only. The time of next maintenance of the GoldengateDeployment.
         */
        nextMaintenanceTime?: string | null;
        /**
         * Output only. The nsg ids of the GoldengateDeployment.
         */
        nsgIds?: string[] | null;
        /**
         * Output only. OCID of the GoldengateDeployment.
         */
        ocid?: string | null;
        /**
         * Required. The ogg data of the GoldengateDeployment.
         */
        oggData?: Schema$GoldengateOggDeployment;
        /**
         * Output only. The time ogg version supported until of the GoldengateDeployment.
         */
        oggVersionSupportEndTime?: string | null;
        /**
         * Output only. The placements of the GoldengateDeployment.
         */
        placements?: Schema$GoldengatePlacement[];
        /**
         * Output only. The private ip address of the GoldengateDeployment.
         */
        privateIpAddress?: string | null;
        /**
         * Output only. The public ip address of the GoldengateDeployment.
         */
        publicIpAddress?: string | null;
        /**
         * Output only. The time when the role of the GoldengateDeployment was changed.
         */
        roleChangeTime?: string | null;
        /**
         * Output only. The storage utilization in bytes of the GoldengateDeployment.
         */
        storageUtilizationBytes?: string | null;
        /**
         * Output only. The time the GoldengateDeployment was updated.
         */
        updateTime?: string | null;
        /**
         * Output only. The time upgrade required of the GoldengateDeployment.
         */
        upgradeRequiredTime?: string | null;
    }
    /**
     * Details of the Goldengate Deployment Type resource.
     */
    export interface Schema$GoldengateDeploymentType {
        /**
         * Output only. The category of the Goldengate Deployment Type resource.
         */
        category?: string | null;
        /**
         * Output only. The connection types of the Goldengate Deployment Type resource.
         */
        connectionTypes?: string[] | null;
        /**
         * Output only. The default username of the Goldengate Deployment Type resource.
         */
        defaultUsername?: string | null;
        /**
         * Output only. The deployment type of the Goldengate Deployment Type resource.
         */
        deploymentType?: string | null;
        /**
         * Output only. The display name of the Goldengate Deployment Type resource.
         */
        displayName?: string | null;
        /**
         * Identifier. The name of the Goldengate Deployment Type resource with the format: projects/{project\}/locations/{region\}/goldengateDeploymentTypes/{goldengate_deployment_type\}
         */
        name?: string | null;
        /**
         * Output only. The Ogg version of the Goldengate Deployment Type resource.
         */
        oggVersion?: string | null;
        /**
         * Output only. The source technologies of the Goldengate Deployment Type resource.
         */
        sourceTechnologies?: string[] | null;
        /**
         * Output only. The supported capabilities of the Goldengate Deployment Type resource.
         */
        supportedCapabilities?: string[] | null;
        /**
         * Output only. The supported technologies URL of the Goldengate Deployment Type resource.
         */
        supportedTechnologiesUrl?: string | null;
        /**
         * Output only. The target technologies of the Goldengate Deployment Type resource.
         */
        targetTechnologies?: string[] | null;
    }
    /**
     * Details of the Goldengate Deployment Version resource.
     */
    export interface Schema$GoldengateDeploymentVersion {
        /**
         * Identifier. The name of the Goldengate Deployment Version resource with the format: projects/{project\}/locations/{location\}/goldengateDeploymentVersions/{goldengate_deployment_version\}
         */
        name?: string | null;
        /**
         * Output only. The deployment version ocid of the Goldengate Deployment Version resource.
         */
        ocid?: string | null;
        /**
         * Output only. The technology type of the Goldengate Deployment Version resource.
         */
        properties?: Schema$GoldengateDeploymentVersionProperties;
    }
    /**
     * Properties of GoldengateDeploymentVersion.
     */
    export interface Schema$GoldengateDeploymentVersionProperties {
        /**
         * Output only. The deployment type of the Goldengate Deployment Version resource.
         */
        deploymentType?: string | null;
        /**
         * Output only. The OGG version of the Goldengate Deployment Version resource.
         */
        oggVersion?: string | null;
        /**
         * Output only. The release time of the Goldengate Deployment Version resource.
         */
        releaseTime?: string | null;
        /**
         * Output only. The release type of the Goldengate Deployment Version resource.
         */
        releaseType?: string | null;
        /**
         * Optional. Whether the Goldengate Deployment Version resource is a security fix.
         */
        securityFix?: boolean | null;
        /**
         * Output only. The support end time of the Goldengate Deployment Version resource.
         */
        supportEndTime?: string | null;
    }
    /**
     * The properties of GoldengateElasticsearchConnection.
     */
    export interface Schema$GoldengateElasticsearchConnectionProperties {
        /**
         * Optional. Authentication type for Elasticsearch.
         */
        authenticationType?: string | null;
        /**
         * Optional. Fingerprint required by TLS security protocol. Eg.: '6152b2dfbff200f973c5074a5b91d06ab3b472c07c09a1ea57bb7fd406cdce9c'
         */
        fingerprint?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for Elastic Search connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for Elastic Search connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. Security protocol for Elasticsearch.
         */
        securityProtocol?: string | null;
        /**
         * Optional. Comma separated list of Elasticsearch server addresses, specified as host:port entries, where :port is optional. If port is not specified, it defaults to 9200. Example: "server1.example.com:4000,server2.example.com:4000"
         */
        servers?: string | null;
        /**
         * Optional. The technology type of ElasticsearchConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateGenericConnectionProperties.
     */
    export interface Schema$GoldengateGenericConnectionProperties {
        /**
         * Optional. The host of the GenericConnection.
         */
        host?: string | null;
        /**
         * Optional. The technology type.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateGoldengateConnectionProperties.
     */
    export interface Schema$GoldengateGoldengateConnectionProperties {
        /**
         * Optional. The name of the GoldengateDeployment associated with the GoldengateConnection. Format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}
         */
        goldengateDeploymentId?: string | null;
        /**
         * Optional. The host of the GoldengateConnection.
         */
        host?: string | null;
        /**
         * Optional. Input only. The password used to connect to the Oracle Goldengate in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password used to connect to the Oracle Goldengate. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The port of the GoldengateConnection.
         */
        port?: number | null;
        /**
         * Optional. The technology type.
         */
        technologyType?: string | null;
        /**
         * Optional. The username credential.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateGoogleBigQueryConnectionProperties.
     */
    export interface Schema$GoldengateGoogleBigQueryConnectionProperties {
        /**
         * Optional. The base64 encoded content of the service account key file containing the credentials required to use Google BigQuery.
         */
        serviceAccountKeyFile?: string | null;
        /**
         * Optional. The technology type.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateGoogleCloudStorageConnectionProperties.
     */
    export interface Schema$GoldengateGoogleCloudStorageConnectionProperties {
        /**
         * Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Cloud Storage.
         */
        serviceAccountKeyFile?: string | null;
        /**
         * Optional. The technology type.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateGooglePubsubConnection.
     */
    export interface Schema$GoldengateGooglePubsubConnectionProperties {
        /**
         * Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Pub/Sub.
         */
        serviceAccountKeyFile?: string | null;
        /**
         * Optional. The technology type of GooglePubsubConnection.
         */
        technologyType?: string | null;
    }
    /**
     * The group to roles mapping of the GoldengateDeployment.
     */
    export interface Schema$GoldengateGroupToRolesMapping {
        /**
         * Output only. The administrator group id.
         */
        administratorGroupId?: string | null;
        /**
         * Output only. The operator group id.
         */
        operatorGroupId?: string | null;
        /**
         * Output only. The security group id.
         */
        securityGroupId?: string | null;
        /**
         * Output only. The user group id.
         */
        userGroupId?: string | null;
    }
    /**
     * The properties of GoldengateHdfsConnection.
     */
    export interface Schema$GoldengateHdfsConnectionProperties {
        /**
         * Optional. The content of the Hadoop Distributed File System configuration file (core-site.xml).
         */
        coreSiteXml?: string | null;
        /**
         * Optional. The technology type of HdfsConnection.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateIcebergConnection.
     */
    export interface Schema$GoldengateIcebergConnectionProperties {
        /**
         * Required. The Iceberg catalog.
         */
        catalog?: Schema$IcebergCatalog;
        /**
         * Required. The Iceberg storage.
         */
        storage?: Schema$IcebergStorage;
        /**
         * Required. The technology type of Iceberg connection.
         */
        technologyType?: string | null;
    }
    /**
     * The properties of GoldengateJavaMessageServiceConnection.
     */
    export interface Schema$GoldengateJavaMessageServiceConnectionProperties {
        /**
         * Optional. Authentication type for Java Message Service.
         */
        authenticationType?: string | null;
        /**
         * Optional. The Java class implementing javax.jms.ConnectionFactory interface supplied by the JMS provider.
         */
        connectionFactory?: string | null;
        /**
         * Optional. Connection URL of the Java Message Service, specifying the protocol, host, and port. e.g.: 'mq://myjms.host.domain:7676'
         */
        connectionUrl?: string | null;
        /**
         * Optional. The Connection Factory can be looked up using this name. e.g.: 'ConnectionFactory'
         */
        jndiConnectionFactory?: string | null;
        /**
         * Optional. The implementation of javax.naming.spi.InitialContextFactory interface used to obtain initial naming context.
         */
        jndiInitialContextFactory?: string | null;
        /**
         * Optional. The URL that Java Message Service will use to contact the JNDI provider. e.g.: 'tcp://myjms.host.domain:61616?jms.prefetchPolicy.all=1000'
         */
        jndiProviderUrl?: string | null;
        /**
         * Optional. The password associated to the principal.
         */
        jndiSecurityCredentialsSecret?: string | null;
        /**
         * Optional. Specifies the identity of the principal (user) to be authenticated.
         */
        jndiSecurityPrincipal?: string | null;
        /**
         * Optional. The base64 encoded content of the KeyStore file.
         */
        keyStoreFile?: string | null;
        /**
         * Optional. Input only. The KeyStore password in plain text.
         */
        keyStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        keyStorePasswordSecretVersion?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses to connect the Java Message Service in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect the associated Java Message Service. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. Security protocol for Java Message Service.
         */
        securityProtocol?: string | null;
        /**
         * Optional. Input only. The password for the cert inside of the KeyStore in plain text.
         */
        sslKeyPassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        sslKeyPasswordSecretVersion?: string | null;
        /**
         * Optional. The technology type of JavaMessageServiceConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The base64 encoded content of the TrustStore file.
         */
        trustStoreFile?: string | null;
        /**
         * Optional. Input only. The TrustStore password in plain text.
         */
        trustStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        trustStorePasswordSecretVersion?: string | null;
        /**
         * Optional. If set to true, Java Naming and Directory Interface (JNDI) properties should be provided.
         */
        useJndi?: boolean | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect to the Java Message Service.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateKafkaConnection.
     */
    export interface Schema$GoldengateKafkaConnectionProperties {
        /**
         * Optional. Kafka bootstrap. Equivalent of bootstrap.servers configuration property in Kafka: list of KafkaBootstrapServer objects specified by host/port. Used for establishing the initial connection to the Kafka cluster. Example: "server1.example.com:9092,server2.example.com:9092"
         */
        bootstrapServers?: Schema$KafkaBootstrapServer[];
        /**
         * Optional. The OCID of the Kafka cluster being referenced from OCI Streaming with Apache Kafka.
         */
        clusterId?: string | null;
        /**
         * Optional. The base64 encoded content of the consumer.properties file.
         */
        consumerPropertiesFile?: string | null;
        /**
         * Optional. The base64 encoded content of the KeyStore file.
         */
        keyStoreFile?: string | null;
        /**
         * Optional. Input only. The KeyStore password in plain text.
         */
        keyStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        keyStorePasswordSecretVersion?: string | null;
        /**
         * Optional. Input only. The password for Kafka basic/SASL auth in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for Kafka basic/SASL auth. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The base64 encoded content of the producer.properties file.
         */
        producerPropertiesFile?: string | null;
        /**
         * Optional. Security Type for Kafka.
         */
        securityProtocol?: string | null;
        /**
         * Optional. Input only. The password for the cert inside of the KeyStore in plain text.
         */
        sslKeyPassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        sslKeyPasswordSecretVersion?: string | null;
        /**
         * Optional. The OCID of the stream pool being referenced.
         */
        streamPoolId?: string | null;
        /**
         * Optional. The technology type of KafkaConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The base64 encoded content of the TrustStore file.
         */
        trustStoreFile?: string | null;
        /**
         * Optional. Input only. The TrustStore password in plain text.
         */
        trustStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        trustStorePasswordSecretVersion?: string | null;
        /**
         * Optional. Specifies that the user intends to authenticate to the instance using a resource principal. Applicable only for OCI Streaming connections.
         */
        useResourcePrincipal?: boolean | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateKafkaSchemaRegistryConnection.
     */
    export interface Schema$GoldengateKafkaSchemaRegistryConnectionProperties {
        /**
         * Optional. Used authentication mechanism to access Schema Registry.
         */
        authenticationType?: string | null;
        /**
         * Optional. The base64 encoded content of the KeyStore file.
         */
        keyStoreFile?: string | null;
        /**
         * Optional. Input only. The KeyStore password in plain text.
         */
        keyStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        keyStorePasswordSecretVersion?: string | null;
        /**
         * Optional. Input only. The password to access Schema Registry in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password to access Schema Registry using basic authentication. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. Input only. The password for the cert inside the KeyStore in plain text.
         */
        sslKeyPassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside the KeyStore. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        sslKeyPasswordSecretVersion?: string | null;
        /**
         * Optional. The technology type of KafkaSchemaRegistryConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The base64 encoded content of the TrustStore file.
         */
        trustStoreFile?: string | null;
        /**
         * Optional. Input only. The TrustStore password in plain text.
         */
        trustStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        trustStorePasswordSecretVersion?: string | null;
        /**
         * Optional. Kafka Schema Registry URL. e.g.: 'https://server1.us.oracle.com:8081'
         */
        url?: string | null;
        /**
         * Optional. The username to access Schema Registry using basic authentication. This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property.
         */
        username?: string | null;
    }
    /**
     * The maintenance configuration of the GoldengateDeployment.
     */
    export interface Schema$GoldengateMaintenanceConfig {
        /**
         * Optional. Defines auto upgrade period for bundle releases. Manually configured period cannot be longer than service defined period for bundle releases. This period must be shorter or equal to major release upgrade period. Not passing this field during create will equate to using the service default.
         */
        bundleReleaseUpgradePeriodDays?: number | null;
        /**
         * Optional. Defines auto upgrade period for interim releases. This period must be shorter or equal to bundle release upgrade period.
         */
        interimReleaseUpgradePeriodDays?: number | null;
        /**
         * Optional. By default auto upgrade for interim releases are not enabled. If auto-upgrade is enabled for interim release, you have to specify interim_release_upgrade_period_days too.
         */
        isInterimReleaseAutoUpgradeEnabled?: boolean | null;
        /**
         * Optional. Defines auto upgrade period for major releases. Manually configured period cannot be longer than service defined period for major releases. Not passing this field during create will equate to using the service default.
         */
        majorReleaseUpgradePeriodDays?: number | null;
        /**
         * Optional. Defines auto upgrade period for releases with security fix. Manually configured period cannot be longer than service defined period for security releases. Not passing this field during create will equate to using the service default.
         */
        securityPatchUpgradePeriodDays?: number | null;
    }
    /**
     * The maintenance window of the GoldengateDeployment.
     */
    export interface Schema$GoldengateMaintenanceWindow {
        /**
         * Required. Days of the week.
         */
        day?: string | null;
        /**
         * Required. Start hour for maintenance period. Hour is in UTC.
         */
        startHour?: number | null;
    }
    /**
     * The properties of GoldengateMicrosoftFabricConnection.
     */
    export interface Schema$GoldengateMicrosoftFabricConnectionProperties {
        /**
         * Optional. Azure client ID of the application.
         */
        clientId?: string | null;
        /**
         * Optional. Client secret associated with the client id.
         */
        clientSecret?: string | null;
        /**
         * Optional. Optional Microsoft Fabric service endpoint. Default value: https://onelake.dfs.fabric.microsoft.com
         */
        endpoint?: string | null;
        /**
         * Optional. The technology type of MicrosoftFabricConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. Azure tenant ID of the application.
         */
        tenantId?: string | null;
    }
    /**
     * The properties of GoldengateMicrosoftSqlserverConnection.
     */
    export interface Schema$GoldengateMicrosoftSqlserverConnectionProperties {
        /**
         * Optional. An array of name-value pair attribute entries. Used as additional parameters in connection string.
         */
        additionalAttributes?: Schema$NameValuePair[];
        /**
         * Optional. The name of the database.
         */
        database?: string | null;
        /**
         * Optional. The name or address of a host.
         */
        host?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for Microsoft SQL Server connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for Microsoft SQL Server connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The port of an endpoint usually specified for a connection.
         */
        port?: number | null;
        /**
         * Optional. Security Type for Microsoft SQL Server.
         */
        securityProtocol?: string | null;
        /**
         * Optional. If set to true, the driver validates the certificate that is sent by the database server.
         */
        serverCertificateValidationRequired?: boolean | null;
        /**
         * Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1-way SSL).
         */
        sslCaFile?: string | null;
        /**
         * Optional. The technology type of MicrosoftSqlserverConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect to the Microsoft SQL Server.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateMongodbConnection.
     */
    export interface Schema$GoldengateMongodbConnectionProperties {
        /**
         * Optional. MongoDB connection string. e.g.: 'mongodb://mongodb0.example.com:27017/recordsrecords'
         */
        connectionString?: string | null;
        /**
         * Optional. The OCID of the Oracle Autonomous Json Database.
         */
        databaseId?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses to connect the Mongodb connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect the Mongodb connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. Security Type for MongoDB.
         */
        securityProtocol?: string | null;
        /**
         * Optional. The technology type of MongodbConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL).
         */
        tlsCaFile?: string | null;
        /**
         * Optional. Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL).
         */
        tlsCertificateKeyFile?: string | null;
        /**
         * Optional. Input only. The Client Certificate key file password in plain text.
         */
        tlsCertificateKeyFilePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the Client Certificate key file password in Secret Manager. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        tlsCertificateKeyFilePasswordSecretVersion?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect to the database.
         */
        username?: string | null;
    }
    /**
     * Properties of GoldengateMysqlConnection.
     */
    export interface Schema$GoldengateMysqlConnectionProperties {
        /**
         * Optional. An array of name-value pair attribute entries. Used as additional parameters in connection string.
         */
        additionalAttributes?: Schema$NameValuePair[];
        /**
         * Optional. The name of the database.
         */
        database?: string | null;
        /**
         * Optional. The OCID of the database system being referenced.
         */
        dbSystemId?: string | null;
        /**
         * Optional. The name or address of a host.
         */
        host?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses to connect to MySQL in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect to MySQL. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The port of an endpoint usually specified for a connection.
         */
        port?: number | null;
        /**
         * Optional. Security Type for MySQL.
         */
        securityProtocol?: string | null;
        /**
         * Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL).
         */
        sslCaFile?: string | null;
        /**
         * Optional. Client Certificate - The base64 encoded content of a .pem or .crt file containing the client public key (for 2-way SSL).
         */
        sslCertFile?: string | null;
        /**
         * Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA).
         */
        sslCrlFile?: string | null;
        /**
         * Optional. Client Key - The base64 encoded content of a .pem or .crt file containing the client private key (for 2-way SSL).
         */
        sslKeyFile?: string | null;
        /**
         * Optional. SSL modes for MySQL.
         */
        sslMode?: string | null;
        /**
         * Optional. The technology type of MysqlConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateOciObjectStorageConnection.
     */
    export interface Schema$GoldengateOciObjectStorageConnectionProperties {
        /**
         * Optional. The content of the private key file (PEM file) corresponding to the API key of the fingerprint.
         */
        privateKeyFile?: string | null;
        /**
         * Optional. The passphrase of the private key.
         */
        privateKeyPassphraseSecret?: string | null;
        /**
         * Optional. The fingerprint of the API Key of the user specified by the userId.
         */
        publicKeyFingerprint?: string | null;
        /**
         * Optional. The name of the region of OCI Object Storage. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.
         */
        region?: string | null;
        /**
         * Optional. The technology type of OciObjectStorageConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The OCID of the related OCI tenancy.
         */
        tenancyId?: string | null;
        /**
         * Optional. Specifies that the user intends to authenticate to the instance using a resource principal.
         */
        useResourcePrincipal?: boolean | null;
        /**
         * Optional. The OCID of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to.
         */
        userId?: string | null;
    }
    /**
     * The Ogg data of the GoldengateDeployment.
     */
    export interface Schema$GoldengateOggDeployment {
        /**
         * Optional. The Goldengate deployment console password in plain text.
         */
        adminPassword?: string | null;
        /**
         * Optional. Input only. The Goldengate deployment console password secret version.
         */
        adminPasswordSecretVersion?: string | null;
        /**
         * Required. The Goldengate deployment console username.
         */
        adminUsername?: string | null;
        /**
         * Output only. The certificate of the GoldengateDeployment.
         */
        certificate?: string | null;
        /**
         * Output only. The credential store of the GoldengateDeployment.
         */
        credentialStore?: string | null;
        /**
         * Required. The name given to the Goldengate service deployment. The name must be 1 to 32 characters long, must contain only alphanumeric characters and must start with a letter.
         */
        deployment?: string | null;
        /**
         * Output only. The group to roles mapping of the GoldengateDeployment.
         */
        groupRolesMapping?: Schema$GoldengateGroupToRolesMapping;
        /**
         * Output only. The identity domain id of the GoldengateDeployment.
         */
        identityDomainId?: string | null;
        /**
         * Optional. Version of OGG
         */
        oggVersion?: string | null;
        /**
         * Output only. The password secret id of the GoldengateDeployment.
         */
        passwordSecretId?: string | null;
    }
    /**
     * The properties of GoldengateOracleAIDataPlatformConnection.
     */
    export interface Schema$GoldengateOracleAIDataPlatformConnectionProperties {
        /**
         * Optional. Connection URL. It must start with 'jdbc:spark://'
         */
        connectionUrl?: string | null;
        /**
         * Optional. The content of the private key file (PEM file) corresponding to the API key of the fingerprint.
         */
        privateKeyFile?: string | null;
        /**
         * Optional. The passphrase of the private key.
         */
        privateKeyPassphraseSecret?: string | null;
        /**
         * Optional. The fingerprint of the API Key of the user specified by the user_id.
         */
        publicKeyFingerprint?: string | null;
        /**
         * Optional. The name of the region. e.g.: us-ashburn-1
         */
        region?: string | null;
        /**
         * Optional. The technology type of OracleAiDataPlatformConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The OCID of the related OCI tenancy.
         */
        tenancyId?: string | null;
        /**
         * Optional. Specifies that the user intends to authenticate to the instance using a resource principal.
         */
        useResourcePrincipal?: boolean | null;
        /**
         * Optional. The OCID of the OCI user who will access.
         */
        userId?: string | null;
    }
    /**
     * The properties of Goldengate Oracle Database Connection.
     */
    export interface Schema$GoldengateOracleConnectionProperties {
        /**
         * Optional. Authentication mode.
         */
        authenticationMode?: string | null;
        /**
         * Optional. Connect descriptor or Easy Connect Naming method used to connect to a database.
         */
        connectionString?: string | null;
        /**
         * Optional. Autonomous AI Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. Format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}
         */
        gcpOracleDatabaseId?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The mode of the database connection session to be established by the data client.
         */
        sessionMode?: string | null;
        /**
         * Optional. The technology type.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect.
         */
        username?: string | null;
        /**
         * Optional. The wallet contents Oracle Goldengate uses to make connections to a database. This attribute is expected to be base64 encoded.
         */
        walletFile?: string | null;
    }
    /**
     * The properties of GoldengateOracleNosqlConnection.
     */
    export interface Schema$GoldengateOracleNosqlConnectionProperties {
        /**
         * Optional. The content of the private key file (PEM file) corresponding to the API key of the fingerprint.
         */
        privateKeyFile?: string | null;
        /**
         * Optional. The passphrase of the private key.
         */
        privateKeyPassphraseSecret?: string | null;
        /**
         * Optional. The fingerprint of the API Key of the user specified by the userId.
         */
        publicKeyFingerprint?: string | null;
        /**
         * Optional. The name of the region. e.g.: us-ashburn-1
         */
        region?: string | null;
        /**
         * Optional. The technology type of OracleNosqlConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The OCID of the OCI tenancy.
         */
        tenancyId?: string | null;
        /**
         * Optional. Specifies that the user intends to authenticate to the instance using a resource principal.
         */
        useResourcePrincipal?: boolean | null;
        /**
         * Optional. The OCID of the OCI user who will access the Oracle NoSQL database.
         */
        userId?: string | null;
    }
    /**
     * The placement of the GoldengateDeployment.
     */
    export interface Schema$GoldengatePlacement {
        /**
         * Output only. The availability domain.
         */
        availabilityDomain?: string | null;
        /**
         * Output only. The fault domain.
         */
        faultDomain?: string | null;
    }
    /**
     * The properties of GoldengatePostgresqlConnection.
     */
    export interface Schema$GoldengatePostgresqlConnectionProperties {
        /**
         * Optional. An array of name-value pair attribute entries. Used as additional parameters in connection string.
         */
        additionalAttributes?: Schema$NameValuePair[];
        /**
         * Optional. The name of the database.
         */
        database?: string | null;
        /**
         * Optional. The OCID of the database system being referenced.
         */
        dbSystemId?: string | null;
        /**
         * Optional. The name or address of a host.
         */
        host?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for PostgreSQL connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for PostgreSQL connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The port of an endpoint usually specified for a connection.
         */
        port?: number | null;
        /**
         * Optional. Security protocol for PostgreSQL.
         */
        securityProtocol?: string | null;
        /**
         * Optional. The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL.
         */
        sslCaFile?: string | null;
        /**
         * Optional. The base64 encoded certificate of the PostgreSQL server.
         */
        sslCertFile?: string | null;
        /**
         * Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA).
         */
        sslCrlFile?: string | null;
        /**
         * Optional. The base64 encoded private key of the PostgreSQL server.
         */
        sslKeyFile?: string | null;
        /**
         * Optional. SSL modes for PostgreSQL.
         */
        sslMode?: string | null;
        /**
         * Optional. The technology type of PostgresqlConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateRedisConnection.
     */
    export interface Schema$GoldengateRedisConnectionProperties {
        /**
         * Optional. Authentication type for Redis.
         */
        authenticationType?: string | null;
        /**
         * Optional. The base64 encoded content of the KeyStore file.
         */
        keyStoreFile?: string | null;
        /**
         * Optional. Input only. The KeyStore password in plain text.
         */
        keyStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        keyStorePasswordSecretVersion?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses for Redis connection in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for Redis connection. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The OCID of the Redis cluster.
         */
        redisClusterId?: string | null;
        /**
         * Optional. Security protocol for Redis.
         */
        securityProtocol?: string | null;
        /**
         * Optional. Comma separated list of Redis server addresses, specified as host:port entries, where :port is optional. If port is not specified, it defaults to 6379. Example: "server1.example.com:6379,server2.example.com:6379"
         */
        servers?: string | null;
        /**
         * Optional. The technology type of RedisConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The base64 encoded content of the TrustStore file.
         */
        trustStoreFile?: string | null;
        /**
         * Optional. Input only. The TrustStore password in plain text.
         */
        trustStorePassword?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        trustStorePasswordSecretVersion?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect the associated system of the given technology.
         */
        username?: string | null;
    }
    /**
     * The properties of GoldengateSnowflakeConnection.
     */
    export interface Schema$GoldengateSnowflakeConnectionProperties {
        /**
         * Optional. Used authentication mechanism to access Snowflake.
         */
        authenticationType?: string | null;
        /**
         * Optional. JDBC connection URL. e.g.: 'jdbc:snowflake://.snowflakecomputing.com/?warehouse=&db='
         */
        connectionUrl?: string | null;
        /**
         * Optional. Input only. The password Oracle Goldengate uses to connect to Snowflake platform in plain text.
         */
        password?: string | null;
        /**
         * Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect to Snowflake platform. Format: projects/{project\}/secrets/{secret\}/versions/{version\}.
         */
        passwordSecretVersion?: string | null;
        /**
         * Optional. The content of private key file in PEM format.
         */
        privateKeyFile?: string | null;
        /**
         * Optional. Password if the private key file is encrypted.
         */
        privateKeyPassphraseSecret?: string | null;
        /**
         * Optional. The technology type of SnowflakeConnection.
         */
        technologyType?: string | null;
        /**
         * Optional. The username Oracle Goldengate uses to connect to Snowflake.
         */
        username?: string | null;
    }
    /**
     * The Google Cloud Storage Iceberg storage.
     */
    export interface Schema$GoogleCloudStorageIcebergStorage {
        /**
         * Required. The bucket of Google Cloud Storage.
         */
        bucket?: string | null;
        /**
         * Required. The project ID of Google Cloud Storage.
         */
        projectId?: string | null;
        /**
         * Optional. The base64 encoded content of the service account key file of Google Cloud Storage.
         */
        serviceAccountKeyFile?: string | null;
    }
    /**
     * The Iceberg catalog details.
     */
    export interface Schema$IcebergCatalog {
        /**
         * Required. The type of Iceberg catalog.
         */
        catalogType?: string | null;
        /**
         * The Glue Iceberg catalog.
         */
        glueIcebergCatalog?: Schema$GlueIcebergCatalog;
        /**
         * The Nessie Iceberg catalog.
         */
        nessieIcebergCatalog?: Schema$NessieIcebergCatalog;
        /**
         * The Polaris Iceberg catalog.
         */
        polarisIcebergCatalog?: Schema$PolarisIcebergCatalog;
        /**
         * The REST Iceberg catalog.
         */
        restIcebergCatalog?: Schema$RestIcebergCatalog;
    }
    /**
     * The Iceberg storage details.
     */
    export interface Schema$IcebergStorage {
        /**
         * The Amazon S3 Iceberg storage.
         */
        amazonS3IcebergStorage?: Schema$AmazonS3IcebergStorage;
        /**
         * The Azure Data Lake Storage Iceberg storage.
         */
        azureDataLakeStorageIcebergStorage?: Schema$AzureDataLakeStorageIcebergStorage;
        /**
         * The Google Cloud Storage Iceberg storage.
         */
        googleCloudStorageIcebergStorage?: Schema$GoogleCloudStorageIcebergStorage;
        /**
         * Required. The type of Iceberg storage.
         */
        storageType?: string | null;
    }
    /**
     * The identity connector details which will allow OCI to securely access the resources in the customer project.
     */
    export interface Schema$IdentityConnector {
        /**
         * Output only. The connection state of the identity connector.
         */
        connectionState?: string | null;
        /**
         * Output only. A google managed service account on which customers can grant roles to access resources in the customer project. Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com`
         */
        serviceAgentEmail?: string | null;
    }
    /**
     * The ingress IPs of the GoldengateDeployment.
     */
    export interface Schema$IngressIp {
        /**
         * Output only. The ingress IP.
         */
        ingressIpAddress?: string | null;
    }
    /**
     * Represents a Kafka bootstrap server with host name, optional port defaults to 9092, and an optional private ip.
     */
    export interface Schema$KafkaBootstrapServer {
        /**
         * Required. The name or address of a host.
         */
        host?: string | null;
        /**
         * Optional. The port of an endpoint usually specified for a connection.
         */
        port?: number | null;
        /**
         * Optional. The private IP address of the connection's endpoint in the customer's VCN, typically a database endpoint or a big data endpoint (e.g. Kafka bootstrap server). In case the privateIp is provided, the subnetId must also be provided. In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection.
         */
        privateIpAddress?: string | null;
    }
    /**
     * The response for `AutonomousDatabaseBackup.List`.
     */
    export interface Schema$ListAutonomousDatabaseBackupsResponse {
        /**
         * The list of Autonomous Database Backups.
         */
        autonomousDatabaseBackups?: Schema$AutonomousDatabaseBackup[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `AutonomousDatabaseCharacterSet.List`.
     */
    export interface Schema$ListAutonomousDatabaseCharacterSetsResponse {
        /**
         * The list of Autonomous Database Character Sets.
         */
        autonomousDatabaseCharacterSets?: Schema$AutonomousDatabaseCharacterSet[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `AutonomousDatabase.List`.
     */
    export interface Schema$ListAutonomousDatabasesResponse {
        /**
         * The list of Autonomous Databases.
         */
        autonomousDatabases?: Schema$AutonomousDatabase[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `AutonomousDbVersion.List`.
     */
    export interface Schema$ListAutonomousDbVersionsResponse {
        /**
         * The list of Autonomous Database versions.
         */
        autonomousDbVersions?: Schema$AutonomousDbVersion[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `CloudExadataInfrastructures.list`.
     */
    export interface Schema$ListCloudExadataInfrastructuresResponse {
        /**
         * The list of Exadata Infrastructures.
         */
        cloudExadataInfrastructures?: Schema$CloudExadataInfrastructure[];
        /**
         * A token for fetching next page of response.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `CloudVmCluster.List`.
     */
    export interface Schema$ListCloudVmClustersResponse {
        /**
         * The list of VM Clusters.
         */
        cloudVmClusters?: Schema$CloudVmCluster[];
        /**
         * A token to fetch the next page of results.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `DatabaseCharacterSet.List`.
     */
    export interface Schema$ListDatabaseCharacterSetsResponse {
        /**
         * The list of DatabaseCharacterSets.
         */
        databaseCharacterSets?: Schema$DatabaseCharacterSet[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `Database.List`.
     */
    export interface Schema$ListDatabasesResponse {
        /**
         * The list of Databases.
         */
        databases?: Schema$Database[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `DbNode.List`.
     */
    export interface Schema$ListDbNodesResponse {
        /**
         * The list of DB Nodes
         */
        dbNodes?: Schema$DbNode[];
        /**
         * A token identifying a page of results the node should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `DbServer.List`.
     */
    export interface Schema$ListDbServersResponse {
        /**
         * The list of database servers.
         */
        dbServers?: Schema$DbServer[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `DbSystemInitialStorageSizes.List`.
     */
    export interface Schema$ListDbSystemInitialStorageSizesResponse {
        /**
         * The list of DbSystemInitialStorageSizes.
         */
        dbSystemInitialStorageSizes?: Schema$DbSystemInitialStorageSize[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `DbSystemShape.List`.
     */
    export interface Schema$ListDbSystemShapesResponse {
        /**
         * The list of Database System shapes.
         */
        dbSystemShapes?: Schema$DbSystemShape[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `DbSystem.List`.
     */
    export interface Schema$ListDbSystemsResponse {
        /**
         * The list of DbSystems.
         */
        dbSystems?: Schema$DbSystem[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `DbVersions.List`.
     */
    export interface Schema$ListDbVersionsResponse {
        /**
         * The list of DbVersions.
         */
        dbVersions?: Schema$DbVersion[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `Entitlement.List`.
     */
    export interface Schema$ListEntitlementsResponse {
        /**
         * The list of Entitlements
         */
        entitlements?: Schema$Entitlement[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `ExadbVmCluster.List`.
     */
    export interface Schema$ListExadbVmClustersResponse {
        /**
         * The list of ExadbVmClusters.
         */
        exadbVmClusters?: Schema$ExadbVmCluster[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `ExascaleDbStorageVault.List`.
     */
    export interface Schema$ListExascaleDbStorageVaultsResponse {
        /**
         * The ExascaleDbStorageVaults.
         */
        exascaleDbStorageVaults?: Schema$ExascaleDbStorageVault[];
        /**
         * A token identifying a page of results the server should return. If present, the next page token can be provided to a subsequent ListExascaleDbStorageVaults call to list the next page. If empty, there are no more pages.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `GiVersion.List`.
     */
    export interface Schema$ListGiVersionsResponse {
        /**
         * The list of Oracle Grid Infrastructure (GI) versions.
         */
        giVersions?: Schema$GiVersion[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * Response message for listing GoldengateConnectionAssignments.
     */
    export interface Schema$ListGoldengateConnectionAssignmentsResponse {
        /**
         * The list of GoldengateConnectionAssignments.
         */
        goldengateConnectionAssignments?: Schema$GoldengateConnectionAssignment[];
        /**
         * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
         */
        nextPageToken?: string | null;
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `GoldengateConnection.List`.
     */
    export interface Schema$ListGoldengateConnectionsResponse {
        /**
         * The list of GoldengateConnections.
         */
        goldengateConnections?: Schema$GoldengateConnection[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * Optional. Locations that could not be reached.
         */
        unreachable?: string[] | null;
    }
    /**
     * Message for response to listing GoldengateConnectionTypes
     */
    export interface Schema$ListGoldengateConnectionTypesResponse {
        /**
         * The list of GoldengateConnectionType
         */
        goldengateConnectionTypes?: Schema$GoldengateConnectionType[];
        /**
         * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
         */
        nextPageToken?: string | null;
        /**
         * Unordered list. Locations that could not be reached.
         */
        unreachable?: string[] | null;
    }
    /**
     * Message for response to listing GoldengateDeploymentEnvironments
     */
    export interface Schema$ListGoldengateDeploymentEnvironmentsResponse {
        /**
         * The list of GoldengateDeploymentEnvironment
         */
        goldengateDeploymentEnvironments?: Schema$GoldengateDeploymentEnvironment[];
        /**
         * A token identifying a page of results the server should return. If this field is empty, there are no subsequent pages.
         */
        nextPageToken?: string | null;
        /**
         * Unordered list. Locations that could not be reached.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `GoldengateDeployment.List`.
     */
    export interface Schema$ListGoldengateDeploymentsResponse {
        /**
         * The list of GoldengateDeployments.
         */
        goldengateDeployments?: Schema$GoldengateDeployment[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * Optional. Locations that could not be reached.
         */
        unreachable?: string[] | null;
    }
    /**
     * Message for response to listing GoldengateDeploymentTypes
     */
    export interface Schema$ListGoldengateDeploymentTypesResponse {
        /**
         * The list of GoldengateDeploymentType
         */
        goldengateDeploymentTypes?: Schema$GoldengateDeploymentType[];
        /**
         * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
         */
        nextPageToken?: string | null;
        /**
         * Unordered list. The resource names of locations that could not be reached.
         */
        unreachable?: string[] | null;
    }
    /**
     * Message for response to listing GoldengateDeploymentVersions
     */
    export interface Schema$ListGoldengateDeploymentVersionsResponse {
        /**
         * The list of GoldengateDeploymentVersion
         */
        goldengateDeploymentVersions?: Schema$GoldengateDeploymentVersion[];
        /**
         * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
         */
        nextPageToken?: string | null;
        /**
         * Unordered list. Locations that could not be reached.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response message for Locations.ListLocations.
     */
    export interface Schema$ListLocationsResponse {
        /**
         * A list of locations that matches the specified filter in the request.
         */
        locations?: Schema$Location[];
        /**
         * The standard List next-page token.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `MinorVersion.List`.
     */
    export interface Schema$ListMinorVersionsResponse {
        /**
         * The list of MinorVersions.
         */
        minorVersions?: Schema$MinorVersion[];
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
    }
    /**
     * The response for `OdbNetwork.List`.
     */
    export interface Schema$ListOdbNetworksResponse {
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * The list of ODB Networks.
         */
        odbNetworks?: Schema$OdbNetwork[];
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `OdbSubnet.List`.
     */
    export interface Schema$ListOdbSubnetsResponse {
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * The list of ODB Subnets.
         */
        odbSubnets?: Schema$OdbSubnet[];
        /**
         * Unreachable locations when listing resources across all locations using wildcard location '-'.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response message for Operations.ListOperations.
     */
    export interface Schema$ListOperationsResponse {
        /**
         * The standard List next-page token.
         */
        nextPageToken?: string | null;
        /**
         * A list of operations that matches the specified filter in the request.
         */
        operations?: Schema$Operation[];
        /**
         * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
         */
        unreachable?: string[] | null;
    }
    /**
     * The response for `PluggableDatabase.List`.
     */
    export interface Schema$ListPluggableDatabasesResponse {
        /**
         * A token identifying a page of results the server should return.
         */
        nextPageToken?: string | null;
        /**
         * The list of PluggableDatabases.
         */
        pluggableDatabases?: Schema$PluggableDatabase[];
    }
    /**
     * A resource that represents a Google Cloud location.
     */
    export interface Schema$Location {
        /**
         * The friendly name for this location, typically a nearby city name. For example, "Tokyo".
         */
        displayName?: string | null;
        /**
         * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\}
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * The canonical id for this location. For example: `"us-east1"`.
         */
        locationId?: string | null;
        /**
         * Service-specific metadata. For example the available capacity at the given location.
         */
        metadata?: {
            [key: string]: any;
        } | null;
        /**
         * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
         */
        name?: string | null;
    }
    /**
     * Metadata for a given Location.
     */
    export interface Schema$LocationMetadata {
        /**
         * Output only. Google Cloud Platform Oracle zones in a location.
         */
        gcpOracleZones?: string[] | null;
    }
    /**
     * Maintenance window as defined by Oracle. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow
     */
    export interface Schema$MaintenanceWindow {
        /**
         * Optional. Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive).
         */
        customActionTimeoutMins?: number | null;
        /**
         * Optional. Days during the week when maintenance should be performed.
         */
        daysOfWeek?: string[] | null;
        /**
         * Optional. The window of hours during the day when maintenance should be performed. The window is a 4 hour slot. Valid values are: 0 - represents time slot 0:00 - 3:59 UTC 4 - represents time slot 4:00 - 7:59 UTC 8 - represents time slot 8:00 - 11:59 UTC 12 - represents time slot 12:00 - 15:59 UTC 16 - represents time slot 16:00 - 19:59 UTC 20 - represents time slot 20:00 - 23:59 UTC
         */
        hoursOfDay?: number[] | null;
        /**
         * Optional. If true, enables the configuration of a custom action timeout (waiting period) between database server patching operations.
         */
        isCustomActionTimeoutEnabled?: boolean | null;
        /**
         * Optional. Lead time window allows user to set a lead time to prepare for a down time. The lead time is in weeks and valid value is between 1 to 4.
         */
        leadTimeWeek?: number | null;
        /**
         * Optional. Months during the year when maintenance should be performed.
         */
        months?: string[] | null;
        /**
         * Optional. Cloud CloudExadataInfrastructure node patching method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
         */
        patchingMode?: string | null;
        /**
         * Optional. The maintenance window scheduling preference.
         */
        preference?: string | null;
        /**
         * Optional. Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week.
         */
        weeksOfMonth?: number[] | null;
    }
    /**
     * MinorVersion represents a minor version of a GI. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/GiMinorVersionSummary/
     */
    export interface Schema$MinorVersion {
        /**
         * Optional. The ID of the Grid Image.
         */
        gridImageId?: string | null;
        /**
         * Identifier. The name of the MinorVersion resource with the format: projects/{project\}/locations/{region\}/giVersions/{gi_version\}/minorVersions/{minor_version\}
         */
        name?: string | null;
        /**
         * Optional. The valid Oracle grid infrastructure software version.
         */
        version?: string | null;
    }
    /**
     * A name-value pair representing an attribute entry usable in a list of attributes.
     */
    export interface Schema$NameValuePair {
        /**
         * Required. The name of the property entry.
         */
        key?: string | null;
        /**
         * Required. The value of the property entry.
         */
        value?: string | null;
    }
    /**
     * The Nessie Iceberg catalog.
     */
    export interface Schema$NessieIcebergCatalog {
        /**
         * Required. The Nessie branch.
         */
        branch?: string | null;
        /**
         * Required. The Nessie uri.
         */
        uri?: string | null;
    }
    /**
     * Represents OdbNetwork resource.
     */
    export interface Schema$OdbNetwork {
        /**
         * Output only. The date and time that the OdbNetwork was created.
         */
        createTime?: string | null;
        /**
         * Output only. The ID of the subscription entitlement associated with the OdbNetwork.
         */
        entitlementId?: string | null;
        /**
         * Optional. The GCP Oracle zone where OdbNetwork is hosted. Example: us-east4-b-r2. If not specified, the system will pick a zone based on availability.
         */
        gcpOracleZone?: string | null;
        /**
         * Optional. Labels or tags associated with the resource.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the OdbNetwork resource in the following format: projects/{project\}/locations/{region\}/odbNetworks/{odb_network\}
         */
        name?: string | null;
        /**
         * Required. The name of the VPC network in the following format: projects/{project\}/global/networks/{network\}
         */
        network?: string | null;
        /**
         * Output only. State of the ODB Network.
         */
        state?: string | null;
    }
    /**
     * Represents OdbSubnet resource.
     */
    export interface Schema$OdbSubnet {
        /**
         * Required. The CIDR range of the subnet.
         */
        cidrRange?: string | null;
        /**
         * Output only. The date and time that the OdbNetwork was created.
         */
        createTime?: string | null;
        /**
         * Optional. Labels or tags associated with the resource.
         */
        labels?: {
            [key: string]: string;
        } | null;
        /**
         * Identifier. The name of the OdbSubnet resource in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}
         */
        name?: string | null;
        /**
         * Required. Purpose of the subnet.
         */
        purpose?: string | null;
        /**
         * Output only. State of the ODB Subnet.
         */
        state?: string | null;
    }
    /**
     * This resource represents a long-running operation that is the result of a network API call.
     */
    export interface Schema$Operation {
        /**
         * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
         */
        done?: boolean | null;
        /**
         * The error result of the operation in case of failure or cancellation.
         */
        error?: Schema$Status;
        /**
         * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
         */
        metadata?: {
            [key: string]: any;
        } | null;
        /**
         * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`.
         */
        name?: string | null;
        /**
         * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
         */
        response?: {
            [key: string]: any;
        } | null;
    }
    /**
     * Represents the metadata of the long-running operation.
     */
    export interface Schema$OperationMetadata {
        /**
         * Output only. API version used to start the operation.
         */
        apiVersion?: string | null;
        /**
         * Output only. The time the operation was created.
         */
        createTime?: string | null;
        /**
         * Output only. The time the operation finished running.
         */
        endTime?: string | null;
        /**
         * Output only. An estimated percentage of the operation that has been completed at a given moment of time, between 0 and 100.
         */
        percentComplete?: number | null;
        /**
         * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
         */
        requestedCancellation?: boolean | null;
        /**
         * Output only. The status of the operation.
         */
        statusMessage?: string | null;
        /**
         * Output only. Server-defined resource path for the target of the operation.
         */
        target?: string | null;
        /**
         * Output only. Name of the verb executed by the operation.
         */
        verb?: string | null;
    }
    /**
     * The PluggableDatabase resource. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/PluggableDatabase/
     */
    export interface Schema$PluggableDatabase {
        /**
         * Output only. The date and time that the PluggableDatabase was created.
         */
        createTime?: string | null;
        /**
         * Identifier. The name of the PluggableDatabase resource in the following format: projects/{project\}/locations/{region\}/pluggableDatabases/{pluggable_database\}
         */
        name?: string | null;
        /**
         * Output only. HTTPS link to OCI resources exposed to Customer via UI Interface.
         */
        ociUrl?: string | null;
        /**
         * Optional. The properties of the PluggableDatabase.
         */
        properties?: Schema$PluggableDatabaseProperties;
    }
    /**
     * The connection strings used to connect to the Oracle Database.
     */
    export interface Schema$PluggableDatabaseConnectionStrings {
        /**
         * Optional. All connection strings to use to connect to the pluggable database.
         */
        allConnectionStrings?: {
            [key: string]: string;
        } | null;
        /**
         * Optional. The default connection string to use to connect to the pluggable database.
         */
        pdbDefault?: string | null;
        /**
         * Optional. The default connection string to use to connect to the pluggable database using IP.
         */
        pdbIpDefault?: string | null;
    }
    /**
     * The Pluggable Database Node Level Details.
     */
    export interface Schema$PluggableDatabaseNodeLevelDetails {
        /**
         * Required. The Node name of the Database home.
         */
        nodeName?: string | null;
        /**
         * Required. The mode that the pluggable database is in to open it.
         */
        openMode?: string | null;
        /**
         * Required. The OCID of the Pluggable Database.
         */
        pluggableDatabaseId?: string | null;
    }
    /**
     * The properties of a PluggableDatabase.
     */
    export interface Schema$PluggableDatabaseProperties {
        /**
         * Required. The OCID of the compartment.
         */
        compartmentId?: string | null;
        /**
         * Optional. The Connection strings used to connect to the Oracle Database.
         */
        connectionStrings?: Schema$PluggableDatabaseConnectionStrings;
        /**
         * Required. The OCID of the CDB.
         */
        containerDatabaseOcid?: string | null;
        /**
         * Output only. The configuration of the Database Management service.
         */
        databaseManagementConfig?: Schema$DatabaseManagementConfig;
        /**
         * Optional. Defined tags for this resource. Each key is predefined and scoped to a namespace.
         */
        definedTags?: {
            [key: string]: Schema$DefinedTagValue;
        } | null;
        /**
         * Optional. Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
         */
        freeformTags?: {
            [key: string]: string;
        } | null;
        /**
         * Optional. The restricted mode of the pluggable database. If a pluggable database is opened in restricted mode, the user needs both create a session and have restricted session privileges to connect to it.
         */
        isRestricted?: boolean | null;
        /**
         * Output only. Additional information about the current lifecycle state.
         */
        lifecycleDetails?: string | null;
        /**
         * Output only. The current state of the pluggable database.
         */
        lifecycleState?: string | null;
        /**
         * Output only. The OCID of the pluggable database.
         */
        ocid?: string | null;
        /**
         * Output only. The status of Operations Insights for this Database.
         */
        operationsInsightsState?: string | null;
        /**
         * Required. The database name.
         */
        pdbName?: string | null;
        /**
         * Optional. Pluggable Database Node Level Details
         */
        pdbNodeLevelDetails?: Schema$PluggableDatabaseNodeLevelDetails[];
    }
    /**
     * The Polaris Iceberg catalog.
     */
    export interface Schema$PolarisIcebergCatalog {
        /**
         * Required. The Polaris client ID.
         */
        clientId?: string | null;
        /**
         * Optional. The Polaris client secret.
         */
        clientSecret?: string | null;
        /**
         * Required. The catalog name within Polaris.
         */
        polarisCatalog?: string | null;
        /**
         * Required. The Polaris principal role.
         */
        principalRole?: string | null;
        /**
         * Required. The Polaris uri.
         */
        uri?: string | null;
    }
    /**
     * Request message for RefreshAutonomousDatabase method.
     */
    export interface Schema$RefreshAutonomousDatabaseRequest {
        /**
         * Required. The timestamp to which the Autonomous Database refreshable clone will be refreshed. Changes made in the primary database after this timestamp are not part of the data refresh.
         */
        refreshCutoffTime?: string | null;
    }
    /**
     * The request for `ExadbVmCluster.RemoveVirtualMachine`.
     */
    export interface Schema$RemoveVirtualMachineExadbVmClusterRequest {
        /**
         * Required. The list of host names of db nodes to be removed from the ExadbVmCluster.
         */
        hostnames?: string[] | null;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string | null;
    }
    /**
     * The request for `AutonomousDatabase.Restart`.
     */
    export interface Schema$RestartAutonomousDatabaseRequest {
    }
    /**
     * The REST Iceberg catalog.
     */
    export interface Schema$RestIcebergCatalog {
        /**
         * Optional. The base64 encoded content of the configuration file containing additional properties for the REST catalog.
         */
        properties?: string | null;
        /**
         * Required. The REST uri.
         */
        uri?: string | null;
    }
    /**
     * The request for `AutonomousDatabase.Restore`.
     */
    export interface Schema$RestoreAutonomousDatabaseRequest {
        /**
         * Required. The time and date to restore the database to.
         */
        restoreTime?: string | null;
    }
    /**
     * Details of scheduled operation. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/ScheduledOperationDetails
     */
    export interface Schema$ScheduledOperationDetails {
        /**
         * Output only. Day of week.
         */
        dayOfWeek?: string | null;
        /**
         * Output only. Auto start time.
         */
        startTime?: Schema$TimeOfDay;
        /**
         * Output only. Auto stop time.
         */
        stopTime?: Schema$TimeOfDay;
    }
    /**
     * The source configuration for the standby Autonomous Database.
     */
    export interface Schema$SourceConfig {
        /**
         * Optional. This field specifies if the replication of automatic backups is enabled when creating a Data Guard.
         */
        automaticBackupsReplicationEnabled?: boolean | null;
        /**
         * Optional. The name of the primary Autonomous Database that is used to create a Peer Autonomous Database from a source.
         */
        autonomousDatabase?: string | null;
        /**
         * Optional. The name of the Autonomous Database Backup resource with the format: projects/{project\}/locations/{region\}/autonomousDatabaseBackups/{autonomous_database_backup\} Required when source_type is BACKUP_FROM_ID.
         */
        autonomousDatabaseBackup?: string | null;
        /**
         * Optional. The frequency in seconds a refreshable clone is refreshed after auto-refresh is enabled.
         */
        autoRefreshFrequencySeconds?: number | null;
        /**
         * Optional. The time, in seconds, the data of the automatic refreshable clone lags the primary database at the point of refresh.
         */
        autoRefreshPointLagSeconds?: number | null;
        /**
         * Optional. The date and time that auto-refreshing will begin for an Autonomous Database refreshable clone. This value controls only the start time for the first refresh operation.
         */
        autoRefreshStartTime?: string | null;
        /**
         * Optional. The timestamp specified for the point-in-time clone of the source Autonomous Database. This field is only applicable in case of BACKUP_FROM_TIMESTAMP source type and when use_latest_available_backup is false.
         */
        backupTime?: string | null;
        /**
         * Optional. The clone type of the Autonomous Database. This field is only applicable in case of cloning
         */
        cloneType?: string | null;
        /**
         * Optional. The refresh mode of the clone.
         */
        refreshableMode?: string | null;
        /**
         * Optional. The source type of the Autonomous Database.
         */
        sourceType?: string | null;
        /**
         * Optional. Clone from latest available backup timestamp. This field is only applicable in case of BACKUP_FROM_TIMESTAMP source type.
         */
        useLatestAvailableBackup?: boolean | null;
    }
    /**
     * The request for `AutonomousDatabase.Start`.
     */
    export interface Schema$StartAutonomousDatabaseRequest {
    }
    /**
     * The request for `GoldengateDeployment.Start`.
     */
    export interface Schema$StartGoldengateDeploymentRequest {
    }
    /**
     * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
     */
    export interface Schema$Status {
        /**
         * The status code, which should be an enum value of google.rpc.Code.
         */
        code?: number | null;
        /**
         * A list of messages that carry the error details. There is a common set of message types for APIs to use.
         */
        details?: Array<{
            [key: string]: any;
        }> | null;
        /**
         * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
         */
        message?: string | null;
    }
    /**
     * The request for `AutonomousDatabase.Stop`.
     */
    export interface Schema$StopAutonomousDatabaseRequest {
    }
    /**
     * The request for `GoldengateDeployment.Stop`.
     */
    export interface Schema$StopGoldengateDeploymentRequest {
    }
    /**
     * The initial storage size, in gigabytes, that is applicable for virtual machine DBSystem.
     */
    export interface Schema$StorageSizeDetails {
        /**
         * Output only. The data storage size, in gigabytes, that is applicable for virtual machine DBSystem.
         */
        dataStorageSizeInGbs?: number | null;
        /**
         * Output only. The RECO/REDO storage size, in gigabytes, that is applicable for virtual machine DBSystem.
         */
        recoStorageSizeInGbs?: number | null;
    }
    /**
     * The request for `OracleDatabase.SwitchoverAutonomousDatabase`.
     */
    export interface Schema$SwitchoverAutonomousDatabaseRequest {
        /**
         * Optional. The peer database name to switch over to. Required for cross-region standby, and must be omitted for in-region Data Guard.
         */
        peerAutonomousDatabase?: string | null;
    }
    /**
     * Error details for TestGoldengateConnectionAssignment.
     */
    export interface Schema$TestConnectionAssignmentError {
        /**
         * The text describing the action required to fix the issue.
         */
        action?: string | null;
        /**
         * A short error code that defines the error, meant for programmatic parsing.
         */
        code?: string | null;
        /**
         * The text describing the root cause of the reported issue.
         */
        issue?: string | null;
        /**
         * A human-readable error message.
         */
        message?: string | null;
    }
    /**
     * Request message for TestGoldengateConnectionAssignment.
     */
    export interface Schema$TestGoldengateConnectionAssignmentRequest {
        /**
         * Optional. The type of the test of the assigned connection. The only type actually supported is DEFAULT.
         */
        type?: string | null;
    }
    /**
     * The result of the connectivity test performed between the Goldengate deployment and the associated database / service.
     */
    export interface Schema$TestGoldengateConnectionAssignmentResponse {
        /**
         * Error details if test connection failed.
         */
        error?: Schema$TestConnectionAssignmentError;
        /**
         * List of test connection assignment error objects.
         */
        errors?: Schema$TestConnectionAssignmentError[];
        /**
         * Type of the result i.e. Success, Failure or Timeout.
         */
        resultType?: string | null;
    }
    /**
     * Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
     */
    export interface Schema$TimeOfDay {
        /**
         * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
         */
        hours?: number | null;
        /**
         * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
         */
        minutes?: number | null;
        /**
         * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
         */
        nanos?: number | null;
        /**
         * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
         */
        seconds?: number | null;
    }
    /**
     * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).
     */
    export interface Schema$TimeZone {
        /**
         * IANA Time Zone Database time zone. For example "America/New_York".
         */
        id?: string | null;
        /**
         * Optional. IANA Time Zone Database version number. For example "2019a".
         */
        version?: string | null;
    }
    export class Resource$Projects {
        context: APIRequestContext;
        locations: Resource$Projects$Locations;
        constructor(context: APIRequestContext);
    }
    export class Resource$Projects$Locations {
        context: APIRequestContext;
        autonomousDatabaseBackups: Resource$Projects$Locations$Autonomousdatabasebackups;
        autonomousDatabaseCharacterSets: Resource$Projects$Locations$Autonomousdatabasecharactersets;
        autonomousDatabases: Resource$Projects$Locations$Autonomousdatabases;
        autonomousDbVersions: Resource$Projects$Locations$Autonomousdbversions;
        cloudExadataInfrastructures: Resource$Projects$Locations$Cloudexadatainfrastructures;
        cloudVmClusters: Resource$Projects$Locations$Cloudvmclusters;
        databaseCharacterSets: Resource$Projects$Locations$Databasecharactersets;
        databases: Resource$Projects$Locations$Databases;
        dbSystemInitialStorageSizes: Resource$Projects$Locations$Dbsysteminitialstoragesizes;
        dbSystems: Resource$Projects$Locations$Dbsystems;
        dbSystemShapes: Resource$Projects$Locations$Dbsystemshapes;
        dbVersions: Resource$Projects$Locations$Dbversions;
        entitlements: Resource$Projects$Locations$Entitlements;
        exadbVmClusters: Resource$Projects$Locations$Exadbvmclusters;
        exascaleDbStorageVaults: Resource$Projects$Locations$Exascaledbstoragevaults;
        giVersions: Resource$Projects$Locations$Giversions;
        goldengateConnectionAssignments: Resource$Projects$Locations$Goldengateconnectionassignments;
        goldengateConnections: Resource$Projects$Locations$Goldengateconnections;
        goldengateConnectionTypes: Resource$Projects$Locations$Goldengateconnectiontypes;
        goldengateDeploymentEnvironments: Resource$Projects$Locations$Goldengatedeploymentenvironments;
        goldengateDeployments: Resource$Projects$Locations$Goldengatedeployments;
        goldengateDeploymentTypes: Resource$Projects$Locations$Goldengatedeploymenttypes;
        goldengateDeploymentVersions: Resource$Projects$Locations$Goldengatedeploymentversions;
        odbNetworks: Resource$Projects$Locations$Odbnetworks;
        operations: Resource$Projects$Locations$Operations;
        pluggableDatabases: Resource$Projects$Locations$Pluggabledatabases;
        constructor(context: APIRequestContext);
        /**
         * Gets information about a location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.get({
         *     // Resource name for the location.
         *     name: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "displayName": "my_displayName",
         *   //   "labels": {},
         *   //   "locationId": "my_locationId",
         *   //   "metadata": {},
         *   //   "name": "my_name"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Location>>;
        get(params: Params$Resource$Projects$Locations$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Get, options: MethodOptions | BodyResponseCallback<Schema$Location>, callback: BodyResponseCallback<Schema$Location>): void;
        get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback<Schema$Location>): void;
        get(callback: BodyResponseCallback<Schema$Location>): void;
        /**
         * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.list({
         *     // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.
         *     extraLocationTypes: 'placeholder-value',
         *     // A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
         *     filter: 'placeholder-value',
         *     // The resource that owns the locations collection, if applicable.
         *     name: 'projects/my-project',
         *     // The maximum number of results to return. If not set, the service selects a default.
         *     pageSize: 'placeholder-value',
         *     // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
         *     pageToken: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "locations": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListLocationsResponse>>;
        list(params: Params$Resource$Projects$Locations$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$List, options: MethodOptions | BodyResponseCallback<Schema$ListLocationsResponse>, callback: BodyResponseCallback<Schema$ListLocationsResponse>): void;
        list(params: Params$Resource$Projects$Locations$List, callback: BodyResponseCallback<Schema$ListLocationsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListLocationsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Get extends StandardParameters {
        /**
         * Resource name for the location.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$List extends StandardParameters {
        /**
         * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.
         */
        extraLocationTypes?: string[];
        /**
         * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
         */
        filter?: string;
        /**
         * The resource that owns the locations collection, if applicable.
         */
        name?: string;
        /**
         * The maximum number of results to return. If not set, the service selects a default.
         */
        pageSize?: number;
        /**
         * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
         */
        pageToken?: string;
    }
    export class Resource$Projects$Locations$Autonomousdatabasebackups {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists the long-term and automatic backups of an Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabaseBackups.list({
         *       // Optional. An expression for filtering the results of the request. Only the **autonomous_database_id** field is supported in the following format: `autonomous_database_id="{autonomous_database_id\}"`. The accepted values must be a valid Autonomous Database ID, limited to the naming restrictions of the ID: ^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$). The ID must start with a letter, end with a letter or a number, and be a maximum of 63 characters.
         *       filter: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous DB Backups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for ListAutonomousDatabaseBackups in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "autonomousDatabaseBackups": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasebackups$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Autonomousdatabasebackups$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListAutonomousDatabaseBackupsResponse>>;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasebackups$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasebackups$List, options: MethodOptions | BodyResponseCallback<Schema$ListAutonomousDatabaseBackupsResponse>, callback: BodyResponseCallback<Schema$ListAutonomousDatabaseBackupsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasebackups$List, callback: BodyResponseCallback<Schema$ListAutonomousDatabaseBackupsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListAutonomousDatabaseBackupsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabasebackups$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Only the **autonomous_database_id** field is supported in the following format: `autonomous_database_id="{autonomous_database_id\}"`. The accepted values must be a valid Autonomous Database ID, limited to the naming restrictions of the ID: ^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$). The ID must start with a letter, end with a letter or a number, and be a maximum of 63 characters.
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous DB Backups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for ListAutonomousDatabaseBackups in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Autonomousdatabasecharactersets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists Autonomous Database Character Sets in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabaseCharacterSets.list(
         *       {
         *         // Optional. An expression for filtering the results of the request. Only the **character_set_type** field is supported in the following format: `character_set_type="{characterSetType\}"`. Accepted values include `DATABASE` and `NATIONAL`.
         *         filter: 'placeholder-value',
         *         // Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous DB Character Sets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *         pageSize: 'placeholder-value',
         *         // Optional. A token identifying a page of results the server should return.
         *         pageToken: 'placeholder-value',
         *         // Required. The parent value for the Autonomous Database in the following format: projects/{project\}/locations/{location\}.
         *         parent: 'projects/my-project/locations/my-location',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "autonomousDatabaseCharacterSets": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasecharactersets$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Autonomousdatabasecharactersets$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListAutonomousDatabaseCharacterSetsResponse>>;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasecharactersets$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasecharactersets$List, options: MethodOptions | BodyResponseCallback<Schema$ListAutonomousDatabaseCharacterSetsResponse>, callback: BodyResponseCallback<Schema$ListAutonomousDatabaseCharacterSetsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabasecharactersets$List, callback: BodyResponseCallback<Schema$ListAutonomousDatabaseCharacterSetsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListAutonomousDatabaseCharacterSetsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabasecharactersets$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Only the **character_set_type** field is supported in the following format: `character_set_type="{characterSetType\}"`. Accepted values include `DATABASE` and `NATIONAL`.
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous DB Character Sets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the Autonomous Database in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Autonomousdatabases {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new Autonomous Database in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.create({
         *       // Required. The ID of the Autonomous Database to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *       autonomousDatabaseId: 'placeholder-value',
         *       // Required. The name of the parent in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "adminPassword": "my_adminPassword",
         *         //   "adminPasswordSecretVersion": "my_adminPasswordSecretVersion",
         *         //   "cidr": "my_cidr",
         *         //   "createTime": "my_createTime",
         *         //   "database": "my_database",
         *         //   "disasterRecoverySupportedLocations": [],
         *         //   "displayName": "my_displayName",
         *         //   "entitlementId": "my_entitlementId",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "network": "my_network",
         *         //   "odbNetwork": "my_odbNetwork",
         *         //   "odbSubnet": "my_odbSubnet",
         *         //   "peerAutonomousDatabases": [],
         *         //   "properties": {},
         *         //   "sourceConfig": {}
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Autonomousdatabases$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Autonomousdatabases$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Autonomousdatabases$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Autonomousdatabases$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.delete({
         *       // Required. The name of the resource in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Autonomousdatabases$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Autonomousdatabases$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Autonomousdatabases$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Autonomousdatabases$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Initiates a failover to target autonomous database from the associated primary database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.failover({
         *       // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "peerAutonomousDatabase": "my_peerAutonomousDatabase"
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        failover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Failover, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        failover(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Failover, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        failover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Failover, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        failover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Failover, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        failover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Failover, callback: BodyResponseCallback<Schema$Operation>): void;
        failover(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Generates a wallet for an Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.generateWallet({
         *       // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "isRegional": false,
         *         //   "password": "my_password",
         *         //   "type": "my_type"
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "archiveContent": "my_archiveContent"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        generateWallet(params: Params$Resource$Projects$Locations$Autonomousdatabases$Generatewallet, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        generateWallet(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Generatewallet, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GenerateAutonomousDatabaseWalletResponse>>;
        generateWallet(params: Params$Resource$Projects$Locations$Autonomousdatabases$Generatewallet, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        generateWallet(params: Params$Resource$Projects$Locations$Autonomousdatabases$Generatewallet, options: MethodOptions | BodyResponseCallback<Schema$GenerateAutonomousDatabaseWalletResponse>, callback: BodyResponseCallback<Schema$GenerateAutonomousDatabaseWalletResponse>): void;
        generateWallet(params: Params$Resource$Projects$Locations$Autonomousdatabases$Generatewallet, callback: BodyResponseCallback<Schema$GenerateAutonomousDatabaseWalletResponse>): void;
        generateWallet(callback: BodyResponseCallback<Schema$GenerateAutonomousDatabaseWalletResponse>): void;
        /**
         * Gets the details of a single Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.autonomousDatabases.get({
         *     // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *     name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "adminPassword": "my_adminPassword",
         *   //   "adminPasswordSecretVersion": "my_adminPasswordSecretVersion",
         *   //   "cidr": "my_cidr",
         *   //   "createTime": "my_createTime",
         *   //   "database": "my_database",
         *   //   "disasterRecoverySupportedLocations": [],
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "network": "my_network",
         *   //   "odbNetwork": "my_odbNetwork",
         *   //   "odbSubnet": "my_odbSubnet",
         *   //   "peerAutonomousDatabases": [],
         *   //   "properties": {},
         *   //   "sourceConfig": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Autonomousdatabases$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$AutonomousDatabase>>;
        get(params: Params$Resource$Projects$Locations$Autonomousdatabases$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Autonomousdatabases$Get, options: MethodOptions | BodyResponseCallback<Schema$AutonomousDatabase>, callback: BodyResponseCallback<Schema$AutonomousDatabase>): void;
        get(params: Params$Resource$Projects$Locations$Autonomousdatabases$Get, callback: BodyResponseCallback<Schema$AutonomousDatabase>): void;
        get(callback: BodyResponseCallback<Schema$AutonomousDatabase>): void;
        /**
         * Gets the refreshable clones for a given Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.getRefreshableClones(
         *       {
         *         // Required. The Autonomous Database resource whose refreshable clones are to be listed. Format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}
         *         name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "autonomousDatabaseRefreshableClones": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        getRefreshableClones(params: Params$Resource$Projects$Locations$Autonomousdatabases$Getrefreshableclones, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        getRefreshableClones(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Getrefreshableclones, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$AutonomousDatabaseRefreshableClones>>;
        getRefreshableClones(params: Params$Resource$Projects$Locations$Autonomousdatabases$Getrefreshableclones, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        getRefreshableClones(params: Params$Resource$Projects$Locations$Autonomousdatabases$Getrefreshableclones, options: MethodOptions | BodyResponseCallback<Schema$AutonomousDatabaseRefreshableClones>, callback: BodyResponseCallback<Schema$AutonomousDatabaseRefreshableClones>): void;
        getRefreshableClones(params: Params$Resource$Projects$Locations$Autonomousdatabases$Getrefreshableclones, callback: BodyResponseCallback<Schema$AutonomousDatabaseRefreshableClones>): void;
        getRefreshableClones(callback: BodyResponseCallback<Schema$AutonomousDatabaseRefreshableClones>): void;
        /**
         * Lists the Autonomous Databases in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.autonomousDatabases.list({
         *     // Optional. An expression for filtering the results of the request.
         *     filter: 'placeholder-value',
         *     // Optional. An expression for ordering the results of the request.
         *     orderBy: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous Database will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for the Autonomous Database in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "autonomousDatabases": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Autonomousdatabases$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Autonomousdatabases$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListAutonomousDatabasesResponse>>;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabases$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabases$List, options: MethodOptions | BodyResponseCallback<Schema$ListAutonomousDatabasesResponse>, callback: BodyResponseCallback<Schema$ListAutonomousDatabasesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdatabases$List, callback: BodyResponseCallback<Schema$ListAutonomousDatabasesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListAutonomousDatabasesResponse>): void;
        /**
         * Updates the parameters of a single Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.autonomousDatabases.patch(
         *     {
         *       // Identifier. The name of the Autonomous Database resource in the following format: projects/{project\}/locations/{region\}/autonomousDatabases/{autonomous_database\}
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *       // Optional. Field mask is used to specify the fields to be overwritten in the Exadata resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
         *       updateMask: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "adminPassword": "my_adminPassword",
         *         //   "adminPasswordSecretVersion": "my_adminPasswordSecretVersion",
         *         //   "cidr": "my_cidr",
         *         //   "createTime": "my_createTime",
         *         //   "database": "my_database",
         *         //   "disasterRecoverySupportedLocations": [],
         *         //   "displayName": "my_displayName",
         *         //   "entitlementId": "my_entitlementId",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "network": "my_network",
         *         //   "odbNetwork": "my_odbNetwork",
         *         //   "odbSubnet": "my_odbSubnet",
         *         //   "peerAutonomousDatabases": [],
         *         //   "properties": {},
         *         //   "sourceConfig": {}
         *         // }
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        patch(params: Params$Resource$Projects$Locations$Autonomousdatabases$Patch, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        patch(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Patch, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        patch(params: Params$Resource$Projects$Locations$Autonomousdatabases$Patch, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        patch(params: Params$Resource$Projects$Locations$Autonomousdatabases$Patch, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        patch(params: Params$Resource$Projects$Locations$Autonomousdatabases$Patch, callback: BodyResponseCallback<Schema$Operation>): void;
        patch(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Refreshes the refreshable clone of an Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.refresh({
         *       // Required. The name of the AutonomousDatabase resource. Format: projects/{project\}/location/{location\}/autonomousDatabases/{autonomous_database\}
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "refreshCutoffTime": "my_refreshCutoffTime"
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        refresh(params: Params$Resource$Projects$Locations$Autonomousdatabases$Refresh, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        refresh(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Refresh, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        refresh(params: Params$Resource$Projects$Locations$Autonomousdatabases$Refresh, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        refresh(params: Params$Resource$Projects$Locations$Autonomousdatabases$Refresh, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        refresh(params: Params$Resource$Projects$Locations$Autonomousdatabases$Refresh, callback: BodyResponseCallback<Schema$Operation>): void;
        refresh(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Restarts an Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.restart({
         *       // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {}
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        restart(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restart, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        restart(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Restart, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        restart(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restart, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        restart(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restart, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        restart(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restart, callback: BodyResponseCallback<Schema$Operation>): void;
        restart(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Restores a single Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.restore({
         *       // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "restoreTime": "my_restoreTime"
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        restore(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restore, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        restore(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Restore, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        restore(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restore, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        restore(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restore, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        restore(params: Params$Resource$Projects$Locations$Autonomousdatabases$Restore, callback: BodyResponseCallback<Schema$Operation>): void;
        restore(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Starts an Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.autonomousDatabases.start(
         *     {
         *       // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {}
         *       },
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        start(params: Params$Resource$Projects$Locations$Autonomousdatabases$Start, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        start(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Start, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        start(params: Params$Resource$Projects$Locations$Autonomousdatabases$Start, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        start(params: Params$Resource$Projects$Locations$Autonomousdatabases$Start, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        start(params: Params$Resource$Projects$Locations$Autonomousdatabases$Start, callback: BodyResponseCallback<Schema$Operation>): void;
        start(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Stops an Autonomous Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.autonomousDatabases.stop({
         *     // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *     name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {}
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        stop(params: Params$Resource$Projects$Locations$Autonomousdatabases$Stop, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        stop(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Stop, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        stop(params: Params$Resource$Projects$Locations$Autonomousdatabases$Stop, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        stop(params: Params$Resource$Projects$Locations$Autonomousdatabases$Stop, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        stop(params: Params$Resource$Projects$Locations$Autonomousdatabases$Stop, callback: BodyResponseCallback<Schema$Operation>): void;
        stop(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Initiates a switchover of specified autonomous database to the associated peer database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.autonomousDatabases.switchover({
         *       // Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         *       name: 'projects/my-project/locations/my-location/autonomousDatabases/my-autonomousDatabase',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "peerAutonomousDatabase": "my_peerAutonomousDatabase"
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        switchover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Switchover, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        switchover(params?: Params$Resource$Projects$Locations$Autonomousdatabases$Switchover, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        switchover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Switchover, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        switchover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Switchover, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        switchover(params: Params$Resource$Projects$Locations$Autonomousdatabases$Switchover, callback: BodyResponseCallback<Schema$Operation>): void;
        switchover(callback: BodyResponseCallback<Schema$Operation>): void;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Create extends StandardParameters {
        /**
         * Required. The ID of the Autonomous Database to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        autonomousDatabaseId?: string;
        /**
         * Required. The name of the parent in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$AutonomousDatabase;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Delete extends StandardParameters {
        /**
         * Required. The name of the resource in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Failover extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$FailoverAutonomousDatabaseRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Generatewallet extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GenerateAutonomousDatabaseWalletRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Get extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Getrefreshableclones extends StandardParameters {
        /**
         * Required. The Autonomous Database resource whose refreshable clones are to be listed. Format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous Database will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the Autonomous Database in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Patch extends StandardParameters {
        /**
         * Identifier. The name of the Autonomous Database resource in the following format: projects/{project\}/locations/{region\}/autonomousDatabases/{autonomous_database\}
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Optional. Field mask is used to specify the fields to be overwritten in the Exadata resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
         */
        updateMask?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$AutonomousDatabase;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Refresh extends StandardParameters {
        /**
         * Required. The name of the AutonomousDatabase resource. Format: projects/{project\}/location/{location\}/autonomousDatabases/{autonomous_database\}
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$RefreshAutonomousDatabaseRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Restart extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$RestartAutonomousDatabaseRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Restore extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$RestoreAutonomousDatabaseRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Start extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$StartAutonomousDatabaseRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Stop extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$StopAutonomousDatabaseRequest;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdatabases$Switchover extends StandardParameters {
        /**
         * Required. The name of the Autonomous Database in the following format: projects/{project\}/locations/{location\}/autonomousDatabases/{autonomous_database\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$SwitchoverAutonomousDatabaseRequest;
    }
    export class Resource$Projects$Locations$Autonomousdbversions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists all the available Autonomous Database versions for a project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.autonomousDbVersions.list(
         *     {
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous DB Versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for the Autonomous Database in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "autonomousDbVersions": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Autonomousdbversions$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Autonomousdbversions$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListAutonomousDbVersionsResponse>>;
        list(params: Params$Resource$Projects$Locations$Autonomousdbversions$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdbversions$List, options: MethodOptions | BodyResponseCallback<Schema$ListAutonomousDbVersionsResponse>, callback: BodyResponseCallback<Schema$ListAutonomousDbVersionsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Autonomousdbversions$List, callback: BodyResponseCallback<Schema$ListAutonomousDbVersionsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListAutonomousDbVersionsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Autonomousdbversions$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 Autonomous DB Versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the Autonomous Database in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Cloudexadatainfrastructures {
        context: APIRequestContext;
        dbServers: Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers;
        constructor(context: APIRequestContext);
        /**
         * Configures Exascale for a single Exadata Infrastructure.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudExadataInfrastructures.configureExascale(
         *       {
         *         // Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}.
         *         name: 'projects/my-project/locations/my-location/cloudExadataInfrastructures/my-cloudExadataInfrastructure',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "requestId": "my_requestId",
         *           //   "totalStorageSizeGb": 0
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        configureExascale(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Configureexascale, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        configureExascale(params?: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Configureexascale, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        configureExascale(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Configureexascale, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        configureExascale(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Configureexascale, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        configureExascale(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Configureexascale, callback: BodyResponseCallback<Schema$Operation>): void;
        configureExascale(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Creates a new Exadata Infrastructure in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudExadataInfrastructures.create({
         *       // Required. The ID of the Exadata Infrastructure to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *       cloudExadataInfrastructureId: 'placeholder-value',
         *       // Required. The parent value for CloudExadataInfrastructure in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "createTime": "my_createTime",
         *         //   "displayName": "my_displayName",
         *         //   "entitlementId": "my_entitlementId",
         *         //   "gcpOracleZone": "my_gcpOracleZone",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "properties": {}
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single Exadata Infrastructure.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudExadataInfrastructures.delete({
         *       // Optional. If set to true, all VM clusters for this Exadata Infrastructure will be deleted. An Exadata Infrastructure can only be deleted once all its VM clusters have been deleted.
         *       force: 'placeholder-value',
         *       // Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}.
         *       name: 'projects/my-project/locations/my-location/cloudExadataInfrastructures/my-cloudExadataInfrastructure',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single Exadata Infrastructure.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudExadataInfrastructures.get({
         *       // Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}.
         *       name: 'projects/my-project/locations/my-location/cloudExadataInfrastructures/my-cloudExadataInfrastructure',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$CloudExadataInfrastructure>>;
        get(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Get, options: MethodOptions | BodyResponseCallback<Schema$CloudExadataInfrastructure>, callback: BodyResponseCallback<Schema$CloudExadataInfrastructure>): void;
        get(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Get, callback: BodyResponseCallback<Schema$CloudExadataInfrastructure>): void;
        get(callback: BodyResponseCallback<Schema$CloudExadataInfrastructure>): void;
        /**
         * Lists Exadata Infrastructures in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudExadataInfrastructures.list({
         *       // Optional. An expression for filtering the results of the request.
         *       filter: 'placeholder-value',
         *       // Optional. An expression for ordering the results of the request.
         *       orderBy: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 Exadata infrastructures will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for CloudExadataInfrastructure in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "cloudExadataInfrastructures": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListCloudExadataInfrastructuresResponse>>;
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$List, options: MethodOptions | BodyResponseCallback<Schema$ListCloudExadataInfrastructuresResponse>, callback: BodyResponseCallback<Schema$ListCloudExadataInfrastructuresResponse>): void;
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$List, callback: BodyResponseCallback<Schema$ListCloudExadataInfrastructuresResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListCloudExadataInfrastructuresResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Configureexascale extends StandardParameters {
        /**
         * Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$ConfigureExascaleCloudExadataInfrastructureRequest;
    }
    export interface Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Create extends StandardParameters {
        /**
         * Required. The ID of the Exadata Infrastructure to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        cloudExadataInfrastructureId?: string;
        /**
         * Required. The parent value for CloudExadataInfrastructure in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$CloudExadataInfrastructure;
    }
    export interface Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Delete extends StandardParameters {
        /**
         * Optional. If set to true, all VM clusters for this Exadata Infrastructure will be deleted. An Exadata Infrastructure can only be deleted once all its VM clusters have been deleted.
         */
        force?: boolean;
        /**
         * Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Get extends StandardParameters {
        /**
         * Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloud_exadata_infrastructure\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Cloudexadatainfrastructures$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 Exadata infrastructures will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for CloudExadataInfrastructure in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists the database servers of an Exadata Infrastructure instance.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudExadataInfrastructures.dbServers.list(
         *       {
         *         // Optional. The maximum number of items to return. If unspecified, a maximum of 50 db servers will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         *         pageSize: 'placeholder-value',
         *         // Optional. A token identifying a page of results the server should return.
         *         pageToken: 'placeholder-value',
         *         // Required. The parent value for database server in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloudExadataInfrastructure\}.
         *         parent:
         *           'projects/my-project/locations/my-location/cloudExadataInfrastructures/my-cloudExadataInfrastructure',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbServers": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbServersResponse>>;
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbServersResponse>, callback: BodyResponseCallback<Schema$ListDbServersResponse>): void;
        list(params: Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers$List, callback: BodyResponseCallback<Schema$ListDbServersResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbServersResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Cloudexadatainfrastructures$Dbservers$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 db servers will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for database server in the following format: projects/{project\}/locations/{location\}/cloudExadataInfrastructures/{cloudExadataInfrastructure\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Cloudvmclusters {
        context: APIRequestContext;
        dbNodes: Resource$Projects$Locations$Cloudvmclusters$Dbnodes;
        constructor(context: APIRequestContext);
        /**
         * Creates a new VM Cluster in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.cloudVmClusters.create({
         *     // Required. The ID of the VM Cluster to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *     cloudVmClusterId: 'placeholder-value',
         *     // Required. The name of the parent in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "backupOdbSubnet": "my_backupOdbSubnet",
         *       //   "backupSubnetCidr": "my_backupSubnetCidr",
         *       //   "cidr": "my_cidr",
         *       //   "createTime": "my_createTime",
         *       //   "displayName": "my_displayName",
         *       //   "exadataInfrastructure": "my_exadataInfrastructure",
         *       //   "exascaleDbStorageVault": "my_exascaleDbStorageVault",
         *       //   "gcpOracleZone": "my_gcpOracleZone",
         *       //   "identityConnector": {},
         *       //   "labels": {},
         *       //   "name": "my_name",
         *       //   "network": "my_network",
         *       //   "odbNetwork": "my_odbNetwork",
         *       //   "odbSubnet": "my_odbSubnet",
         *       //   "properties": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Cloudvmclusters$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Cloudvmclusters$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Cloudvmclusters$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Cloudvmclusters$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Cloudvmclusters$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single VM Cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.cloudVmClusters.delete({
         *     // Optional. If set to true, all child resources for the VM Cluster will be deleted. A VM Cluster can only be deleted once all its child resources have been deleted.
         *     force: 'placeholder-value',
         *     // Required. The name of the Cloud VM Cluster in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloud_vm_cluster\}.
         *     name: 'projects/my-project/locations/my-location/cloudVmClusters/my-cloudVmCluster',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Cloudvmclusters$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Cloudvmclusters$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Cloudvmclusters$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Cloudvmclusters$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Cloudvmclusters$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single VM Cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.cloudVmClusters.get({
         *     // Required. The name of the Cloud VM Cluster in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloud_vm_cluster\}.
         *     name: 'projects/my-project/locations/my-location/cloudVmClusters/my-cloudVmCluster',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "backupOdbSubnet": "my_backupOdbSubnet",
         *   //   "backupSubnetCidr": "my_backupSubnetCidr",
         *   //   "cidr": "my_cidr",
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "exadataInfrastructure": "my_exadataInfrastructure",
         *   //   "exascaleDbStorageVault": "my_exascaleDbStorageVault",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "identityConnector": {},
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "network": "my_network",
         *   //   "odbNetwork": "my_odbNetwork",
         *   //   "odbSubnet": "my_odbSubnet",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Cloudvmclusters$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Cloudvmclusters$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$CloudVmCluster>>;
        get(params: Params$Resource$Projects$Locations$Cloudvmclusters$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Cloudvmclusters$Get, options: MethodOptions | BodyResponseCallback<Schema$CloudVmCluster>, callback: BodyResponseCallback<Schema$CloudVmCluster>): void;
        get(params: Params$Resource$Projects$Locations$Cloudvmclusters$Get, callback: BodyResponseCallback<Schema$CloudVmCluster>): void;
        get(callback: BodyResponseCallback<Schema$CloudVmCluster>): void;
        /**
         * Lists the VM Clusters in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.cloudVmClusters.list({
         *     // Optional. An expression for filtering the results of the request.
         *     filter: 'placeholder-value',
         *     // Optional. The number of VM clusters to return. If unspecified, at most 50 VM clusters will be returned. The maximum value is 1,000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying the page of results the server returns.
         *     pageToken: 'placeholder-value',
         *     // Required. The name of the parent in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "cloudVmClusters": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Cloudvmclusters$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListCloudVmClustersResponse>>;
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$List, options: MethodOptions | BodyResponseCallback<Schema$ListCloudVmClustersResponse>, callback: BodyResponseCallback<Schema$ListCloudVmClustersResponse>): void;
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$List, callback: BodyResponseCallback<Schema$ListCloudVmClustersResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListCloudVmClustersResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Cloudvmclusters$Create extends StandardParameters {
        /**
         * Required. The ID of the VM Cluster to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        cloudVmClusterId?: string;
        /**
         * Required. The name of the parent in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$CloudVmCluster;
    }
    export interface Params$Resource$Projects$Locations$Cloudvmclusters$Delete extends StandardParameters {
        /**
         * Optional. If set to true, all child resources for the VM Cluster will be deleted. A VM Cluster can only be deleted once all its child resources have been deleted.
         */
        force?: boolean;
        /**
         * Required. The name of the Cloud VM Cluster in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloud_vm_cluster\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Cloudvmclusters$Get extends StandardParameters {
        /**
         * Required. The name of the Cloud VM Cluster in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloud_vm_cluster\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Cloudvmclusters$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. The number of VM clusters to return. If unspecified, at most 50 VM clusters will be returned. The maximum value is 1,000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying the page of results the server returns.
         */
        pageToken?: string;
        /**
         * Required. The name of the parent in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Cloudvmclusters$Dbnodes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists the database nodes of a VM Cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.cloudVmClusters.dbNodes.list({
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 db nodes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the node should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for database node in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloudVmCluster\}. .
         *       parent:
         *         'projects/my-project/locations/my-location/cloudVmClusters/my-cloudVmCluster',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbNodes": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$Dbnodes$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Cloudvmclusters$Dbnodes$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbNodesResponse>>;
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$Dbnodes$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$Dbnodes$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbNodesResponse>, callback: BodyResponseCallback<Schema$ListDbNodesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Cloudvmclusters$Dbnodes$List, callback: BodyResponseCallback<Schema$ListDbNodesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbNodesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Cloudvmclusters$Dbnodes$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 db nodes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the node should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for database node in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloudVmCluster\}. .
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Databasecharactersets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * List DatabaseCharacterSets for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.databaseCharacterSets.list({
         *       // Optional. An expression for filtering the results of the request. Only the **character_set_type** field is supported in the following format: `character_set_type="{characterSetType\}"`. Accepted values include `DATABASE` and `NATIONAL`.
         *       filter: 'placeholder-value',
         *       // Optional. The maximum number of DatabaseCharacterSets to return. The service may return fewer than this value. If unspecified, at most 50 DatabaseCharacterSets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A page token, received from a previous `ListDatabaseCharacterSets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDatabaseCharacterSets` must match the call that provided the page token.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for DatabaseCharacterSets in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "databaseCharacterSets": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Databasecharactersets$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Databasecharactersets$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDatabaseCharacterSetsResponse>>;
        list(params: Params$Resource$Projects$Locations$Databasecharactersets$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Databasecharactersets$List, options: MethodOptions | BodyResponseCallback<Schema$ListDatabaseCharacterSetsResponse>, callback: BodyResponseCallback<Schema$ListDatabaseCharacterSetsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Databasecharactersets$List, callback: BodyResponseCallback<Schema$ListDatabaseCharacterSetsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDatabaseCharacterSetsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Databasecharactersets$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Only the **character_set_type** field is supported in the following format: `character_set_type="{characterSetType\}"`. Accepted values include `DATABASE` and `NATIONAL`.
         */
        filter?: string;
        /**
         * Optional. The maximum number of DatabaseCharacterSets to return. The service may return fewer than this value. If unspecified, at most 50 DatabaseCharacterSets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A page token, received from a previous `ListDatabaseCharacterSets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDatabaseCharacterSets` must match the call that provided the page token.
         */
        pageToken?: string;
        /**
         * Required. The parent value for DatabaseCharacterSets in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Databases {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Gets details of a single Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.databases.get({
         *     // Required. The name of the Database resource in the following format: projects/{project\}/locations/{region\}/databases/{database\}
         *     name: 'projects/my-project/locations/my-location/databases/my-database',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "adminPassword": "my_adminPassword",
         *   //   "adminPasswordSecretVersion": "my_adminPasswordSecretVersion",
         *   //   "characterSet": "my_characterSet",
         *   //   "createTime": "my_createTime",
         *   //   "databaseId": "my_databaseId",
         *   //   "dbHomeName": "my_dbHomeName",
         *   //   "dbName": "my_dbName",
         *   //   "dbUniqueName": "my_dbUniqueName",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "name": "my_name",
         *   //   "ncharacterSet": "my_ncharacterSet",
         *   //   "ociUrl": "my_ociUrl",
         *   //   "opsInsightsStatus": "my_opsInsightsStatus",
         *   //   "pluggableDatabaseId": "my_pluggableDatabaseId",
         *   //   "pluggableDatabaseName": "my_pluggableDatabaseName",
         *   //   "properties": {},
         *   //   "tdeWalletPassword": "my_tdeWalletPassword",
         *   //   "tdeWalletPasswordSecretVersion": "my_tdeWalletPasswordSecretVersion"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Databases$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Databases$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Database>>;
        get(params: Params$Resource$Projects$Locations$Databases$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Databases$Get, options: MethodOptions | BodyResponseCallback<Schema$Database>, callback: BodyResponseCallback<Schema$Database>): void;
        get(params: Params$Resource$Projects$Locations$Databases$Get, callback: BodyResponseCallback<Schema$Database>): void;
        get(callback: BodyResponseCallback<Schema$Database>): void;
        /**
         * Lists all the Databases for the given project, location and DbSystem.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.databases.list({
         *     // Optional. An expression for filtering the results of the request. list for container databases is supported only with a valid dbSystem (full resource name) filter in this format: `dbSystem="projects/{project\}/locations/{location\}/dbSystems/{dbSystemId\}"`
         *     filter: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, a maximum of 50 Databases will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent resource name in the following format: projects/{project\}/locations/{region\}
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "databases": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Databases$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Databases$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDatabasesResponse>>;
        list(params: Params$Resource$Projects$Locations$Databases$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Databases$List, options: MethodOptions | BodyResponseCallback<Schema$ListDatabasesResponse>, callback: BodyResponseCallback<Schema$ListDatabasesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Databases$List, callback: BodyResponseCallback<Schema$ListDatabasesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDatabasesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Databases$Get extends StandardParameters {
        /**
         * Required. The name of the Database resource in the following format: projects/{project\}/locations/{region\}/databases/{database\}
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Databases$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. list for container databases is supported only with a valid dbSystem (full resource name) filter in this format: `dbSystem="projects/{project\}/locations/{location\}/dbSystems/{dbSystemId\}"`
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 Databases will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         */
        pageToken?: string;
        /**
         * Required. The parent resource name in the following format: projects/{project\}/locations/{region\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Dbsysteminitialstoragesizes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists all the DbSystemInitialStorageSizes for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.dbSystemInitialStorageSizes.list({
         *       // Optional. The maximum number of items to return. If unspecified, a maximum of 50 DbSystemInitialStorageSizes will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for the DbSystemInitialStorageSize resource with the format: projects/{project\}/locations/{location\}
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbSystemInitialStorageSizes": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Dbsysteminitialstoragesizes$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Dbsysteminitialstoragesizes$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbSystemInitialStorageSizesResponse>>;
        list(params: Params$Resource$Projects$Locations$Dbsysteminitialstoragesizes$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Dbsysteminitialstoragesizes$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbSystemInitialStorageSizesResponse>, callback: BodyResponseCallback<Schema$ListDbSystemInitialStorageSizesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Dbsysteminitialstoragesizes$List, callback: BodyResponseCallback<Schema$ListDbSystemInitialStorageSizesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbSystemInitialStorageSizesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Dbsysteminitialstoragesizes$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 DbSystemInitialStorageSizes will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the DbSystemInitialStorageSize resource with the format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Dbsystems {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new DbSystem in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.dbSystems.create({
         *     // Required. The ID of the DbSystem to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *     dbSystemId: 'placeholder-value',
         *     // Required. The value for parent of the DbSystem in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *     // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "createTime": "my_createTime",
         *       //   "displayName": "my_displayName",
         *       //   "entitlementId": "my_entitlementId",
         *       //   "gcpOracleZone": "my_gcpOracleZone",
         *       //   "labels": {},
         *       //   "name": "my_name",
         *       //   "ociUrl": "my_ociUrl",
         *       //   "odbNetwork": "my_odbNetwork",
         *       //   "odbSubnet": "my_odbSubnet",
         *       //   "properties": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Dbsystems$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Dbsystems$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Dbsystems$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Dbsystems$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Dbsystems$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single DbSystem.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.dbSystems.delete({
         *     // Required. The name of the DbSystem in the following format: projects/{project\}/locations/{location\}/dbSystems/{db_system\}.
         *     name: 'projects/my-project/locations/my-location/dbSystems/my-dbSystem',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Dbsystems$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Dbsystems$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Dbsystems$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Dbsystems$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Dbsystems$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single DbSystem.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.dbSystems.get({
         *     // Required. The name of the DbSystem in the following format: projects/{project\}/locations/{location\}/dbSystems/{db_system\}.
         *     name: 'projects/my-project/locations/my-location/dbSystems/my-dbSystem',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "ociUrl": "my_ociUrl",
         *   //   "odbNetwork": "my_odbNetwork",
         *   //   "odbSubnet": "my_odbSubnet",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Dbsystems$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Dbsystems$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$DbSystem>>;
        get(params: Params$Resource$Projects$Locations$Dbsystems$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Dbsystems$Get, options: MethodOptions | BodyResponseCallback<Schema$DbSystem>, callback: BodyResponseCallback<Schema$DbSystem>): void;
        get(params: Params$Resource$Projects$Locations$Dbsystems$Get, callback: BodyResponseCallback<Schema$DbSystem>): void;
        get(callback: BodyResponseCallback<Schema$DbSystem>): void;
        /**
         * Lists all the DbSystems for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.dbSystems.list({
         *     // Optional. An expression for filtering the results of the request.
         *     filter: 'placeholder-value',
         *     // Optional. An expression for ordering the results of the request.
         *     orderBy: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, at most 50 DbSystems will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for DbSystems in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbSystems": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Dbsystems$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Dbsystems$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbSystemsResponse>>;
        list(params: Params$Resource$Projects$Locations$Dbsystems$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Dbsystems$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbSystemsResponse>, callback: BodyResponseCallback<Schema$ListDbSystemsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Dbsystems$List, callback: BodyResponseCallback<Schema$ListDbSystemsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbSystemsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Dbsystems$Create extends StandardParameters {
        /**
         * Required. The ID of the DbSystem to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        dbSystemId?: string;
        /**
         * Required. The value for parent of the DbSystem in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$DbSystem;
    }
    export interface Params$Resource$Projects$Locations$Dbsystems$Delete extends StandardParameters {
        /**
         * Required. The name of the DbSystem in the following format: projects/{project\}/locations/{location\}/dbSystems/{db_system\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Dbsystems$Get extends StandardParameters {
        /**
         * Required. The name of the DbSystem in the following format: projects/{project\}/locations/{location\}/dbSystems/{db_system\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Dbsystems$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 DbSystems will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for DbSystems in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Dbsystemshapes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists the database system shapes available for the project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.dbSystemShapes.list({
         *     // Optional. An expression for filtering the results of the request. The `gcp_oracle_zone_id`, `shape_family`, and `database_edition` fields are supported in the following format: `gcp_oracle_zone_id="{gcp_oracle_zone_id\}" AND shape_family="{shape_family\}" AND database_edition="{database_edition\}"`.
         *     filter: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, at most 50 database system shapes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for Database System Shapes in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbSystemShapes": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Dbsystemshapes$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Dbsystemshapes$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbSystemShapesResponse>>;
        list(params: Params$Resource$Projects$Locations$Dbsystemshapes$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Dbsystemshapes$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbSystemShapesResponse>, callback: BodyResponseCallback<Schema$ListDbSystemShapesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Dbsystemshapes$List, callback: BodyResponseCallback<Schema$ListDbSystemShapesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbSystemShapesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Dbsystemshapes$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. The `gcp_oracle_zone_id`, `shape_family`, and `database_edition` fields are supported in the following format: `gcp_oracle_zone_id="{gcp_oracle_zone_id\}" AND shape_family="{shape_family\}" AND database_edition="{database_edition\}"`.
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 database system shapes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for Database System Shapes in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Dbversions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * List DbVersions for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.dbVersions.list({
         *     // Optional. Filter expression that matches a subset of the DbVersions to show. The supported filter for dbSystem creation is `db_system_shape = {db_system_shape\} AND storage_management = {storage_management\}`. If no filter is provided, all DbVersions will be returned.
         *     filter: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, a maximum of 50 DbVersions will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for the DbVersion resource with the format: projects/{project\}/locations/{location\}
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbVersions": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Dbversions$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Dbversions$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbVersionsResponse>>;
        list(params: Params$Resource$Projects$Locations$Dbversions$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Dbversions$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbVersionsResponse>, callback: BodyResponseCallback<Schema$ListDbVersionsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Dbversions$List, callback: BodyResponseCallback<Schema$ListDbVersionsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbVersionsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Dbversions$List extends StandardParameters {
        /**
         * Optional. Filter expression that matches a subset of the DbVersions to show. The supported filter for dbSystem creation is `db_system_shape = {db_system_shape\} AND storage_management = {storage_management\}`. If no filter is provided, all DbVersions will be returned.
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 DbVersions will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the DbVersion resource with the format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Entitlements {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists the entitlements in a given project.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.entitlements.list({
         *     // Optional. The maximum number of items to return. If unspecified, a maximum of 50 entitlements will be returned. The maximum value is 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for the entitlement in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "entitlements": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Entitlements$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Entitlements$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListEntitlementsResponse>>;
        list(params: Params$Resource$Projects$Locations$Entitlements$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Entitlements$List, options: MethodOptions | BodyResponseCallback<Schema$ListEntitlementsResponse>, callback: BodyResponseCallback<Schema$ListEntitlementsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Entitlements$List, callback: BodyResponseCallback<Schema$ListEntitlementsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListEntitlementsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Entitlements$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 entitlements will be returned. The maximum value is 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the entitlement in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Exadbvmclusters {
        context: APIRequestContext;
        dbNodes: Resource$Projects$Locations$Exadbvmclusters$Dbnodes;
        constructor(context: APIRequestContext);
        /**
         * Creates a new Exadb (Exascale) VM Cluster resource.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.exadbVmClusters.create({
         *     // Required. The ID of the ExadbVmCluster to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *     exadbVmClusterId: 'placeholder-value',
         *     // Required. The value for parent of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *     // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "backupOdbSubnet": "my_backupOdbSubnet",
         *       //   "createTime": "my_createTime",
         *       //   "displayName": "my_displayName",
         *       //   "entitlementId": "my_entitlementId",
         *       //   "gcpOracleZone": "my_gcpOracleZone",
         *       //   "identityConnector": {},
         *       //   "labels": {},
         *       //   "name": "my_name",
         *       //   "odbNetwork": "my_odbNetwork",
         *       //   "odbSubnet": "my_odbSubnet",
         *       //   "properties": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Exadbvmclusters$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Exadbvmclusters$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Exadbvmclusters$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Exadbvmclusters$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Exadbvmclusters$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single Exadb (Exascale) VM Cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.exadbVmClusters.delete({
         *     // Required. The name of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}/exadbVmClusters/{exadb_vm_cluster\}.
         *     name: 'projects/my-project/locations/my-location/exadbVmClusters/my-exadbVmCluster',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Exadbvmclusters$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Exadbvmclusters$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Exadbvmclusters$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Exadbvmclusters$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Exadbvmclusters$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single Exadb (Exascale) VM Cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.exadbVmClusters.get({
         *     // Required. The name of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}/exadbVmClusters/{exadb_vm_cluster\}.
         *     name: 'projects/my-project/locations/my-location/exadbVmClusters/my-exadbVmCluster',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "backupOdbSubnet": "my_backupOdbSubnet",
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "identityConnector": {},
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "odbNetwork": "my_odbNetwork",
         *   //   "odbSubnet": "my_odbSubnet",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Exadbvmclusters$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Exadbvmclusters$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ExadbVmCluster>>;
        get(params: Params$Resource$Projects$Locations$Exadbvmclusters$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Exadbvmclusters$Get, options: MethodOptions | BodyResponseCallback<Schema$ExadbVmCluster>, callback: BodyResponseCallback<Schema$ExadbVmCluster>): void;
        get(params: Params$Resource$Projects$Locations$Exadbvmclusters$Get, callback: BodyResponseCallback<Schema$ExadbVmCluster>): void;
        get(callback: BodyResponseCallback<Schema$ExadbVmCluster>): void;
        /**
         * Lists all the Exadb (Exascale) VM Clusters for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.exadbVmClusters.list({
         *     // Optional. An expression for filtering the results of the request.
         *     filter: 'placeholder-value',
         *     // Optional. An expression for ordering the results of the request.
         *     orderBy: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, at most 50 ExadbVmClusters will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for ExadbVmClusters in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "exadbVmClusters": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Exadbvmclusters$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListExadbVmClustersResponse>>;
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$List, options: MethodOptions | BodyResponseCallback<Schema$ListExadbVmClustersResponse>, callback: BodyResponseCallback<Schema$ListExadbVmClustersResponse>): void;
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$List, callback: BodyResponseCallback<Schema$ListExadbVmClustersResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListExadbVmClustersResponse>): void;
        /**
         * Updates a single Exadb (Exascale) VM Cluster. To add virtual machines to existing exadb vm cluster, only pass the node count.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.exadbVmClusters.patch({
         *     // Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project\}/locations/{region\}/exadbVmClusters/{exadb_vm_cluster\}
         *     name: 'projects/my-project/locations/my-location/exadbVmClusters/my-exadbVmCluster',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *     // Optional. A mask specifying which fields in th VM Cluster should be updated. A field specified in the mask is overwritten. If a mask isn't provided then all the fields in the VM Cluster are overwritten.
         *     updateMask: 'placeholder-value',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "backupOdbSubnet": "my_backupOdbSubnet",
         *       //   "createTime": "my_createTime",
         *       //   "displayName": "my_displayName",
         *       //   "entitlementId": "my_entitlementId",
         *       //   "gcpOracleZone": "my_gcpOracleZone",
         *       //   "identityConnector": {},
         *       //   "labels": {},
         *       //   "name": "my_name",
         *       //   "odbNetwork": "my_odbNetwork",
         *       //   "odbSubnet": "my_odbSubnet",
         *       //   "properties": {}
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        patch(params: Params$Resource$Projects$Locations$Exadbvmclusters$Patch, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        patch(params?: Params$Resource$Projects$Locations$Exadbvmclusters$Patch, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        patch(params: Params$Resource$Projects$Locations$Exadbvmclusters$Patch, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        patch(params: Params$Resource$Projects$Locations$Exadbvmclusters$Patch, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        patch(params: Params$Resource$Projects$Locations$Exadbvmclusters$Patch, callback: BodyResponseCallback<Schema$Operation>): void;
        patch(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Removes virtual machines from an existing exadb vm cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.exadbVmClusters.removeVirtualMachine(
         *       {
         *         // Required. The name of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}/exadbVmClusters/{exadb_vm_cluster\}.
         *         name: 'projects/my-project/locations/my-location/exadbVmClusters/my-exadbVmCluster',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "hostnames": [],
         *           //   "requestId": "my_requestId"
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        removeVirtualMachine(params: Params$Resource$Projects$Locations$Exadbvmclusters$Removevirtualmachine, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        removeVirtualMachine(params?: Params$Resource$Projects$Locations$Exadbvmclusters$Removevirtualmachine, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        removeVirtualMachine(params: Params$Resource$Projects$Locations$Exadbvmclusters$Removevirtualmachine, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        removeVirtualMachine(params: Params$Resource$Projects$Locations$Exadbvmclusters$Removevirtualmachine, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        removeVirtualMachine(params: Params$Resource$Projects$Locations$Exadbvmclusters$Removevirtualmachine, callback: BodyResponseCallback<Schema$Operation>): void;
        removeVirtualMachine(callback: BodyResponseCallback<Schema$Operation>): void;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$Create extends StandardParameters {
        /**
         * Required. The ID of the ExadbVmCluster to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        exadbVmClusterId?: string;
        /**
         * Required. The value for parent of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$ExadbVmCluster;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$Delete extends StandardParameters {
        /**
         * Required. The name of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}/exadbVmClusters/{exadb_vm_cluster\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$Get extends StandardParameters {
        /**
         * Required. The name of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}/exadbVmClusters/{exadb_vm_cluster\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 ExadbVmClusters will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for ExadbVmClusters in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$Patch extends StandardParameters {
        /**
         * Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project\}/locations/{region\}/exadbVmClusters/{exadb_vm_cluster\}
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Optional. A mask specifying which fields in th VM Cluster should be updated. A field specified in the mask is overwritten. If a mask isn't provided then all the fields in the VM Cluster are overwritten.
         */
        updateMask?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$ExadbVmCluster;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$Removevirtualmachine extends StandardParameters {
        /**
         * Required. The name of the ExadbVmCluster in the following format: projects/{project\}/locations/{location\}/exadbVmClusters/{exadb_vm_cluster\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$RemoveVirtualMachineExadbVmClusterRequest;
    }
    export class Resource$Projects$Locations$Exadbvmclusters$Dbnodes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists the database nodes of a VM Cluster.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.exadbVmClusters.dbNodes.list({
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 db nodes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the node should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for database node in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloudVmCluster\}. .
         *       parent:
         *         'projects/my-project/locations/my-location/exadbVmClusters/my-exadbVmCluster',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "dbNodes": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$Dbnodes$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Exadbvmclusters$Dbnodes$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListDbNodesResponse>>;
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$Dbnodes$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$Dbnodes$List, options: MethodOptions | BodyResponseCallback<Schema$ListDbNodesResponse>, callback: BodyResponseCallback<Schema$ListDbNodesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Exadbvmclusters$Dbnodes$List, callback: BodyResponseCallback<Schema$ListDbNodesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListDbNodesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Exadbvmclusters$Dbnodes$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 db nodes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the node should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for database node in the following format: projects/{project\}/locations/{location\}/cloudVmClusters/{cloudVmCluster\}. .
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Exascaledbstoragevaults {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new ExascaleDB Storage Vault resource.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.exascaleDbStorageVaults.create({
         *       // Required. The ID of the ExascaleDbStorageVault to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *       exascaleDbStorageVaultId: 'placeholder-value',
         *       // Required. The value for parent of the ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *       // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "createTime": "my_createTime",
         *         //   "displayName": "my_displayName",
         *         //   "entitlementId": "my_entitlementId",
         *         //   "exadataInfrastructure": "my_exadataInfrastructure",
         *         //   "gcpOracleZone": "my_gcpOracleZone",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "properties": {}
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single ExascaleDB Storage Vault.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.exascaleDbStorageVaults.delete({
         *       // Required. The name of the ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}.
         *       name: 'projects/my-project/locations/my-location/exascaleDbStorageVaults/my-exascaleDbStorageVault',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single ExascaleDB Storage Vault.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.exascaleDbStorageVaults.get({
         *       // Required. The name of the ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}.
         *       name: 'projects/my-project/locations/my-location/exascaleDbStorageVaults/my-exascaleDbStorageVault',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "exadataInfrastructure": "my_exadataInfrastructure",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ExascaleDbStorageVault>>;
        get(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Get, options: MethodOptions | BodyResponseCallback<Schema$ExascaleDbStorageVault>, callback: BodyResponseCallback<Schema$ExascaleDbStorageVault>): void;
        get(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$Get, callback: BodyResponseCallback<Schema$ExascaleDbStorageVault>): void;
        get(callback: BodyResponseCallback<Schema$ExascaleDbStorageVault>): void;
        /**
         * Lists all the ExascaleDB Storage Vaults for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.exascaleDbStorageVaults.list({
         *       // Optional. An expression for filtering the results of the request. Filter the list as specified in https://google.aip.dev/160.
         *       filter: 'placeholder-value',
         *       // Optional. An expression for ordering the results of the request. Order results as specified in https://google.aip.dev/132.
         *       orderBy: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 ExascaleDbStorageVaults will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "exascaleDbStorageVaults": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Exascaledbstoragevaults$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListExascaleDbStorageVaultsResponse>>;
        list(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$List, options: MethodOptions | BodyResponseCallback<Schema$ListExascaleDbStorageVaultsResponse>, callback: BodyResponseCallback<Schema$ListExascaleDbStorageVaultsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Exascaledbstoragevaults$List, callback: BodyResponseCallback<Schema$ListExascaleDbStorageVaultsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListExascaleDbStorageVaultsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Exascaledbstoragevaults$Create extends StandardParameters {
        /**
         * Required. The ID of the ExascaleDbStorageVault to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        exascaleDbStorageVaultId?: string;
        /**
         * Required. The value for parent of the ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$ExascaleDbStorageVault;
    }
    export interface Params$Resource$Projects$Locations$Exascaledbstoragevaults$Delete extends StandardParameters {
        /**
         * Required. The name of the ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Exascaledbstoragevaults$Get extends StandardParameters {
        /**
         * Required. The name of the ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}/exascaleDbStorageVaults/{exascale_db_storage_vault\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Exascaledbstoragevaults$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Filter the list as specified in https://google.aip.dev/160.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request. Order results as specified in https://google.aip.dev/132.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 ExascaleDbStorageVaults will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for ExascaleDbStorageVault in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Giversions {
        context: APIRequestContext;
        minorVersions: Resource$Projects$Locations$Giversions$Minorversions;
        constructor(context: APIRequestContext);
        /**
         * Lists all the valid Oracle Grid Infrastructure (GI) versions for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.giVersions.list({
         *     // Optional. An expression for filtering the results of the request. Only the `shape` and `gcp_oracle_zone_id` fields are supported in the following format: `shape="{shape\}" AND gcp_oracle_zone_id="{gcp_oracle_zone_id\}"`.
         *     filter: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, a maximum of 50 Oracle Grid Infrastructure (GI) versions will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for Grid Infrastructure Version in the following format: Format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "giVersions": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Giversions$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Giversions$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGiVersionsResponse>>;
        list(params: Params$Resource$Projects$Locations$Giversions$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Giversions$List, options: MethodOptions | BodyResponseCallback<Schema$ListGiVersionsResponse>, callback: BodyResponseCallback<Schema$ListGiVersionsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Giversions$List, callback: BodyResponseCallback<Schema$ListGiVersionsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGiVersionsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Giversions$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Only the `shape` and `gcp_oracle_zone_id` fields are supported in the following format: `shape="{shape\}" AND gcp_oracle_zone_id="{gcp_oracle_zone_id\}"`.
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 Oracle Grid Infrastructure (GI) versions will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for Grid Infrastructure Version in the following format: Format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Giversions$Minorversions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists all the valid minor versions for the given project, location, gi version and shape family.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.giVersions.minorVersions.list({
         *       // Optional. An expression for filtering the results of the request. Only the `shape_family` and `gcp_oracle_zone_id` fields are supported in the following format: `shape_family="{shape_family\}" AND gcp_oracle_zone_id="{gcp_oracle_zone_id\}"`.
         *       filter: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, a maximum of 50 System Versions will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for the MinorVersion resource with the format: projects/{project\}/locations/{location\}/giVersions/{gi_version\}
         *       parent:
         *         'projects/my-project/locations/my-location/giVersions/my-giVersion',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "minorVersions": [],
         *   //   "nextPageToken": "my_nextPageToken"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Giversions$Minorversions$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Giversions$Minorversions$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListMinorVersionsResponse>>;
        list(params: Params$Resource$Projects$Locations$Giversions$Minorversions$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Giversions$Minorversions$List, options: MethodOptions | BodyResponseCallback<Schema$ListMinorVersionsResponse>, callback: BodyResponseCallback<Schema$ListMinorVersionsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Giversions$Minorversions$List, callback: BodyResponseCallback<Schema$ListMinorVersionsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListMinorVersionsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Giversions$Minorversions$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Only the `shape_family` and `gcp_oracle_zone_id` fields are supported in the following format: `shape_family="{shape_family\}" AND gcp_oracle_zone_id="{gcp_oracle_zone_id\}"`.
         */
        filter?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, a maximum of 50 System Versions will be returned. The maximum value is 1000; values above 1000 will be reset to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying the requested page of results to return. All fields except the filter should remain the same as in the request that provided this page token.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the MinorVersion resource with the format: projects/{project\}/locations/{location\}/giVersions/{gi_version\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Goldengateconnectionassignments {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new GoldengateConnectionAssignment in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnectionAssignments.create(
         *       {
         *         // Required. The ID of the GoldengateConnectionAssignment to create.
         *         goldengateConnectionAssignmentId: 'placeholder-value',
         *         // Required. The parent resource where this GoldengateConnectionAssignment will be created. Format: projects/{project\}/locations/{location\}
         *         parent: 'projects/my-project/locations/my-location',
         *         // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *         requestId: 'placeholder-value',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "createTime": "my_createTime",
         *           //   "displayName": "my_displayName",
         *           //   "entitlementId": "my_entitlementId",
         *           //   "labels": {},
         *           //   "name": "my_name",
         *           //   "properties": {}
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single GoldengateConnectionAssignment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnectionAssignments.delete(
         *       {
         *         // Required. The name of the GoldengateConnectionAssignment to delete. Format: projects/{project\}/locations/{location\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         *         name: 'projects/my-project/locations/my-location/goldengateConnectionAssignments/my-goldengateConnectionAssignment',
         *         // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *         requestId: 'placeholder-value',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single GoldengateConnectionAssignment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnectionAssignments.get(
         *       {
         *         // Required. The name of the GoldengateConnectionAssignment to retrieve. Format: projects/{project\}/locations/{location\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         *         name: 'projects/my-project/locations/my-location/goldengateConnectionAssignments/my-goldengateConnectionAssignment',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoldengateConnectionAssignment>>;
        get(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Get, options: MethodOptions | BodyResponseCallback<Schema$GoldengateConnectionAssignment>, callback: BodyResponseCallback<Schema$GoldengateConnectionAssignment>): void;
        get(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Get, callback: BodyResponseCallback<Schema$GoldengateConnectionAssignment>): void;
        get(callback: BodyResponseCallback<Schema$GoldengateConnectionAssignment>): void;
        /**
         * Lists GoldengateConnectionAssignments in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnectionAssignments.list(
         *       {
         *         // Optional. A filter expression that filters GoldengateConnectionAssignments listed in the response.
         *         filter: 'placeholder-value',
         *         // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "DESC" after a field name for descending.
         *         orderBy: 'placeholder-value',
         *         // Optional. The maximum number of GoldengateConnectionAssignments to return. The service may return fewer than this value. If unspecified, at most 50 GoldengateConnectionAssignments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *         pageSize: 'placeholder-value',
         *         // Optional. A page token, received from a previous `ListGoldengateConnectionAssignments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListGoldengateConnectionAssignments` must match the call that provided the page token.
         *         pageToken: 'placeholder-value',
         *         // Required. The parent value for the GoldengateConnectionAssignments. Format: projects/{project\}/locations/{location\}
         *         parent: 'projects/my-project/locations/my-location',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateConnectionAssignments": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengateconnectionassignments$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateConnectionAssignmentsResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateConnectionAssignmentsResponse>, callback: BodyResponseCallback<Schema$ListGoldengateConnectionAssignmentsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$List, callback: BodyResponseCallback<Schema$ListGoldengateConnectionAssignmentsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateConnectionAssignmentsResponse>): void;
        /**
         * Tests a single GoldengateConnectionAssignment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnectionAssignments.test(
         *       {
         *         // Required. Name of the connection assignment for which to test connection. projects/{project\}/locations/{region\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         *         name: 'projects/my-project/locations/my-location/goldengateConnectionAssignments/my-goldengateConnectionAssignment',
         *
         *         // Request body metadata
         *         requestBody: {
         *           // request body parameters
         *           // {
         *           //   "type": "my_type"
         *           // }
         *         },
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "error": {},
         *   //   "errors": [],
         *   //   "resultType": "my_resultType"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        test(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Test, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        test(params?: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Test, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$TestGoldengateConnectionAssignmentResponse>>;
        test(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Test, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        test(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Test, options: MethodOptions | BodyResponseCallback<Schema$TestGoldengateConnectionAssignmentResponse>, callback: BodyResponseCallback<Schema$TestGoldengateConnectionAssignmentResponse>): void;
        test(params: Params$Resource$Projects$Locations$Goldengateconnectionassignments$Test, callback: BodyResponseCallback<Schema$TestGoldengateConnectionAssignmentResponse>): void;
        test(callback: BodyResponseCallback<Schema$TestGoldengateConnectionAssignmentResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnectionassignments$Create extends StandardParameters {
        /**
         * Required. The ID of the GoldengateConnectionAssignment to create.
         */
        goldengateConnectionAssignmentId?: string;
        /**
         * Required. The parent resource where this GoldengateConnectionAssignment will be created. Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoldengateConnectionAssignment;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnectionassignments$Delete extends StandardParameters {
        /**
         * Required. The name of the GoldengateConnectionAssignment to delete. Format: projects/{project\}/locations/{location\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         */
        name?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnectionassignments$Get extends StandardParameters {
        /**
         * Required. The name of the GoldengateConnectionAssignment to retrieve. Format: projects/{project\}/locations/{location\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnectionassignments$List extends StandardParameters {
        /**
         * Optional. A filter expression that filters GoldengateConnectionAssignments listed in the response.
         */
        filter?: string;
        /**
         * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "DESC" after a field name for descending.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of GoldengateConnectionAssignments to return. The service may return fewer than this value. If unspecified, at most 50 GoldengateConnectionAssignments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A page token, received from a previous `ListGoldengateConnectionAssignments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListGoldengateConnectionAssignments` must match the call that provided the page token.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the GoldengateConnectionAssignments. Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnectionassignments$Test extends StandardParameters {
        /**
         * Required. Name of the connection assignment for which to test connection. projects/{project\}/locations/{region\}/goldengateConnectionAssignments/{goldengate_connection_assignment\}
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$TestGoldengateConnectionAssignmentRequest;
    }
    export class Resource$Projects$Locations$Goldengateconnections {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new GoldengateConnection in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnections.create({
         *       // Required. The ID of the GoldengateConnection to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *       goldengateConnectionId: 'placeholder-value',
         *       // Required. The value for parent of the GoldengateConnection in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *       // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "createTime": "my_createTime",
         *         //   "entitlementId": "my_entitlementId",
         *         //   "gcpOracleZone": "my_gcpOracleZone",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "ociUrl": "my_ociUrl",
         *         //   "odbNetwork": "my_odbNetwork",
         *         //   "odbSubnet": "my_odbSubnet",
         *         //   "properties": {}
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Goldengateconnections$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Goldengateconnections$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Goldengateconnections$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Goldengateconnections$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Goldengateconnections$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single GoldengateConnection.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnections.delete({
         *       // Required. The name of the GoldengateConnection in the following format: projects/{project\}/locations/{location\}/goldengateConnections/{goldengate_connection\}.
         *       name: 'projects/my-project/locations/my-location/goldengateConnections/my-goldengateConnection',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Goldengateconnections$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Goldengateconnections$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Goldengateconnections$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Goldengateconnections$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Goldengateconnections$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single GoldengateConnection.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.goldengateConnections.get(
         *     {
         *       // Required. The name of the GoldengateConnection in the following format: projects/{project\}/locations/{location\}/goldengateConnections/{goldengate_connection\}.
         *       name: 'projects/my-project/locations/my-location/goldengateConnections/my-goldengateConnection',
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "ociUrl": "my_ociUrl",
         *   //   "odbNetwork": "my_odbNetwork",
         *   //   "odbSubnet": "my_odbSubnet",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Goldengateconnections$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Goldengateconnections$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoldengateConnection>>;
        get(params: Params$Resource$Projects$Locations$Goldengateconnections$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Goldengateconnections$Get, options: MethodOptions | BodyResponseCallback<Schema$GoldengateConnection>, callback: BodyResponseCallback<Schema$GoldengateConnection>): void;
        get(params: Params$Resource$Projects$Locations$Goldengateconnections$Get, callback: BodyResponseCallback<Schema$GoldengateConnection>): void;
        get(callback: BodyResponseCallback<Schema$GoldengateConnection>): void;
        /**
         * Lists all the GoldengateConnections for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnections.list({
         *       // Optional. An expression for filtering the results of the request.
         *       filter: 'placeholder-value',
         *       // Optional. An expression for ordering the results of the request.
         *       orderBy: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 GoldengateConnections will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A page token, received from a previous ListGoldengateConnections call. Provide this to retrieve the subsequent page.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for GoldengateConnections in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateConnections": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengateconnections$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengateconnections$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateConnectionsResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengateconnections$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengateconnections$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateConnectionsResponse>, callback: BodyResponseCallback<Schema$ListGoldengateConnectionsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengateconnections$List, callback: BodyResponseCallback<Schema$ListGoldengateConnectionsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateConnectionsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnections$Create extends StandardParameters {
        /**
         * Required. The ID of the GoldengateConnection to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        goldengateConnectionId?: string;
        /**
         * Required. The value for parent of the GoldengateConnection in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoldengateConnection;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnections$Delete extends StandardParameters {
        /**
         * Required. The name of the GoldengateConnection in the following format: projects/{project\}/locations/{location\}/goldengateConnections/{goldengate_connection\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnections$Get extends StandardParameters {
        /**
         * Required. The name of the GoldengateConnection in the following format: projects/{project\}/locations/{location\}/goldengateConnections/{goldengate_connection\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnections$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 GoldengateConnections will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A page token, received from a previous ListGoldengateConnections call. Provide this to retrieve the subsequent page.
         */
        pageToken?: string;
        /**
         * Required. The parent value for GoldengateConnections in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Goldengateconnectiontypes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists GoldengateConnectionTypes in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateConnectionTypes.list({
         *       // Optional. An expression for filtering the results of the request. The connection_type field must be specified in the format: `connection_type="ORACLE"`.
         *       filter: 'placeholder-value',
         *       // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. Parent value for ListGoldengateConnectionTypesRequest Format: projects/{project\}/locations/{location\}
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateConnectionTypes": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengateconnectiontypes$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengateconnectiontypes$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateConnectionTypesResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengateconnectiontypes$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengateconnectiontypes$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateConnectionTypesResponse>, callback: BodyResponseCallback<Schema$ListGoldengateConnectionTypesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengateconnectiontypes$List, callback: BodyResponseCallback<Schema$ListGoldengateConnectionTypesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateConnectionTypesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengateconnectiontypes$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. The connection_type field must be specified in the format: `connection_type="ORACLE"`.
         */
        filter?: string;
        /**
         * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. Parent value for ListGoldengateConnectionTypesRequest Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Goldengatedeploymentenvironments {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists GoldengateDeploymentEnvironments in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeploymentEnvironments.list(
         *       {
         *         // Optional. The maximum number of items to return. If unspecified, at most 50 deployment environments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *         pageSize: 'placeholder-value',
         *         // Optional. A token identifying a page of results the server should return.
         *         pageToken: 'placeholder-value',
         *         // Required. The parent, which owns this collection of GoldengateDeploymentEnvironments. Format: projects/{project\}/locations/{location\}
         *         parent: 'projects/my-project/locations/my-location',
         *       },
         *     );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateDeploymentEnvironments": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentenvironments$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengatedeploymentenvironments$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateDeploymentEnvironmentsResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentenvironments$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentenvironments$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateDeploymentEnvironmentsResponse>, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentEnvironmentsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentenvironments$List, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentEnvironmentsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateDeploymentEnvironmentsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeploymentenvironments$List extends StandardParameters {
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 deployment environments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent, which owns this collection of GoldengateDeploymentEnvironments. Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Goldengatedeployments {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new GoldengateDeployment in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeployments.create({
         *       // Required. The ID of the GoldengateDeployment to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *       goldengateDeploymentId: 'placeholder-value',
         *       // Required. The value for parent of the GoldengateDeployment in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *       // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "createTime": "my_createTime",
         *         //   "displayName": "my_displayName",
         *         //   "entitlementId": "my_entitlementId",
         *         //   "gcpOracleZone": "my_gcpOracleZone",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "ociUrl": "my_ociUrl",
         *         //   "odbNetwork": "my_odbNetwork",
         *         //   "odbSubnet": "my_odbSubnet",
         *         //   "properties": {}
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Goldengatedeployments$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Goldengatedeployments$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Goldengatedeployments$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Goldengatedeployments$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Goldengatedeployments$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single GoldengateDeployment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeployments.delete({
         *       // Required. The name of the GoldengateDeployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         *       name: 'projects/my-project/locations/my-location/goldengateDeployments/my-goldengateDeployment',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Goldengatedeployments$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Goldengatedeployments$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Goldengatedeployments$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Goldengatedeployments$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Goldengatedeployments$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single GoldengateDeployment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.goldengateDeployments.get(
         *     {
         *       // Required. The name of the GoldengateDeployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         *       name: 'projects/my-project/locations/my-location/goldengateDeployments/my-goldengateDeployment',
         *     },
         *   );
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "displayName": "my_displayName",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "ociUrl": "my_ociUrl",
         *   //   "odbNetwork": "my_odbNetwork",
         *   //   "odbSubnet": "my_odbSubnet",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Goldengatedeployments$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Goldengatedeployments$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$GoldengateDeployment>>;
        get(params: Params$Resource$Projects$Locations$Goldengatedeployments$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Goldengatedeployments$Get, options: MethodOptions | BodyResponseCallback<Schema$GoldengateDeployment>, callback: BodyResponseCallback<Schema$GoldengateDeployment>): void;
        get(params: Params$Resource$Projects$Locations$Goldengatedeployments$Get, callback: BodyResponseCallback<Schema$GoldengateDeployment>): void;
        get(callback: BodyResponseCallback<Schema$GoldengateDeployment>): void;
        /**
         * Lists all the GoldengateDeployments for the given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeployments.list({
         *       // Optional. An expression for filtering the results of the request.
         *       filter: 'placeholder-value',
         *       // Optional. An expression for ordering the results of the request.
         *       orderBy: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 GoldengateDeployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A page token, received from a previous ListGoldengateDeployments call. Provide this to retrieve the subsequent page.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for GoldengateDeployments in the following format: projects/{project\}/locations/{location\}.
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateDeployments": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengatedeployments$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengatedeployments$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateDeploymentsResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengatedeployments$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeployments$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateDeploymentsResponse>, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeployments$List, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateDeploymentsResponse>): void;
        /**
         * Starts a single GoldengateDeployment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeployments.start({
         *       // Required. The name of the Goldengate Deployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         *       name: 'projects/my-project/locations/my-location/goldengateDeployments/my-goldengateDeployment',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {}
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        start(params: Params$Resource$Projects$Locations$Goldengatedeployments$Start, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        start(params?: Params$Resource$Projects$Locations$Goldengatedeployments$Start, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        start(params: Params$Resource$Projects$Locations$Goldengatedeployments$Start, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        start(params: Params$Resource$Projects$Locations$Goldengatedeployments$Start, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        start(params: Params$Resource$Projects$Locations$Goldengatedeployments$Start, callback: BodyResponseCallback<Schema$Operation>): void;
        start(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Stops a single GoldengateDeployment.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeployments.stop({
         *       // Required. The name of the Goldengate Deployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         *       name: 'projects/my-project/locations/my-location/goldengateDeployments/my-goldengateDeployment',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {}
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        stop(params: Params$Resource$Projects$Locations$Goldengatedeployments$Stop, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        stop(params?: Params$Resource$Projects$Locations$Goldengatedeployments$Stop, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        stop(params: Params$Resource$Projects$Locations$Goldengatedeployments$Stop, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        stop(params: Params$Resource$Projects$Locations$Goldengatedeployments$Stop, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        stop(params: Params$Resource$Projects$Locations$Goldengatedeployments$Stop, callback: BodyResponseCallback<Schema$Operation>): void;
        stop(callback: BodyResponseCallback<Schema$Operation>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeployments$Create extends StandardParameters {
        /**
         * Required. The ID of the GoldengateDeployment to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        goldengateDeploymentId?: string;
        /**
         * Required. The value for parent of the GoldengateDeployment in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$GoldengateDeployment;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeployments$Delete extends StandardParameters {
        /**
         * Required. The name of the GoldengateDeployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeployments$Get extends StandardParameters {
        /**
         * Required. The name of the GoldengateDeployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeployments$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 GoldengateDeployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A page token, received from a previous ListGoldengateDeployments call. Provide this to retrieve the subsequent page.
         */
        pageToken?: string;
        /**
         * Required. The parent value for GoldengateDeployments in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeployments$Start extends StandardParameters {
        /**
         * Required. The name of the Goldengate Deployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$StartGoldengateDeploymentRequest;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeployments$Stop extends StandardParameters {
        /**
         * Required. The name of the Goldengate Deployment in the following format: projects/{project\}/locations/{location\}/goldengateDeployments/{goldengate_deployment\}.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$StopGoldengateDeploymentRequest;
    }
    export class Resource$Projects$Locations$Goldengatedeploymenttypes {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists GoldenGateDeploymentTypes in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeploymentTypes.list({
         *       // Optional. An expression for filtering the results of the request. Either the deployment_type and ogg_version fields must be specified in the format: `deployment_type="DATABASE_ORACLE"` or `ogg_version="version"`. Allowed values for deployment_type are: `DATABASE_ORACLE`, `BIGDATA`, `DATABASE_MICROSOFT_SQLSERVER`, `DATABASE_MYSQL`, `DATABASE_POSTGRESQL`, `DATABASE_DB2ZOS`, `DATABASE_DB2I`, `GGSA`, `DATA_TRANSFORMS`.
         *       filter: 'placeholder-value',
         *       // Optional. Hint for how to order the results
         *       orderBy: 'placeholder-value',
         *       // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent resource. Format: projects/{project\}/locations/{location\}
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateDeploymentTypes": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymenttypes$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengatedeploymenttypes$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateDeploymentTypesResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymenttypes$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymenttypes$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateDeploymentTypesResponse>, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentTypesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymenttypes$List, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentTypesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateDeploymentTypesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeploymenttypes$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Either the deployment_type and ogg_version fields must be specified in the format: `deployment_type="DATABASE_ORACLE"` or `ogg_version="version"`. Allowed values for deployment_type are: `DATABASE_ORACLE`, `BIGDATA`, `DATABASE_MICROSOFT_SQLSERVER`, `DATABASE_MYSQL`, `DATABASE_POSTGRESQL`, `DATABASE_DB2ZOS`, `DATABASE_DB2I`, `GGSA`, `DATA_TRANSFORMS`.
         */
        filter?: string;
        /**
         * Optional. Hint for how to order the results
         */
        orderBy?: string;
        /**
         * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent resource. Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Goldengatedeploymentversions {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Lists GoldengateDeploymentVersions in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.goldengateDeploymentVersions.list({
         *       // Optional. An expression for filtering the results of the request. Either the deployment_id and deployment_type fields must be specified in the format: `deployment_id="id"` or `deployment_type="DATABASE_ORACLE"`.
         *       filter: 'placeholder-value',
         *       // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. Parent value for ListGoldengateDeploymentVersionsRequest Format: projects/{project\}/locations/{location\}
         *       parent: 'projects/my-project/locations/my-location',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "goldengateDeploymentVersions": [],
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentversions$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Goldengatedeploymentversions$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListGoldengateDeploymentVersionsResponse>>;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentversions$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentversions$List, options: MethodOptions | BodyResponseCallback<Schema$ListGoldengateDeploymentVersionsResponse>, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentVersionsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Goldengatedeploymentversions$List, callback: BodyResponseCallback<Schema$ListGoldengateDeploymentVersionsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListGoldengateDeploymentVersionsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Goldengatedeploymentversions$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. Either the deployment_id and deployment_type fields must be specified in the format: `deployment_id="id"` or `deployment_type="DATABASE_ORACLE"`.
         */
        filter?: string;
        /**
         * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. Parent value for ListGoldengateDeploymentVersionsRequest Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Odbnetworks {
        context: APIRequestContext;
        odbSubnets: Resource$Projects$Locations$Odbnetworks$Odbsubnets;
        constructor(context: APIRequestContext);
        /**
         * Creates a new ODB Network in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.odbNetworks.create({
         *     // Required. The ID of the OdbNetwork to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *     odbNetworkId: 'placeholder-value',
         *     // Required. The parent value for the OdbNetwork in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {
         *       //   "createTime": "my_createTime",
         *       //   "entitlementId": "my_entitlementId",
         *       //   "gcpOracleZone": "my_gcpOracleZone",
         *       //   "labels": {},
         *       //   "name": "my_name",
         *       //   "network": "my_network",
         *       //   "state": "my_state"
         *       // }
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Odbnetworks$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single ODB Network.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.odbNetworks.delete({
         *     // Required. The name of the resource in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         *     name: 'projects/my-project/locations/my-location/odbNetworks/my-odbNetwork',
         *     // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *     requestId: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Odbnetworks$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single ODB Network.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.odbNetworks.get({
         *     // Required. The name of the OdbNetwork in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         *     name: 'projects/my-project/locations/my-location/odbNetworks/my-odbNetwork',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "entitlementId": "my_entitlementId",
         *   //   "gcpOracleZone": "my_gcpOracleZone",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "network": "my_network",
         *   //   "state": "my_state"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Odbnetworks$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$OdbNetwork>>;
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Get, options: MethodOptions | BodyResponseCallback<Schema$OdbNetwork>, callback: BodyResponseCallback<Schema$OdbNetwork>): void;
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Get, callback: BodyResponseCallback<Schema$OdbNetwork>): void;
        get(callback: BodyResponseCallback<Schema$OdbNetwork>): void;
        /**
         * Lists the ODB Networks in a given project and location.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.odbNetworks.list({
         *     // Optional. An expression for filtering the results of the request.
         *     filter: 'placeholder-value',
         *     // Optional. An expression for ordering the results of the request.
         *     orderBy: 'placeholder-value',
         *     // Optional. The maximum number of items to return. If unspecified, at most 50 ODB Networks will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *     pageSize: 'placeholder-value',
         *     // Optional. A token identifying a page of results the server should return.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent value for the ODB Network in the following format: projects/{project\}/locations/{location\}.
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "odbNetworks": [],
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Odbnetworks$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Odbnetworks$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListOdbNetworksResponse>>;
        list(params: Params$Resource$Projects$Locations$Odbnetworks$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Odbnetworks$List, options: MethodOptions | BodyResponseCallback<Schema$ListOdbNetworksResponse>, callback: BodyResponseCallback<Schema$ListOdbNetworksResponse>): void;
        list(params: Params$Resource$Projects$Locations$Odbnetworks$List, callback: BodyResponseCallback<Schema$ListOdbNetworksResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListOdbNetworksResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Create extends StandardParameters {
        /**
         * Required. The ID of the OdbNetwork to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        odbNetworkId?: string;
        /**
         * Required. The parent value for the OdbNetwork in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$OdbNetwork;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Delete extends StandardParameters {
        /**
         * Required. The name of the resource in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Get extends StandardParameters {
        /**
         * Required. The name of the OdbNetwork in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 ODB Networks will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the ODB Network in the following format: projects/{project\}/locations/{location\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Odbnetworks$Odbsubnets {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Creates a new ODB Subnet in a given ODB Network.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.odbNetworks.odbSubnets.create({
         *       // Required. The ID of the OdbSubnet to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         *       odbSubnetId: 'placeholder-value',
         *       // Required. The parent value for the OdbSubnet in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         *       parent:
         *         'projects/my-project/locations/my-location/odbNetworks/my-odbNetwork',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *
         *       // Request body metadata
         *       requestBody: {
         *         // request body parameters
         *         // {
         *         //   "cidrRange": "my_cidrRange",
         *         //   "createTime": "my_createTime",
         *         //   "labels": {},
         *         //   "name": "my_name",
         *         //   "purpose": "my_purpose",
         *         //   "state": "my_state"
         *         // }
         *       },
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Create, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        create(params?: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Create, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Create, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Create, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        create(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Create, callback: BodyResponseCallback<Schema$Operation>): void;
        create(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Deletes a single ODB Subnet.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.odbNetworks.odbSubnets.delete({
         *       // Required. The name of the resource in the following format: projects/{project\}/locations/{region\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}.
         *       name: 'projects/my-project/locations/my-location/odbNetworks/my-odbNetwork/odbSubnets/my-odbSubnet',
         *       // Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         *       requestId: 'placeholder-value',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Delete, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Delete, callback: BodyResponseCallback<Schema$Operation>): void;
        delete(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Gets details of a single ODB Subnet.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.odbNetworks.odbSubnets.get({
         *       // Required. The name of the OdbSubnet in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}.
         *       name: 'projects/my-project/locations/my-location/odbNetworks/my-odbNetwork/odbSubnets/my-odbSubnet',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "cidrRange": "my_cidrRange",
         *   //   "createTime": "my_createTime",
         *   //   "labels": {},
         *   //   "name": "my_name",
         *   //   "purpose": "my_purpose",
         *   //   "state": "my_state"
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$OdbSubnet>>;
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Get, options: MethodOptions | BodyResponseCallback<Schema$OdbSubnet>, callback: BodyResponseCallback<Schema$OdbSubnet>): void;
        get(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Get, callback: BodyResponseCallback<Schema$OdbSubnet>): void;
        get(callback: BodyResponseCallback<Schema$OdbSubnet>): void;
        /**
         * Lists all the ODB Subnets in a given ODB Network.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res =
         *     await oracledatabase.projects.locations.odbNetworks.odbSubnets.list({
         *       // Optional. An expression for filtering the results of the request.
         *       filter: 'placeholder-value',
         *       // Optional. An expression for ordering the results of the request.
         *       orderBy: 'placeholder-value',
         *       // Optional. The maximum number of items to return. If unspecified, at most 50 ODB Networks will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         *       pageSize: 'placeholder-value',
         *       // Optional. A token identifying a page of results the server should return.
         *       pageToken: 'placeholder-value',
         *       // Required. The parent value for the OdbSubnet in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         *       parent:
         *         'projects/my-project/locations/my-location/odbNetworks/my-odbNetwork',
         *     });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "odbSubnets": [],
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListOdbSubnetsResponse>>;
        list(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$List, options: MethodOptions | BodyResponseCallback<Schema$ListOdbSubnetsResponse>, callback: BodyResponseCallback<Schema$ListOdbSubnetsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$List, callback: BodyResponseCallback<Schema$ListOdbSubnetsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListOdbSubnetsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Create extends StandardParameters {
        /**
         * Required. The ID of the OdbSubnet to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
         */
        odbSubnetId?: string;
        /**
         * Required. The parent value for the OdbSubnet in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         */
        parent?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$OdbSubnet;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Delete extends StandardParameters {
        /**
         * Required. The name of the resource in the following format: projects/{project\}/locations/{region\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}.
         */
        name?: string;
        /**
         * Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         */
        requestId?: string;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$Get extends StandardParameters {
        /**
         * Required. The name of the OdbSubnet in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}/odbSubnets/{odb_subnet\}.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Odbnetworks$Odbsubnets$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request.
         */
        filter?: string;
        /**
         * Optional. An expression for ordering the results of the request.
         */
        orderBy?: string;
        /**
         * Optional. The maximum number of items to return. If unspecified, at most 50 ODB Networks will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
         */
        pageSize?: number;
        /**
         * Optional. A token identifying a page of results the server should return.
         */
        pageToken?: string;
        /**
         * Required. The parent value for the OdbSubnet in the following format: projects/{project\}/locations/{location\}/odbNetworks/{odb_network\}.
         */
        parent?: string;
    }
    export class Resource$Projects$Locations$Operations {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.operations.cancel({
         *     // The name of the operation resource to be cancelled.
         *     name: 'projects/my-project/locations/my-location/operations/my-operation',
         *
         *     // Request body metadata
         *     requestBody: {
         *       // request body parameters
         *       // {}
         *     },
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        cancel(params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Empty>>;
        cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, options: MethodOptions | BodyResponseCallback<Schema$Empty>, callback: BodyResponseCallback<Schema$Empty>): void;
        cancel(params: Params$Resource$Projects$Locations$Operations$Cancel, callback: BodyResponseCallback<Schema$Empty>): void;
        cancel(callback: BodyResponseCallback<Schema$Empty>): void;
        /**
         * Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.operations.delete({
         *     // The name of the operation resource to be deleted.
         *     name: 'projects/my-project/locations/my-location/operations/my-operation',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {}
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        delete(params?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Empty>>;
        delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        delete(params: Params$Resource$Projects$Locations$Operations$Delete, options: MethodOptions | BodyResponseCallback<Schema$Empty>, callback: BodyResponseCallback<Schema$Empty>): void;
        delete(params: Params$Resource$Projects$Locations$Operations$Delete, callback: BodyResponseCallback<Schema$Empty>): void;
        delete(callback: BodyResponseCallback<Schema$Empty>): void;
        /**
         * Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.operations.get({
         *     // The name of the operation resource.
         *     name: 'projects/my-project/locations/my-location/operations/my-operation',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "done": false,
         *   //   "error": {},
         *   //   "metadata": {},
         *   //   "name": "my_name",
         *   //   "response": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>;
        get(params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void;
        get(params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback<Schema$Operation>): void;
        get(callback: BodyResponseCallback<Schema$Operation>): void;
        /**
         * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.operations.list({
         *     // The standard list filter.
         *     filter: 'placeholder-value',
         *     // The name of the operation's parent resource.
         *     name: 'projects/my-project/locations/my-location',
         *     // The standard list page size.
         *     pageSize: 'placeholder-value',
         *     // The standard list page token.
         *     pageToken: 'placeholder-value',
         *     // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
         *     returnPartialSuccess: 'placeholder-value',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "operations": [],
         *   //   "unreachable": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListOperationsResponse>>;
        list(params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Operations$List, options: MethodOptions | BodyResponseCallback<Schema$ListOperationsResponse>, callback: BodyResponseCallback<Schema$ListOperationsResponse>): void;
        list(params: Params$Resource$Projects$Locations$Operations$List, callback: BodyResponseCallback<Schema$ListOperationsResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListOperationsResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters {
        /**
         * The name of the operation resource to be cancelled.
         */
        name?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$CancelOperationRequest;
    }
    export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters {
        /**
         * The name of the operation resource to be deleted.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters {
        /**
         * The name of the operation resource.
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters {
        /**
         * The standard list filter.
         */
        filter?: string;
        /**
         * The name of the operation's parent resource.
         */
        name?: string;
        /**
         * The standard list page size.
         */
        pageSize?: number;
        /**
         * The standard list page token.
         */
        pageToken?: string;
        /**
         * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
         */
        returnPartialSuccess?: boolean;
    }
    export class Resource$Projects$Locations$Pluggabledatabases {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * Gets details of a single PluggableDatabase.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.pluggableDatabases.get({
         *     // Required. The name of the PluggableDatabase resource in the following format: projects/{project\}/locations/{region\}/pluggableDatabases/{pluggable_database\}
         *     name: 'projects/my-project/locations/my-location/pluggableDatabases/my-pluggableDatabase',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "createTime": "my_createTime",
         *   //   "name": "my_name",
         *   //   "ociUrl": "my_ociUrl",
         *   //   "properties": {}
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        get(params: Params$Resource$Projects$Locations$Pluggabledatabases$Get, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        get(params?: Params$Resource$Projects$Locations$Pluggabledatabases$Get, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$PluggableDatabase>>;
        get(params: Params$Resource$Projects$Locations$Pluggabledatabases$Get, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        get(params: Params$Resource$Projects$Locations$Pluggabledatabases$Get, options: MethodOptions | BodyResponseCallback<Schema$PluggableDatabase>, callback: BodyResponseCallback<Schema$PluggableDatabase>): void;
        get(params: Params$Resource$Projects$Locations$Pluggabledatabases$Get, callback: BodyResponseCallback<Schema$PluggableDatabase>): void;
        get(callback: BodyResponseCallback<Schema$PluggableDatabase>): void;
        /**
         * Lists all the PluggableDatabases for the given project, location and Container Database.
         * @example
         * ```js
         * // Before running the sample:
         * // - Enable the API at:
         * //   https://console.developers.google.com/apis/api/oracledatabase.googleapis.com
         * // - Login into gcloud by running:
         * //   ```sh
         * //   $ gcloud auth application-default login
         * //   ```
         * // - Install the npm module by running:
         * //   ```sh
         * //   $ npm install googleapis
         * //   ```
         *
         * const {google} = require('googleapis');
         * const oracledatabase = google.oracledatabase('v1');
         *
         * async function main() {
         *   const auth = new google.auth.GoogleAuth({
         *     // Scopes can be specified either as an array or as a single, space-delimited string.
         *     scopes: ['https://www.googleapis.com/auth/cloud-platform'],
         *   });
         *
         *   // Acquire an auth client, and bind it to all future calls
         *   const authClient = await auth.getClient();
         *   google.options({auth: authClient});
         *
         *   // Do the magic
         *   const res = await oracledatabase.projects.locations.pluggableDatabases.list({
         *     // Optional. An expression for filtering the results of the request. List for pluggable databases is supported only with a valid container database (full resource name) filter in this format: `database="projects/{project\}/locations/{location\}/databases/{database\}"`
         *     filter: 'placeholder-value',
         *     // Optional. The maximum number of PluggableDatabases to return. The service may return fewer than this value.
         *     pageSize: 'placeholder-value',
         *     // Optional. A page token, received from a previous `ListPluggableDatabases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPluggableDatabases` must match the call that provided the page token.
         *     pageToken: 'placeholder-value',
         *     // Required. The parent, which owns this collection of PluggableDatabases. Format: projects/{project\}/locations/{location\}
         *     parent: 'projects/my-project/locations/my-location',
         *   });
         *   console.log(res.data);
         *
         *   // Example response
         *   // {
         *   //   "nextPageToken": "my_nextPageToken",
         *   //   "pluggableDatabases": []
         *   // }
         * }
         *
         * main().catch(e => {
         *   console.error(e);
         *   throw e;
         * });
         *
         * ```
         *
         * @param params - Parameters for request
         * @param options - Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param callback - Optional callback that handles the response.
         * @returns A promise if used with async/await, or void if used with a callback.
         */
        list(params: Params$Resource$Projects$Locations$Pluggabledatabases$List, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>;
        list(params?: Params$Resource$Projects$Locations$Pluggabledatabases$List, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$ListPluggableDatabasesResponse>>;
        list(params: Params$Resource$Projects$Locations$Pluggabledatabases$List, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void;
        list(params: Params$Resource$Projects$Locations$Pluggabledatabases$List, options: MethodOptions | BodyResponseCallback<Schema$ListPluggableDatabasesResponse>, callback: BodyResponseCallback<Schema$ListPluggableDatabasesResponse>): void;
        list(params: Params$Resource$Projects$Locations$Pluggabledatabases$List, callback: BodyResponseCallback<Schema$ListPluggableDatabasesResponse>): void;
        list(callback: BodyResponseCallback<Schema$ListPluggableDatabasesResponse>): void;
    }
    export interface Params$Resource$Projects$Locations$Pluggabledatabases$Get extends StandardParameters {
        /**
         * Required. The name of the PluggableDatabase resource in the following format: projects/{project\}/locations/{region\}/pluggableDatabases/{pluggable_database\}
         */
        name?: string;
    }
    export interface Params$Resource$Projects$Locations$Pluggabledatabases$List extends StandardParameters {
        /**
         * Optional. An expression for filtering the results of the request. List for pluggable databases is supported only with a valid container database (full resource name) filter in this format: `database="projects/{project\}/locations/{location\}/databases/{database\}"`
         */
        filter?: string;
        /**
         * Optional. The maximum number of PluggableDatabases to return. The service may return fewer than this value.
         */
        pageSize?: number;
        /**
         * Optional. A page token, received from a previous `ListPluggableDatabases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPluggableDatabases` must match the call that provided the page token.
         */
        pageToken?: string;
        /**
         * Required. The parent, which owns this collection of PluggableDatabases. Format: projects/{project\}/locations/{location\}
         */
        parent?: string;
    }
    export {};
}
