// Copyright 2022 Luca Casonato. All rights reserved. MIT license. /** * Oracle Database@Google Cloud API Client for Deno * ================================================ * * The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle database services, such as Exadata and Autonomous Databases. * * Docs: https://cloud.google.com/oracle/database/docs * Source: https://googleapis.deno.dev/v1/oracledatabase:v1.ts */ import { auth, CredentialsClient, GoogleAuth, request } from "/_/base@v1/mod.ts"; export { auth, GoogleAuth }; export type { CredentialsClient }; /** * The Oracle Database@Google Cloud API provides a set of APIs to manage Oracle * database services, such as Exadata and Autonomous Databases. */ export class Oracledatabase { #client: CredentialsClient | undefined; #baseUrl: string; constructor(client?: CredentialsClient, baseUrl: string = "https://oracledatabase.googleapis.com/") { this.#client = client; this.#baseUrl = baseUrl; } /** * Lists the long-term and automatic backups of an Autonomous Database. * * @param parent Required. The parent value for ListAutonomousDatabaseBackups in the following format: projects/{project}/locations/{location}. */ async projectsLocationsAutonomousDatabaseBackupsList(parent: string, opts: ProjectsLocationsAutonomousDatabaseBackupsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/autonomousDatabaseBackups`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListAutonomousDatabaseBackupsResponse; } /** * Lists Autonomous Database Character Sets in a given project and location. * * @param parent Required. The parent value for the Autonomous Database in the following format: projects/{project}/locations/{location}. */ async projectsLocationsAutonomousDatabaseCharacterSetsList(parent: string, opts: ProjectsLocationsAutonomousDatabaseCharacterSetsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/autonomousDatabaseCharacterSets`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListAutonomousDatabaseCharacterSetsResponse; } /** * Creates a new Autonomous Database in a given project and location. * * @param parent Required. The name of the parent in the following format: projects/{project}/locations/{location}. */ async projectsLocationsAutonomousDatabasesCreate(parent: string, req: AutonomousDatabase, opts: ProjectsLocationsAutonomousDatabasesCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/autonomousDatabases`); if (opts.autonomousDatabaseId !== undefined) { url.searchParams.append("autonomousDatabaseId", String(opts.autonomousDatabaseId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Deletes a single Autonomous Database. * * @param name Required. The name of the resource in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesDelete(name: string, opts: ProjectsLocationsAutonomousDatabasesDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Initiates a failover to target autonomous database from the associated * primary database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesFailover(name: string, req: FailoverAutonomousDatabaseRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:failover`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Generates a wallet for an Autonomous Database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesGenerateWallet(name: string, req: GenerateAutonomousDatabaseWalletRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:generateWallet`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GenerateAutonomousDatabaseWalletResponse; } /** * Gets the details of a single Autonomous Database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as AutonomousDatabase; } /** * Lists the Autonomous Databases in a given project and location. * * @param parent Required. The parent value for the Autonomous Database in the following format: projects/{project}/locations/{location}. */ async projectsLocationsAutonomousDatabasesList(parent: string, opts: ProjectsLocationsAutonomousDatabasesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/autonomousDatabases`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListAutonomousDatabasesResponse; } /** * Updates the parameters of a single Autonomous Database. * * @param name Identifier. The name of the Autonomous Database resource in the following format: projects/{project}/locations/{region}/autonomousDatabases/{autonomous_database} */ async projectsLocationsAutonomousDatabasesPatch(name: string, req: AutonomousDatabase, opts: ProjectsLocationsAutonomousDatabasesPatchOptions = {}): Promise { opts = serializeProjectsLocationsAutonomousDatabasesPatchOptions(opts); const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } if (opts.updateMask !== undefined) { url.searchParams.append("updateMask", String(opts.updateMask)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "PATCH", body, }); return data as Operation; } /** * Restarts an Autonomous Database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesRestart(name: string, req: RestartAutonomousDatabaseRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:restart`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Restores a single Autonomous Database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesRestore(name: string, req: RestoreAutonomousDatabaseRequest): Promise { req = serializeRestoreAutonomousDatabaseRequest(req); const url = new URL(`${this.#baseUrl}v1/${ name }:restore`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Starts an Autonomous Database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesStart(name: string, req: StartAutonomousDatabaseRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:start`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Stops an Autonomous Database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesStop(name: string, req: StopAutonomousDatabaseRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:stop`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Initiates a switchover of specified autonomous database to the associated * peer database. * * @param name Required. The name of the Autonomous Database in the following format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}. */ async projectsLocationsAutonomousDatabasesSwitchover(name: string, req: SwitchoverAutonomousDatabaseRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:switchover`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Lists all the available Autonomous Database versions for a project and * location. * * @param parent Required. The parent value for the Autonomous Database in the following format: projects/{project}/locations/{location}. */ async projectsLocationsAutonomousDbVersionsList(parent: string, opts: ProjectsLocationsAutonomousDbVersionsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/autonomousDbVersions`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListAutonomousDbVersionsResponse; } /** * Creates a new Exadata Infrastructure in a given project and location. * * @param parent Required. The parent value for CloudExadataInfrastructure in the following format: projects/{project}/locations/{location}. */ async projectsLocationsCloudExadataInfrastructuresCreate(parent: string, req: CloudExadataInfrastructure, opts: ProjectsLocationsCloudExadataInfrastructuresCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/cloudExadataInfrastructures`); if (opts.cloudExadataInfrastructureId !== undefined) { url.searchParams.append("cloudExadataInfrastructureId", String(opts.cloudExadataInfrastructureId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Lists the database servers of an Exadata Infrastructure instance. * * @param parent Required. The parent value for database server in the following format: projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloudExadataInfrastructure}. */ async projectsLocationsCloudExadataInfrastructuresDbServersList(parent: string, opts: ProjectsLocationsCloudExadataInfrastructuresDbServersListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbServers`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbServersResponse; } /** * Deletes a single Exadata Infrastructure. * * @param name Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_exadata_infrastructure}. */ async projectsLocationsCloudExadataInfrastructuresDelete(name: string, opts: ProjectsLocationsCloudExadataInfrastructuresDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.force !== undefined) { url.searchParams.append("force", String(opts.force)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single Exadata Infrastructure. * * @param name Required. The name of the Cloud Exadata Infrastructure in the following format: projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_exadata_infrastructure}. */ async projectsLocationsCloudExadataInfrastructuresGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as CloudExadataInfrastructure; } /** * Lists Exadata Infrastructures in a given project and location. * * @param parent Required. The parent value for CloudExadataInfrastructure in the following format: projects/{project}/locations/{location}. */ async projectsLocationsCloudExadataInfrastructuresList(parent: string, opts: ProjectsLocationsCloudExadataInfrastructuresListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/cloudExadataInfrastructures`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListCloudExadataInfrastructuresResponse; } /** * Creates a new VM Cluster in a given project and location. * * @param parent Required. The name of the parent in the following format: projects/{project}/locations/{location}. */ async projectsLocationsCloudVmClustersCreate(parent: string, req: CloudVmCluster, opts: ProjectsLocationsCloudVmClustersCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/cloudVmClusters`); if (opts.cloudVmClusterId !== undefined) { url.searchParams.append("cloudVmClusterId", String(opts.cloudVmClusterId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Lists the database nodes of a VM Cluster. * * @param parent Required. The parent value for database node in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloudVmCluster}. . */ async projectsLocationsCloudVmClustersDbNodesList(parent: string, opts: ProjectsLocationsCloudVmClustersDbNodesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbNodes`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbNodesResponse; } /** * Deletes a single VM Cluster. * * @param name Required. The name of the Cloud VM Cluster in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}. */ async projectsLocationsCloudVmClustersDelete(name: string, opts: ProjectsLocationsCloudVmClustersDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.force !== undefined) { url.searchParams.append("force", String(opts.force)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single VM Cluster. * * @param name Required. The name of the Cloud VM Cluster in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}. */ async projectsLocationsCloudVmClustersGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as CloudVmCluster; } /** * Lists the VM Clusters in a given project and location. * * @param parent Required. The name of the parent in the following format: projects/{project}/locations/{location}. */ async projectsLocationsCloudVmClustersList(parent: string, opts: ProjectsLocationsCloudVmClustersListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/cloudVmClusters`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListCloudVmClustersResponse; } /** * List DatabaseCharacterSets for the given project and location. * * @param parent Required. The parent value for DatabaseCharacterSets in the following format: projects/{project}/locations/{location}. */ async projectsLocationsDatabaseCharacterSetsList(parent: string, opts: ProjectsLocationsDatabaseCharacterSetsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/databaseCharacterSets`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDatabaseCharacterSetsResponse; } /** * Gets details of a single Database. * * @param name Required. The name of the Database resource in the following format: projects/{project}/locations/{region}/databases/{database} */ async projectsLocationsDatabasesGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as Database; } /** * Lists all the Databases for the given project, location and DbSystem. * * @param parent Required. The parent resource name in the following format: projects/{project}/locations/{region} */ async projectsLocationsDatabasesList(parent: string, opts: ProjectsLocationsDatabasesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/databases`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDatabasesResponse; } /** * Lists all the DbSystemInitialStorageSizes for the given project and * location. * * @param parent Required. The parent value for the DbSystemInitialStorageSize resource with the format: projects/{project}/locations/{location} */ async projectsLocationsDbSystemInitialStorageSizesList(parent: string, opts: ProjectsLocationsDbSystemInitialStorageSizesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbSystemInitialStorageSizes`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbSystemInitialStorageSizesResponse; } /** * Creates a new DbSystem in a given project and location. * * @param parent Required. The value for parent of the DbSystem in the following format: projects/{project}/locations/{location}. */ async projectsLocationsDbSystemsCreate(parent: string, req: DbSystem, opts: ProjectsLocationsDbSystemsCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbSystems`); if (opts.dbSystemId !== undefined) { url.searchParams.append("dbSystemId", String(opts.dbSystemId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Deletes a single DbSystem. * * @param name Required. The name of the DbSystem in the following format: projects/{project}/locations/{location}/dbSystems/{db_system}. */ async projectsLocationsDbSystemsDelete(name: string, opts: ProjectsLocationsDbSystemsDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single DbSystem. * * @param name Required. The name of the DbSystem in the following format: projects/{project}/locations/{location}/dbSystems/{db_system}. */ async projectsLocationsDbSystemsGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as DbSystem; } /** * Lists the database system shapes available for the project and location. * * @param parent Required. The parent value for Database System Shapes in the following format: projects/{project}/locations/{location}. */ async projectsLocationsDbSystemShapesList(parent: string, opts: ProjectsLocationsDbSystemShapesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbSystemShapes`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbSystemShapesResponse; } /** * Lists all the DbSystems for the given project and location. * * @param parent Required. The parent value for DbSystems in the following format: projects/{project}/locations/{location}. */ async projectsLocationsDbSystemsList(parent: string, opts: ProjectsLocationsDbSystemsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbSystems`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbSystemsResponse; } /** * List DbVersions for the given project and location. * * @param parent Required. The parent value for the DbVersion resource with the format: projects/{project}/locations/{location} */ async projectsLocationsDbVersionsList(parent: string, opts: ProjectsLocationsDbVersionsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbVersions`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbVersionsResponse; } /** * Lists the entitlements in a given project. * * @param parent Required. The parent value for the entitlement in the following format: projects/{project}/locations/{location}. */ async projectsLocationsEntitlementsList(parent: string, opts: ProjectsLocationsEntitlementsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/entitlements`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListEntitlementsResponse; } /** * Creates a new Exadb (Exascale) VM Cluster resource. * * @param parent Required. The value for parent of the ExadbVmCluster in the following format: projects/{project}/locations/{location}. */ async projectsLocationsExadbVmClustersCreate(parent: string, req: ExadbVmCluster, opts: ProjectsLocationsExadbVmClustersCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/exadbVmClusters`); if (opts.exadbVmClusterId !== undefined) { url.searchParams.append("exadbVmClusterId", String(opts.exadbVmClusterId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Lists the database nodes of a VM Cluster. * * @param parent Required. The parent value for database node in the following format: projects/{project}/locations/{location}/cloudVmClusters/{cloudVmCluster}. . */ async projectsLocationsExadbVmClustersDbNodesList(parent: string, opts: ProjectsLocationsExadbVmClustersDbNodesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/dbNodes`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListDbNodesResponse; } /** * Deletes a single Exadb (Exascale) VM Cluster. * * @param name Required. The name of the ExadbVmCluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}. */ async projectsLocationsExadbVmClustersDelete(name: string, opts: ProjectsLocationsExadbVmClustersDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single Exadb (Exascale) VM Cluster. * * @param name Required. The name of the ExadbVmCluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}. */ async projectsLocationsExadbVmClustersGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ExadbVmCluster; } /** * Lists all the Exadb (Exascale) VM Clusters for the given project and * location. * * @param parent Required. The parent value for ExadbVmClusters in the following format: projects/{project}/locations/{location}. */ async projectsLocationsExadbVmClustersList(parent: string, opts: ProjectsLocationsExadbVmClustersListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/exadbVmClusters`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListExadbVmClustersResponse; } /** * Updates a single Exadb (Exascale) VM Cluster. To add virtual machines to * existing exadb vm cluster, only pass the node count. * * @param name Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster} */ async projectsLocationsExadbVmClustersPatch(name: string, req: ExadbVmCluster, opts: ProjectsLocationsExadbVmClustersPatchOptions = {}): Promise { opts = serializeProjectsLocationsExadbVmClustersPatchOptions(opts); const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } if (opts.updateMask !== undefined) { url.searchParams.append("updateMask", String(opts.updateMask)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "PATCH", body, }); return data as Operation; } /** * Removes virtual machines from an existing exadb vm cluster. * * @param name Required. The name of the ExadbVmCluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}. */ async projectsLocationsExadbVmClustersRemoveVirtualMachine(name: string, req: RemoveVirtualMachineExadbVmClusterRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:removeVirtualMachine`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Creates a new ExascaleDB Storage Vault resource. * * @param parent Required. The value for parent of the ExascaleDbStorageVault in the following format: projects/{project}/locations/{location}. */ async projectsLocationsExascaleDbStorageVaultsCreate(parent: string, req: ExascaleDbStorageVault, opts: ProjectsLocationsExascaleDbStorageVaultsCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/exascaleDbStorageVaults`); if (opts.exascaleDbStorageVaultId !== undefined) { url.searchParams.append("exascaleDbStorageVaultId", String(opts.exascaleDbStorageVaultId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Deletes a single ExascaleDB Storage Vault. * * @param name Required. The name of the ExascaleDbStorageVault in the following format: projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}. */ async projectsLocationsExascaleDbStorageVaultsDelete(name: string, opts: ProjectsLocationsExascaleDbStorageVaultsDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single ExascaleDB Storage Vault. * * @param name Required. The name of the ExascaleDbStorageVault in the following format: projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}. */ async projectsLocationsExascaleDbStorageVaultsGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ExascaleDbStorageVault; } /** * Lists all the ExascaleDB Storage Vaults for the given project and * location. * * @param parent Required. The parent value for ExascaleDbStorageVault in the following format: projects/{project}/locations/{location}. */ async projectsLocationsExascaleDbStorageVaultsList(parent: string, opts: ProjectsLocationsExascaleDbStorageVaultsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/exascaleDbStorageVaults`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListExascaleDbStorageVaultsResponse; } /** * Gets information about a location. * * @param name Resource name for the location. */ async projectsLocationsGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as Location; } /** * Lists all the valid Oracle Grid Infrastructure (GI) versions for the given * project and location. * * @param parent Required. The parent value for Grid Infrastructure Version in the following format: Format: projects/{project}/locations/{location}. */ async projectsLocationsGiVersionsList(parent: string, opts: ProjectsLocationsGiVersionsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/giVersions`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListGiVersionsResponse; } /** * Lists all the valid minor versions for the given project, location, gi * version and shape family. * * @param parent Required. The parent value for the MinorVersion resource with the format: projects/{project}/locations/{location}/giVersions/{gi_version} */ async projectsLocationsGiVersionsMinorVersionsList(parent: string, opts: ProjectsLocationsGiVersionsMinorVersionsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/minorVersions`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListMinorVersionsResponse; } /** * Lists information about the supported locations for this service. * * @param name The resource that owns the locations collection, if applicable. */ async projectsLocationsList(name: string, opts: ProjectsLocationsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }/locations`); if (opts.extraLocationTypes !== undefined) { url.searchParams.append("extraLocationTypes", String(opts.extraLocationTypes)); } if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListLocationsResponse; } /** * Creates a new ODB Network in a given project and location. * * @param parent Required. The parent value for the OdbNetwork in the following format: projects/{project}/locations/{location}. */ async projectsLocationsOdbNetworksCreate(parent: string, req: OdbNetwork, opts: ProjectsLocationsOdbNetworksCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/odbNetworks`); if (opts.odbNetworkId !== undefined) { url.searchParams.append("odbNetworkId", String(opts.odbNetworkId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Deletes a single ODB Network. * * @param name Required. The name of the resource in the following format: projects/{project}/locations/{location}/odbNetworks/{odb_network}. */ async projectsLocationsOdbNetworksDelete(name: string, opts: ProjectsLocationsOdbNetworksDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single ODB Network. * * @param name Required. The name of the OdbNetwork in the following format: projects/{project}/locations/{location}/odbNetworks/{odb_network}. */ async projectsLocationsOdbNetworksGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as OdbNetwork; } /** * Lists the ODB Networks in a given project and location. * * @param parent Required. The parent value for the ODB Network in the following format: projects/{project}/locations/{location}. */ async projectsLocationsOdbNetworksList(parent: string, opts: ProjectsLocationsOdbNetworksListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/odbNetworks`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListOdbNetworksResponse; } /** * Creates a new ODB Subnet in a given ODB Network. * * @param parent Required. The parent value for the OdbSubnet in the following format: projects/{project}/locations/{location}/odbNetworks/{odb_network}. */ async projectsLocationsOdbNetworksOdbSubnetsCreate(parent: string, req: OdbSubnet, opts: ProjectsLocationsOdbNetworksOdbSubnetsCreateOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/odbSubnets`); if (opts.odbSubnetId !== undefined) { url.searchParams.append("odbSubnetId", String(opts.odbSubnetId)); } if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Operation; } /** * Deletes a single ODB Subnet. * * @param name Required. The name of the resource in the following format: projects/{project}/locations/{region}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}. */ async projectsLocationsOdbNetworksOdbSubnetsDelete(name: string, opts: ProjectsLocationsOdbNetworksOdbSubnetsDeleteOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); if (opts.requestId !== undefined) { url.searchParams.append("requestId", String(opts.requestId)); } const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Operation; } /** * Gets details of a single ODB Subnet. * * @param name Required. The name of the OdbSubnet in the following format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}. */ async projectsLocationsOdbNetworksOdbSubnetsGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as OdbSubnet; } /** * Lists all the ODB Subnets in a given ODB Network. * * @param parent Required. The parent value for the OdbSubnet in the following format: projects/{project}/locations/{location}/odbNetworks/{odb_network}. */ async projectsLocationsOdbNetworksOdbSubnetsList(parent: string, opts: ProjectsLocationsOdbNetworksOdbSubnetsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/odbSubnets`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.orderBy !== undefined) { url.searchParams.append("orderBy", String(opts.orderBy)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListOdbSubnetsResponse; } /** * 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`. * * @param name The name of the operation resource to be cancelled. */ async projectsLocationsOperationsCancel(name: string, req: CancelOperationRequest): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }:cancel`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as Empty; } /** * 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`. * * @param name The name of the operation resource to be deleted. */ async projectsLocationsOperationsDelete(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "DELETE", }); return data as Empty; } /** * 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. * * @param name The name of the operation resource. */ async projectsLocationsOperationsGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as Operation; } /** * Lists operations that match the specified filter in the request. If the * server doesn't support this method, it returns `UNIMPLEMENTED`. * * @param name The name of the operation's parent resource. */ async projectsLocationsOperationsList(name: string, opts: ProjectsLocationsOperationsListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }/operations`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } if (opts.returnPartialSuccess !== undefined) { url.searchParams.append("returnPartialSuccess", String(opts.returnPartialSuccess)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListOperationsResponse; } /** * Gets details of a single PluggableDatabase. * * @param name Required. The name of the PluggableDatabase resource in the following format: projects/{project}/locations/{region}/pluggableDatabases/{pluggable_database} */ async projectsLocationsPluggableDatabasesGet(name: string): Promise { const url = new URL(`${this.#baseUrl}v1/${ name }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as PluggableDatabase; } /** * Lists all the PluggableDatabases for the given project, location and * Container Database. * * @param parent Required. The parent, which owns this collection of PluggableDatabases. Format: projects/{project}/locations/{location} */ async projectsLocationsPluggableDatabasesList(parent: string, opts: ProjectsLocationsPluggableDatabasesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v1/${ parent }/pluggableDatabases`); if (opts.filter !== undefined) { url.searchParams.append("filter", String(opts.filter)); } if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as ListPluggableDatabasesResponse; } } /** * A list of all connection strings that can be used to connect to the * Autonomous Database. */ export interface AllConnectionStrings { /** * Output only. The database service provides the highest level of resources * to each SQL statement. */ readonly high?: string; /** * Output only. The database service provides the least level of resources to * each SQL statement. */ readonly low?: string; /** * Output only. The database service provides a lower level of resources to * each SQL statement. */ readonly medium?: string; } /** * Details of the Autonomous Database resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/ */ export interface AutonomousDatabase { /** * Optional. Immutable. The password for the default ADMIN user. */ adminPassword?: string; /** * Optional. Immutable. The subnet CIDR range for the Autonomous Database. */ cidr?: string; /** * Output only. The date and time that the Autonomous Database was created. */ readonly createTime?: Date; /** * 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; /** * Output only. List of supported GCP region to clone the Autonomous Database * for disaster recovery. Format: `project/{project}/locations/{location}`. */ readonly disasterRecoverySupportedLocations?: string[]; /** * Optional. Immutable. The display name for the Autonomous Database. The * name does not have to be unique within your project. */ displayName?: string; /** * Output only. The ID of the subscription entitlement associated with the * Autonomous Database. */ readonly entitlementId?: string; /** * Optional. The labels or tags associated with the Autonomous Database. */ labels?: { [key: string]: string }; /** * Identifier. The name of the Autonomous Database resource in the following * format: * projects/{project}/locations/{region}/autonomousDatabases/{autonomous_database} */ name?: string; /** * Optional. Immutable. The name of the VPC network used by the Autonomous * Database in the following format: * projects/{project}/global/networks/{network} */ network?: string; /** * 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; /** * 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; /** * Output only. The peer Autonomous Database names of the given Autonomous * Database. */ readonly peerAutonomousDatabases?: string[]; /** * Optional. The properties of the Autonomous Database. */ properties?: 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?: SourceConfig; } /** * Oracle APEX Application Development. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseApex */ export interface AutonomousDatabaseApex { /** * Output only. The Oracle APEX Application Development version. */ readonly apexVersion?: string; /** * Output only. The Oracle REST Data Services (ORDS) version. */ readonly ordsVersion?: string; } /** * Details of the Autonomous Database Backup resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/ */ export interface 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; /** * Optional. User friendly name for the Backup. The name does not have to be * unique. */ displayName?: string; /** * Optional. labels or tags associated with the resource. */ labels?: { [key: string]: string }; /** * Identifier. The name of the Autonomous Database Backup resource with the * format: * projects/{project}/locations/{region}/autonomousDatabaseBackups/{autonomous_database_backup} */ name?: string; /** * Optional. Various properties of the backup. */ properties?: AutonomousDatabaseBackupProperties; } /** * Properties of the Autonomous Database Backup resource. */ export interface AutonomousDatabaseBackupProperties { /** * Output only. Timestamp until when the backup will be available. */ readonly availableTillTime?: Date; /** * Output only. The OCID of the compartment. */ readonly compartmentId?: string; /** * Output only. The quantity of data in the database, in terabytes. */ readonly databaseSizeTb?: number; /** * Output only. A valid Oracle Database version for Autonomous Database. */ readonly dbVersion?: string; /** * Output only. The date and time the backup completed. */ readonly endTime?: Date; /** * Output only. Indicates if the backup is automatic or user initiated. */ readonly isAutomaticBackup?: boolean; /** * Output only. Indicates if the backup is long term backup. */ readonly isLongTermBackup?: boolean; /** * Output only. Indicates if the backup can be used to restore the Autonomous * Database. */ readonly isRestorable?: boolean; /** * Optional. The OCID of the key store of Oracle Vault. */ keyStoreId?: string; /** * Optional. The wallet name for Oracle Key Vault. */ keyStoreWallet?: string; /** * Optional. The OCID of the key container that is used as the master * encryption key in database transparent data encryption (TDE) operations. */ kmsKeyId?: string; /** * 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; /** * Output only. Additional information about the current lifecycle state. */ readonly lifecycleDetails?: string; /** * Output only. The lifecycle state of the backup. */ readonly lifecycleState?: | "STATE_UNSPECIFIED" | "CREATING" | "ACTIVE" | "DELETING" | "DELETED" | "FAILED" | "UPDATING"; /** * Output only. OCID of the Autonomous Database backup. * https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle */ readonly ocid?: string; /** * Optional. Retention period in days for the backup. */ retentionPeriodDays?: number; /** * Output only. The backup size in terabytes. */ readonly sizeTb?: number; /** * Output only. The date and time the backup started. */ readonly startTime?: Date; /** * Output only. The type of the backup. */ readonly type?: | "TYPE_UNSPECIFIED" | "INCREMENTAL" | "FULL" | "LONG_TERM"; /** * Optional. The OCID of the vault. */ vaultId?: string; } /** * Details of the Autonomous Database character set resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseCharacterSets/ */ export interface AutonomousDatabaseCharacterSet { /** * Output only. The character set name for the Autonomous Database which is * the ID in the resource name. */ readonly characterSet?: string; /** * Output only. The character set type for the Autonomous Database. */ readonly characterSetType?: | "CHARACTER_SET_TYPE_UNSPECIFIED" | "DATABASE" | "NATIONAL"; /** * 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; } /** * 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 AutonomousDatabaseConnectionStrings { /** * Output only. Returns all connection strings that can be used to connect to * the Autonomous Database. */ readonly allConnectionStrings?: 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. */ readonly dedicated?: string; /** * Output only. The database service provides the highest level of resources * to each SQL statement. */ readonly high?: string; /** * Output only. The database service provides the least level of resources to * each SQL statement. */ readonly low?: string; /** * Output only. The database service provides a lower level of resources to * each SQL statement. */ readonly medium?: string; /** * Output only. A list of connection string profiles to allow clients to * group, filter, and select values based on the structured metadata. */ readonly profiles?: 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 AutonomousDatabaseConnectionUrls { /** * Output only. Oracle Application Express (APEX) URL. */ readonly apexUri?: string; /** * Output only. The URL of the Database Transforms for the Autonomous * Database. */ readonly databaseTransformsUri?: string; /** * Output only. The URL of the Graph Studio for the Autonomous Database. */ readonly graphStudioUri?: string; /** * Output only. The URL of the Oracle Machine Learning (OML) Notebook for the * Autonomous Database. */ readonly machineLearningNotebookUri?: string; /** * Output only. The URL of Machine Learning user management the Autonomous * Database. */ readonly machineLearningUserManagementUri?: string; /** * Output only. The URL of the MongoDB API for the Autonomous Database. */ readonly mongoDbUri?: string; /** * Output only. The Oracle REST Data Services (ORDS) URL of the Web Access * for the Autonomous Database. */ readonly ordsUri?: string; /** * Output only. The URL of the Oracle SQL Developer Web for the Autonomous * Database. */ readonly sqlDevWebUri?: string; } /** * The properties of an Autonomous Database. */ export interface AutonomousDatabaseProperties { /** * Output only. The amount of storage currently being used for user and * system data, in terabytes. */ readonly actualUsedDataStorageSizeTb?: number; /** * Output only. The amount of storage currently allocated for the database * tables and billed for, rounded up in terabytes. */ readonly allocatedStorageSizeTb?: number; /** * Optional. Immutable. The list of allowlisted IP addresses for the * Autonomous Database. */ allowlistedIps?: string[]; /** * Output only. The details for the Oracle APEX Application Development. */ readonly apexDetails?: 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. */ readonly arePrimaryAllowlistedIpsUsed?: boolean; /** * Output only. The Autonomous Container Database OCID. */ readonly autonomousContainerDatabaseId?: string; /** * Output only. The list of available Oracle Database upgrade versions for an * Autonomous Database. */ readonly availableUpgradeVersions?: string[]; /** * 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; /** * Optional. Immutable. The character set for the Autonomous Database. The * default is AL32UTF8. */ characterSet?: string; /** * Optional. Immutable. The number of compute servers for the Autonomous * Database. */ computeCount?: number; /** * Output only. The connection strings used to connect to an Autonomous * Database. */ readonly connectionStrings?: AutonomousDatabaseConnectionStrings; /** * Output only. The Oracle Connection URLs for an Autonomous Database. */ readonly connectionUrls?: AutonomousDatabaseConnectionUrls; /** * Optional. Immutable. The number of CPU cores to be made available to the * database. */ cpuCoreCount?: number; /** * Optional. Immutable. The list of customer contacts. */ customerContacts?: CustomerContact[]; /** * Output only. The current state of database management for the Autonomous * Database. */ readonly databaseManagementState?: | "DATABASE_MANAGEMENT_STATE_UNSPECIFIED" | "ENABLING" | "ENABLED" | "DISABLING" | "NOT_ENABLED" | "FAILED_ENABLING" | "FAILED_DISABLING"; /** * Output only. The date and time the Autonomous Data Guard role was changed * for the standby Autonomous Database. */ readonly dataGuardRoleChangedTime?: Date; /** * Output only. The current state of the Data Safe registration for the * Autonomous Database. */ readonly dataSafeState?: | "DATA_SAFE_STATE_UNSPECIFIED" | "REGISTERING" | "REGISTERED" | "DEREGISTERING" | "NOT_REGISTERED" | "FAILED"; /** * Optional. Immutable. The size of the data stored in the database, in * gigabytes. */ dataStorageSizeGb?: number; /** * Optional. Immutable. The size of the data stored in the database, in * terabytes. */ dataStorageSizeTb?: number; /** * Optional. Immutable. The edition of the Autonomous Databases. */ dbEdition?: | "DATABASE_EDITION_UNSPECIFIED" | "STANDARD_EDITION" | "ENTERPRISE_EDITION"; /** * Optional. Immutable. The Oracle Database version for the Autonomous * Database. */ dbVersion?: string; /** * Required. Immutable. The workload type of the Autonomous Database. */ dbWorkload?: | "DB_WORKLOAD_UNSPECIFIED" | "OLTP" | "DW" | "AJD" | "APEX"; /** * Output only. The date and time the Disaster Recovery role was changed for * the standby Autonomous Database. */ readonly disasterRecoveryRoleChangedTime?: Date; /** * 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?: EncryptionKey; /** * Output only. The history of the encryption keys used to encrypt the * Autonomous Database. */ readonly encryptionKeyHistoryEntries?: EncryptionKeyHistoryEntry[]; /** * Output only. This field indicates the number of seconds of data loss * during a Data Guard failover. */ readonly failedDataRecoveryDuration?: number /* Duration */; /** * Optional. Immutable. This field indicates if auto scaling is enabled for * the Autonomous Database CPU core count. */ isAutoScalingEnabled?: boolean; /** * Output only. This field indicates whether the Autonomous Database has * local (in-region) Data Guard enabled. */ readonly isLocalDataGuardEnabled?: boolean; /** * Optional. Immutable. This field indicates if auto scaling is enabled for * the Autonomous Database storage. */ isStorageAutoScalingEnabled?: boolean; /** * Required. Immutable. The license type used for the Autonomous Database. */ licenseType?: | "LICENSE_TYPE_UNSPECIFIED" | "LICENSE_INCLUDED" | "BRING_YOUR_OWN_LICENSE"; /** * Output only. The details of the current lifestyle state of the Autonomous * Database. */ readonly lifecycleDetails?: string; /** * Output only. This field indicates the maximum data loss limit for an * Autonomous Database, in seconds. */ readonly localAdgAutoFailoverMaxDataLossLimit?: number; /** * Output only. This field indicates the local disaster recovery (DR) type of * an Autonomous Database. */ readonly localDisasterRecoveryType?: | "LOCAL_DISASTER_RECOVERY_TYPE_UNSPECIFIED" | "ADG" | "BACKUP_BASED"; /** * Output only. The details of the Autonomous Data Guard standby database. */ readonly localStandbyDb?: AutonomousDatabaseStandbySummary; /** * Output only. The date and time when maintenance will begin. */ readonly maintenanceBeginTime?: Date; /** * Output only. The date and time when maintenance will end. */ readonly maintenanceEndTime?: Date; /** * Optional. Immutable. The maintenance schedule of the Autonomous Database. */ maintenanceScheduleType?: | "MAINTENANCE_SCHEDULE_TYPE_UNSPECIFIED" | "EARLY" | "REGULAR"; /** * Output only. The amount of memory enabled per ECPU, in gigabytes. */ readonly memoryPerOracleComputeUnitGbs?: number; /** * Output only. The memory assigned to in-memory tables in an Autonomous * Database. */ readonly memoryTableGbs?: number; /** * Optional. Immutable. This field specifies if the Autonomous Database * requires mTLS connections. */ mtlsConnectionRequired?: boolean; /** * Optional. Immutable. The national character set for the Autonomous * Database. The default is AL16UTF16. */ nCharacterSet?: string; /** * Output only. The long term backup schedule of the Autonomous Database. */ readonly nextLongTermBackupTime?: Date; /** * Output only. OCID of the Autonomous Database. * https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle */ readonly ocid?: string; /** * Output only. The Oracle Cloud Infrastructure link for the Autonomous * Database. */ readonly ociUrl?: string; /** * Output only. This field indicates the current mode of the Autonomous * Database. */ readonly openMode?: | "OPEN_MODE_UNSPECIFIED" | "READ_ONLY" | "READ_WRITE"; /** * Output only. This field indicates the state of Operations Insights for the * Autonomous Database. */ readonly operationsInsightsState?: | "OPERATIONS_INSIGHTS_STATE_UNSPECIFIED" | "ENABLING" | "ENABLED" | "DISABLING" | "NOT_ENABLED" | "FAILED_ENABLING" | "FAILED_DISABLING"; /** * Output only. The list of OCIDs of standby databases located in Autonomous * Data Guard remote regions that are associated with the source database. */ readonly peerDbIds?: string[]; /** * Output only. The permission level of the Autonomous Database. */ readonly permissionLevel?: | "PERMISSION_LEVEL_UNSPECIFIED" | "RESTRICTED" | "UNRESTRICTED"; /** * Output only. The private endpoint for the Autonomous Database. */ readonly privateEndpoint?: string; /** * Optional. Immutable. The private endpoint IP address for the Autonomous * Database. */ privateEndpointIp?: string; /** * Optional. Immutable. The private endpoint label for the Autonomous * Database. */ privateEndpointLabel?: string; /** * Output only. The refresh mode of the cloned Autonomous Database. */ readonly refreshableMode?: | "REFRESHABLE_MODE_UNSPECIFIED" | "AUTOMATIC" | "MANUAL"; /** * Output only. The refresh State of the clone. */ readonly refreshableState?: | "REFRESHABLE_STATE_UNSPECIFIED" | "REFRESHING" | "NOT_REFRESHING"; /** * Output only. The Data Guard role of the Autonomous Database. */ readonly role?: | "ROLE_UNSPECIFIED" | "PRIMARY" | "STANDBY" | "DISABLED_STANDBY" | "BACKUP_COPY" | "SNAPSHOT_STANDBY"; /** * Output only. The list and details of the scheduled operations of the * Autonomous Database. */ readonly scheduledOperationDetails?: ScheduledOperationDetails[]; /** * Optional. Immutable. The ID of the Oracle Cloud Infrastructure vault * secret. */ secretId?: string; /** * Output only. An Oracle-managed Google Cloud service account on which * customers can grant roles to access resources in the customer project. */ readonly serviceAgentEmail?: string; /** * Output only. The SQL Web Developer URL for the Autonomous Database. */ readonly sqlWebDeveloperUrl?: string; /** * Output only. The current lifecycle state of the Autonomous Database. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "STOPPING" | "STOPPED" | "STARTING" | "TERMINATING" | "TERMINATED" | "UNAVAILABLE" | "RESTORE_IN_PROGRESS" | "RESTORE_FAILED" | "BACKUP_IN_PROGRESS" | "SCALE_IN_PROGRESS" | "AVAILABLE_NEEDS_ATTENTION" | "UPDATING" | "MAINTENANCE_IN_PROGRESS" | "RESTARTING" | "RECREATING" | "ROLE_CHANGE_IN_PROGRESS" | "UPGRADING" | "INACCESSIBLE" | "STANDBY"; /** * Output only. The list of available regions that can be used to create a * clone for the Autonomous Database. */ readonly supportedCloneRegions?: string[]; /** * Output only. The storage space used by automatic backups of Autonomous * Database, in gigabytes. */ readonly totalAutoBackupStorageSizeGbs?: number; /** * Output only. The storage space used by Autonomous Database, in gigabytes. */ readonly usedDataStorageSizeTbs?: number; /** * Optional. Immutable. The ID of the Oracle Cloud Infrastructure vault. */ vaultId?: string; } /** * Autonomous Data Guard standby database details. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseStandbySummary */ export interface AutonomousDatabaseStandbySummary { /** * Output only. The date and time the Autonomous Data Guard role was switched * for the standby Autonomous Database. */ readonly dataGuardRoleChangedTime?: Date; /** * Output only. The date and time the Disaster Recovery role was switched for * the standby Autonomous Database. */ readonly disasterRecoveryRoleChangedTime?: Date; /** * 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. */ readonly lagTimeDuration?: number /* Duration */; /** * Output only. The additional details about the current lifecycle state of * the Autonomous Database. */ readonly lifecycleDetails?: string; /** * Output only. The current lifecycle state of the Autonomous Database. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "STOPPING" | "STOPPED" | "STARTING" | "TERMINATING" | "TERMINATED" | "UNAVAILABLE" | "RESTORE_IN_PROGRESS" | "RESTORE_FAILED" | "BACKUP_IN_PROGRESS" | "SCALE_IN_PROGRESS" | "AVAILABLE_NEEDS_ATTENTION" | "UPDATING" | "MAINTENANCE_IN_PROGRESS" | "RESTARTING" | "RECREATING" | "ROLE_CHANGE_IN_PROGRESS" | "UPGRADING" | "INACCESSIBLE" | "STANDBY"; } /** * Details of the Autonomous Database version. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDbVersionSummary/ */ export interface AutonomousDbVersion { /** * Output only. The Autonomous Database workload type. */ readonly dbWorkload?: | "DB_WORKLOAD_UNSPECIFIED" | "OLTP" | "DW" | "AJD" | "APEX"; /** * Identifier. The name of the Autonomous Database Version resource with the * format: * projects/{project}/locations/{region}/autonomousDbVersions/{autonomous_db_version} */ name?: string; /** * Output only. An Oracle Database version for Autonomous Database. */ readonly version?: string; /** * Output only. A URL that points to a detailed description of the Autonomous * Database version. */ readonly workloadUri?: string; } /** * The details of the database backup destination. */ export interface BackupDestinationDetails { /** * Optional. The type of the database backup destination. */ type?: | "BACKUP_DESTINATION_TYPE_UNSPECIFIED" | "NFS" | "RECOVERY_APPLIANCE" | "OBJECT_STORE" | "LOCAL" | "DBRS"; } /** * The request message for Operations.CancelOperation. */ export interface CancelOperationRequest { } /** * Details of the OCI Cloud Account. */ export interface CloudAccountDetails { /** * Output only. URL to create a new account and link. */ readonly accountCreationUri?: string; /** * Output only. OCI account name. */ readonly cloudAccount?: string; /** * Output only. OCI account home region. */ readonly cloudAccountHomeRegion?: string; /** * Output only. URL to link an existing account. */ readonly linkExistingAccountUri?: string; } /** * Represents CloudExadataInfrastructure resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/ */ export interface CloudExadataInfrastructure { /** * Output only. The date and time that the Exadata Infrastructure was * created. */ readonly createTime?: Date; /** * Optional. User friendly name for this resource. */ displayName?: string; /** * Output only. Entitlement ID of the private offer against which this * infrastructure resource is provisioned. */ readonly entitlementId?: string; /** * 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; /** * Optional. Labels or tags associated with the resource. */ labels?: { [key: string]: string }; /** * Identifier. The name of the Exadata Infrastructure resource with the * format: * projects/{project}/locations/{region}/cloudExadataInfrastructures/{cloud_exadata_infrastructure} */ name?: string; /** * Optional. Various properties of the infra. */ properties?: CloudExadataInfrastructureProperties; } /** * Various properties of Exadata Infrastructure. */ export interface CloudExadataInfrastructureProperties { /** * Output only. The requested number of additional storage servers activated * for the Exadata Infrastructure. */ readonly activatedStorageCount?: number; /** * Output only. The requested number of additional storage servers for the * Exadata Infrastructure. */ readonly additionalStorageCount?: number; /** * Output only. The available storage can be allocated to the Exadata * Infrastructure resource, in gigabytes (GB). */ readonly availableStorageSizeGb?: number; /** * Optional. The number of compute servers for the Exadata Infrastructure. */ computeCount?: number; /** * Output only. The compute model of the Exadata Infrastructure. */ readonly computeModel?: | "COMPUTE_MODEL_UNSPECIFIED" | "COMPUTE_MODEL_ECPU" | "COMPUTE_MODEL_OCPU"; /** * Output only. The number of enabled CPU cores. */ readonly cpuCount?: number; /** * Optional. The list of customer contacts. */ customerContacts?: CustomerContact[]; /** * Output only. The database server type of the Exadata Infrastructure. */ readonly databaseServerType?: string; /** * Output only. Size, in terabytes, of the DATA disk group. */ readonly dataStorageSizeTb?: number; /** * Output only. The local node storage allocated in GBs. */ readonly dbNodeStorageSizeGb?: number; /** * Output only. The software version of the database servers (dom0) in the * Exadata Infrastructure. */ readonly dbServerVersion?: string; /** * Optional. Maintenance window for repair. */ maintenanceWindow?: MaintenanceWindow; /** * Output only. The total number of CPU cores available. */ readonly maxCpuCount?: number; /** * Output only. The total available DATA disk group size. */ readonly maxDataStorageTb?: number; /** * Output only. The total local node storage available in GBs. */ readonly maxDbNodeStorageSizeGb?: number; /** * Output only. The total memory available in GBs. */ readonly maxMemoryGb?: number; /** * Output only. The memory allocated in GBs. */ readonly memorySizeGb?: number; /** * Output only. The monthly software version of the database servers (dom0) * in the Exadata Infrastructure. Example: 20.1.15 */ readonly monthlyDbServerVersion?: string; /** * Output only. The monthly software version of the storage servers (cells) * in the Exadata Infrastructure. Example: 20.1.15 */ readonly monthlyStorageServerVersion?: string; /** * Output only. The OCID of the next maintenance run. */ readonly nextMaintenanceRunId?: string; /** * Output only. The time when the next maintenance run will occur. */ readonly nextMaintenanceRunTime?: Date; /** * Output only. The time when the next security maintenance run will occur. */ readonly nextSecurityMaintenanceRunTime?: Date; /** * Output only. OCID of created infra. * https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle */ readonly ocid?: string; /** * Output only. Deep link to the OCI console to view this resource. */ readonly ociUrl?: string; /** * Required. The shape of the Exadata Infrastructure. The shape determines * the amount of CPU, storage, and memory resources allocated to the instance. */ shape?: string; /** * Output only. The current lifecycle state of the Exadata Infrastructure. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "TERMINATING" | "TERMINATED" | "FAILED" | "MAINTENANCE_IN_PROGRESS"; /** * Optional. The number of Cloud Exadata storage servers for the Exadata * Infrastructure. */ storageCount?: number; /** * Output only. The storage server type of the Exadata Infrastructure. */ readonly storageServerType?: string; /** * Output only. The software version of the storage servers (cells) in the * Exadata Infrastructure. */ readonly storageServerVersion?: string; /** * Optional. The total storage allocated to the Exadata Infrastructure * resource, in gigabytes (GB). */ totalStorageSizeGb?: number; } /** * Details of the Cloud VM Cluster resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudVmCluster/ */ export interface 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; /** * Optional. CIDR range of the backup subnet. */ backupSubnetCidr?: string; /** * Optional. Network settings. CIDR to use for cluster IP allocation. */ cidr?: string; /** * Output only. The date and time that the VM cluster was created. */ readonly createTime?: Date; /** * Optional. User friendly name for this resource. */ displayName?: string; /** * 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; /** * 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. */ readonly gcpOracleZone?: string; /** * Output only. The identity connector details which will allow OCI to * securely access the resources in the customer project. */ readonly identityConnector?: IdentityConnector; /** * Optional. Labels or tags associated with the VM Cluster. */ labels?: { [key: string]: string }; /** * Identifier. The name of the VM Cluster resource with the format: * projects/{project}/locations/{region}/cloudVmClusters/{cloud_vm_cluster} */ name?: string; /** * Optional. The name of the VPC network. Format: * projects/{project}/global/networks/{network} */ network?: string; /** * 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; /** * 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; /** * Optional. Various properties of the VM Cluster. */ properties?: CloudVmClusterProperties; } /** * Various properties and settings associated with Exadata VM cluster. */ export interface CloudVmClusterProperties { /** * Optional. OCI Cluster name. */ clusterName?: string; /** * Output only. Compartment ID of cluster. */ readonly compartmentId?: string; /** * Output only. The compute model of the VM Cluster. */ readonly computeModel?: | "COMPUTE_MODEL_UNSPECIFIED" | "COMPUTE_MODEL_ECPU" | "COMPUTE_MODEL_OCPU"; /** * Required. Number of enabled CPU cores. */ cpuCoreCount?: number; /** * Optional. The data disk group size to be allocated in TBs. */ dataStorageSizeTb?: number; /** * Optional. Local storage per VM. */ dbNodeStorageSizeGb?: number; /** * Optional. OCID of database servers. */ dbServerOcids?: string[]; /** * Optional. Data collection options for diagnostics. */ diagnosticsDataCollectionOptions?: DataCollectionOptions; /** * Optional. The type of redundancy. */ diskRedundancy?: | "DISK_REDUNDANCY_UNSPECIFIED" | "HIGH" | "NORMAL"; /** * Output only. DNS listener IP. */ readonly dnsListenerIp?: string; /** * Output only. Parent DNS domain where SCAN DNS and hosts names are * qualified. ex: ocispdelegated.ocisp10jvnet.oraclevcn.com */ readonly domain?: string; /** * Optional. Grid Infrastructure Version. */ giVersion?: string; /** * Output only. host name without domain. format: "-" with some suffix. ex: * sp2-yi0xq where "sp2" is the hostname_prefix. */ readonly hostname?: string; /** * Optional. Prefix for VM cluster host names. */ hostnamePrefix?: string; /** * Required. License type of VM Cluster. */ licenseType?: | "LICENSE_TYPE_UNSPECIFIED" | "LICENSE_INCLUDED" | "BRING_YOUR_OWN_LICENSE"; /** * Optional. Use local backup. */ localBackupEnabled?: boolean; /** * Optional. Memory allocated in GBs. */ memorySizeGb?: number; /** * Optional. Number of database servers. */ nodeCount?: number; /** * Output only. Oracle Cloud Infrastructure ID of VM Cluster. */ readonly ocid?: string; /** * Output only. Deep link to the OCI console to view this resource. */ readonly ociUrl?: string; /** * Optional. OCPU count per VM. Minimum is 0.1. */ ocpuCount?: number; /** * Output only. SCAN DNS name. ex: * sp2-yi0xq-scan.ocispdelegated.ocisp10jvnet.oraclevcn.com */ readonly scanDns?: string; /** * Output only. OCID of scan DNS record. */ readonly scanDnsRecordId?: string; /** * Output only. OCIDs of scan IPs. */ readonly scanIpIds?: string[]; /** * Output only. SCAN listener port - TCP */ readonly scanListenerPortTcp?: number; /** * Output only. SCAN listener port - TLS */ readonly scanListenerPortTcpSsl?: number; /** * Output only. Shape of VM Cluster. */ readonly shape?: string; /** * Optional. Use exadata sparse snapshots. */ sparseDiskgroupEnabled?: boolean; /** * Optional. SSH public keys to be stored with cluster. */ sshPublicKeys?: string[]; /** * Output only. State of the cluster. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "TERMINATING" | "TERMINATED" | "FAILED" | "MAINTENANCE_IN_PROGRESS"; /** * Output only. The storage allocation for the disk group, in gigabytes (GB). */ readonly storageSizeGb?: number; /** * Optional. Operating system version of the image. */ systemVersion?: string; /** * Optional. Time zone of VM Cluster to set. Defaults to UTC if not * specified. */ timeZone?: TimeZone; } /** * The CustomerContact reference as defined by Oracle. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/CustomerContact */ export interface CustomerContact { /** * Required. The email address used by Oracle to send notifications regarding * databases and infrastructure. */ email?: string; } /** * Details of the Database resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/Database/ */ export interface Database { /** * Required. The password for the default ADMIN user. */ adminPassword?: string; /** * Optional. The character set for the database. The default is AL32UTF8. */ characterSet?: string; /** * Output only. The date and time that the Database was created. */ readonly createTime?: Date; /** * Optional. The database ID of the Database. */ databaseId?: string; /** * Optional. The name of the DbHome resource associated with the Database. */ dbHomeName?: string; /** * 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; /** * Optional. The DB_UNIQUE_NAME of the Oracle Database being backed up. */ dbUniqueName?: string; /** * Output only. The GCP Oracle zone where the Database is created. */ readonly gcpOracleZone?: string; /** * Identifier. The name of the Database resource in the following format: * projects/{project}/locations/{region}/databases/{database} */ name?: string; /** * Optional. The national character set for the database. The default is * AL16UTF16. */ ncharacterSet?: string; /** * Output only. HTTPS link to OCI resources exposed to Customer via UI * Interface. */ readonly ociUrl?: string; /** * Output only. The Status of Operations Insights for this Database. */ readonly opsInsightsStatus?: | "OPERATIONS_INSIGHTS_STATUS_UNSPECIFIED" | "ENABLING" | "ENABLED" | "DISABLING" | "NOT_ENABLED" | "FAILED_ENABLING" | "FAILED_DISABLING"; /** * Optional. The properties of the Database. */ properties?: DatabaseProperties; /** * Optional. The TDE wallet password for the database. */ tdeWalletPassword?: string; } /** * Details of the Database character set resource. */ export interface DatabaseCharacterSet { /** * Output only. The character set name for the Database which is the ID in * the resource name. */ readonly characterSet?: string; /** * Output only. The character set type for the Database. */ readonly characterSetType?: | "CHARACTER_SET_TYPE_UNSPECIFIED" | "DATABASE" | "NATIONAL"; /** * Identifier. The name of the Database Character Set resource in the * following format: * projects/{project}/locations/{region}/databaseCharacterSets/{database_character_set} */ name?: string; } /** * The connection string profile to allow clients to group. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DatabaseConnectionStringProfile */ export interface DatabaseConnectionStringProfile { /** * Output only. The current consumer group being used by the connection. */ readonly consumerGroup?: | "CONSUMER_GROUP_UNSPECIFIED" | "HIGH" | "MEDIUM" | "LOW" | "TP" | "TPURGENT"; /** * Output only. The display name for the database connection. */ readonly displayName?: string; /** * Output only. The host name format being currently used in connection * string. */ readonly hostFormat?: | "HOST_FORMAT_UNSPECIFIED" | "FQDN" | "IP"; /** * Output only. This field indicates if the connection string is regional and * is only applicable for cross-region Data Guard. */ readonly isRegional?: boolean; /** * Output only. The protocol being used by the connection. */ readonly protocol?: | "PROTOCOL_UNSPECIFIED" | "TCP" | "TCPS"; /** * Output only. The current session mode of the connection. */ readonly sessionMode?: | "SESSION_MODE_UNSPECIFIED" | "DIRECT" | "INDIRECT"; /** * Output only. The syntax of the connection string. */ readonly syntaxFormat?: | "SYNTAX_FORMAT_UNSPECIFIED" | "LONG" | "EZCONNECT" | "EZCONNECTPLUS"; /** * Output only. This field indicates the TLS authentication type of the * connection. */ readonly tlsAuthentication?: | "TLS_AUTHENTICATION_UNSPECIFIED" | "SERVER" | "MUTUAL"; /** * Output only. The value of the connection string. */ readonly value?: string; } /** * The configuration of the Database Management service. */ export interface DatabaseManagementConfig { /** * Output only. The status of the Database Management service. */ readonly managementState?: | "MANAGEMENT_STATE_UNSPECIFIED" | "ENABLING" | "ENABLED" | "DISABLING" | "DISABLED" | "UPDATING" | "FAILED_ENABLING" | "FAILED_DISABLING" | "FAILED_UPDATING"; /** * Output only. The Database Management type. */ readonly managementType?: | "MANAGEMENT_TYPE_UNSPECIFIED" | "BASIC" | "ADVANCED"; } /** * The properties of a Database. */ export interface DatabaseProperties { /** * Output only. The Database Management config. */ readonly databaseManagementConfig?: DatabaseManagementConfig; /** * Optional. Backup options for the Database. */ dbBackupConfig?: DbBackupConfig; /** * Required. The Oracle Database version. */ dbVersion?: string; /** * Output only. State of the Database. */ readonly state?: | "DATABASE_LIFECYCLE_STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "BACKUP_IN_PROGRESS" | "UPGRADING" | "CONVERTING" | "TERMINATING" | "TERMINATED" | "RESTORE_FAILED" | "FAILED"; } /** * Data collection options for diagnostics. */ export interface DataCollectionOptions { /** * Optional. Indicates whether diagnostic collection is enabled for the VM * cluster */ diagnosticsEventsEnabled?: boolean; /** * Optional. Indicates whether health monitoring is enabled for the VM * cluster */ healthMonitoringEnabled?: boolean; /** * Optional. Indicates whether incident logs and trace collection are enabled * for the VM cluster */ incidentLogsEnabled?: boolean; } /** * Data collection options for diagnostics. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions */ export interface DataCollectionOptionsCommon { /** * Optional. Indicates whether to enable data collection for diagnostics. */ isDiagnosticsEventsEnabled?: boolean; /** * Optional. Indicates whether to enable health monitoring. */ isHealthMonitoringEnabled?: boolean; /** * Optional. Indicates whether to enable incident logs and trace collection. */ isIncidentLogsEnabled?: boolean; } /** * Data collection options for DbSystem. */ export interface DataCollectionOptionsDbSystem { /** * Optional. Indicates whether to enable data collection for diagnostics. */ isDiagnosticsEventsEnabled?: boolean; /** * Optional. Indicates whether to enable incident logs and trace collection. */ isIncidentLogsEnabled?: boolean; } /** * Backup Options for the Database. */ export interface DbBackupConfig { /** * Optional. If set to true, enables automatic backups on the database. */ autoBackupEnabled?: boolean; /** * 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?: | "DAY_OF_WEEK_UNSPECIFIED" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; /** * Optional. The window in which the full backup should be performed on the * database. If no value is provided, the default is anytime. */ autoFullBackupWindow?: | "BACKUP_WINDOW_UNSPECIFIED" | "SLOT_ONE" | "SLOT_TWO" | "SLOT_THREE" | "SLOT_FOUR" | "SLOT_FIVE" | "SLOT_SIX" | "SLOT_SEVEN" | "SLOT_EIGHT" | "SLOT_NINE" | "SLOT_TEN" | "SLOT_ELEVEN" | "SLOT_TWELVE"; /** * 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?: | "BACKUP_WINDOW_UNSPECIFIED" | "SLOT_ONE" | "SLOT_TWO" | "SLOT_THREE" | "SLOT_FOUR" | "SLOT_FIVE" | "SLOT_SIX" | "SLOT_SEVEN" | "SLOT_EIGHT" | "SLOT_NINE" | "SLOT_TEN" | "SLOT_ELEVEN" | "SLOT_TWELVE"; /** * Optional. This defines when the backups will be deleted after Database * termination. */ backupDeletionPolicy?: | "BACKUP_DELETION_POLICY_UNSPECIFIED" | "DELETE_IMMEDIATELY" | "DELETE_AFTER_RETENTION_PERIOD"; /** * Optional. Details of the database backup destinations. */ backupDestinationDetails?: 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; } /** * Details of the Database Home resource. */ export interface DbHome { /** * Required. The Database resource. */ database?: Database; /** * Required. A valid Oracle Database version. For a list of supported * versions, use the ListDbVersions operation. */ dbVersion?: string; /** * Optional. The display name for the Database Home. The name does not have * to be unique within your project. */ displayName?: string; /** * Optional. Whether unified auditing is enabled for the Database Home. */ isUnifiedAuditingEnabled?: boolean; } /** * Details of the database node resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbNode/ */ export interface 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; /** * Optional. Various properties of the database node. */ properties?: DbNodeProperties; } /** * Various properties and settings associated with Db node. */ export interface DbNodeProperties { /** * Output only. The date and time that the database node was created. */ readonly createTime?: Date; /** * Optional. Local storage per database node. */ dbNodeStorageSizeGb?: number; /** * Optional. Database server OCID. */ dbServerOcid?: string; /** * Optional. DNS */ hostname?: string; /** * Memory allocated in GBs. */ memorySizeGb?: number; /** * Output only. OCID of database node. */ readonly ocid?: string; /** * Optional. OCPU count per database node. */ ocpuCount?: number; /** * Output only. State of the database node. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "STOPPING" | "STOPPED" | "STARTING" | "TERMINATING" | "TERMINATED" | "FAILED"; /** * Total CPU core count of the database node. */ totalCpuCoreCount?: number; } /** * Details of the database server resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbServer/ */ export interface DbServer { /** * Optional. User friendly name for this resource. */ displayName?: string; /** * Identifier. The name of the database server resource with the format: * projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_exadata_infrastructure}/dbServers/{db_server} */ name?: string; /** * Optional. Various properties of the database server. */ properties?: DbServerProperties; } /** * Various properties and settings associated with Exadata database server. */ export interface DbServerProperties { /** * Output only. OCID of database nodes associated with the database server. */ readonly dbNodeIds?: string[]; /** * Optional. Local storage per VM. */ dbNodeStorageSizeGb?: number; /** * Optional. Maximum local storage per VM. */ maxDbNodeStorageSizeGb?: number; /** * Optional. Maximum memory allocated in GBs. */ maxMemorySizeGb?: number; /** * Optional. Maximum OCPU count per database. */ maxOcpuCount?: number; /** * Optional. Memory allocated in GBs. */ memorySizeGb?: number; /** * Output only. OCID of database server. */ readonly ocid?: string; /** * Optional. OCPU count per database. */ ocpuCount?: number; /** * Output only. State of the database server. */ readonly state?: | "STATE_UNSPECIFIED" | "CREATING" | "AVAILABLE" | "UNAVAILABLE" | "DELETING" | "DELETED"; /** * Optional. Vm count per database. */ vmCount?: number; } /** * Details of the DbSystem (BaseDB) resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbSystem/ */ export interface DbSystem { /** * Output only. The date and time that the DbSystem was created. */ readonly createTime?: Date; /** * Required. The display name for the System db. The name does not have to be * unique within your project. */ displayName?: string; /** * Output only. The ID of the subscription entitlement associated with the * DbSystem */ readonly entitlementId?: string; /** * 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; /** * Optional. The labels or tags associated with the DbSystem. */ labels?: { [key: string]: string }; /** * Identifier. The name of the DbSystem resource in the following format: * projects/{project}/locations/{region}/dbSystems/{db_system} */ name?: string; /** * Output only. HTTPS link to OCI resources exposed to Customer via UI * Interface. */ readonly ociUrl?: string; /** * 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; /** * 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; /** * Optional. The properties of the DbSystem. */ properties?: DbSystemProperties; } /** * Summary of the DbSystem initial storage size. */ export interface DbSystemInitialStorageSize { /** * Output only. The name of the resource. */ readonly name?: string; /** * Output only. The properties of the DbSystem initial storage size summary. */ readonly properties?: DbSystemInitialStorageSizeProperties; } /** * The properties of a DbSystem initial storage size summary. */ export interface DbSystemInitialStorageSizeProperties { /** * Output only. List of storage disk details available for launches from * backup. */ readonly launchFromBackupStorageSizeDetails?: StorageSizeDetails[]; /** * Output only. VM shape platform type */ readonly shapeType?: | "SHAPE_TYPE_UNSPECIFIED" | "STANDARD_X86"; /** * Output only. The storage option used in DB system. */ readonly storageManagement?: | "STORAGE_MANAGEMENT_UNSPECIFIED" | "ASM" | "LVM"; /** * Output only. List of storage disk details. */ readonly storageSizeDetails?: StorageSizeDetails[]; } /** * Details of the DbSystem Options. */ export interface DbSystemOptions { /** * Optional. The storage option used in DB system. */ storageManagement?: | "STORAGE_MANAGEMENT_UNSPECIFIED" | "ASM" | "LVM"; } /** * The properties of a DbSystem. */ export interface DbSystemProperties { /** * Required. The number of CPU cores to enable for the DbSystem. */ computeCount?: number; /** * Optional. The compute model of the DbSystem. */ computeModel?: | "COMPUTE_MODEL_UNSPECIFIED" | "ECPU" | "OCPU"; /** * Required. The database edition of the DbSystem. */ databaseEdition?: | "DB_SYSTEM_DATABASE_EDITION_UNSPECIFIED" | "STANDARD_EDITION" | "ENTERPRISE_EDITION" | "ENTERPRISE_EDITION_HIGH_PERFORMANCE"; /** * Optional. Data collection options for diagnostics. */ dataCollectionOptions?: DataCollectionOptionsDbSystem; /** * Optional. The data storage size in GB that is currently available to * DbSystems. */ dataStorageSizeGb?: number; /** * Optional. Details for creating a Database Home. */ dbHome?: DbHome; /** * Optional. The options for the DbSystem. */ dbSystemOptions?: DbSystemOptions; /** * Optional. The host domain name of the DbSystem. */ domain?: string; /** * Output only. The hostname of the DbSystem. */ readonly hostname?: string; /** * Optional. Prefix for DB System host names. */ hostnamePrefix?: string; /** * Required. The initial data storage size in GB. */ initialDataStorageSizeGb?: number; /** * Required. The license model of the DbSystem. */ licenseModel?: | "LICENSE_MODEL_UNSPECIFIED" | "LICENSE_INCLUDED" | "BRING_YOUR_OWN_LICENSE"; /** * Output only. State of the DbSystem. */ readonly lifecycleState?: | "DB_SYSTEM_LIFECYCLE_STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "TERMINATING" | "TERMINATED" | "FAILED" | "MIGRATED" | "MAINTENANCE_IN_PROGRESS" | "NEEDS_ATTENTION" | "UPGRADING"; /** * Optional. The memory size in GB. */ memorySizeGb?: number; /** * Optional. The number of nodes in the DbSystem. */ nodeCount?: number; /** * Output only. OCID of the DbSystem. */ readonly ocid?: string; /** * Optional. The private IP address of the DbSystem. */ privateIp?: string; /** * Optional. The reco/redo storage size in GB. */ recoStorageSizeGb?: number; /** * Required. Shape of DB System. */ shape?: string; /** * Required. SSH public keys to be stored with the DbSystem. */ sshPublicKeys?: string[]; /** * Optional. Time zone of the DbSystem. */ timeZone?: TimeZone; } /** * Details of the Database System Shapes resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbSystemShapeSummary/ */ export interface DbSystemShape { /** * Optional. Number of cores per node. */ availableCoreCountPerNode?: number; /** * Optional. Storage per storage server in terabytes. */ availableDataStorageTb?: number; /** * Optional. Memory per database server node in gigabytes. */ availableMemoryPerNodeGb?: number; /** * Optional. Maximum number of database servers. */ maxNodeCount?: number; /** * Optional. Maximum number of storage servers. */ maxStorageCount?: number; /** * Optional. Minimum core count per node. */ minCoreCountPerNode?: number; /** * Optional. Minimum node storage per database server in gigabytes. */ minDbNodeStoragePerNodeGb?: number; /** * Optional. Minimum memory per node in gigabytes. */ minMemoryPerNodeGb?: number; /** * Optional. Minimum number of database servers. */ minNodeCount?: number; /** * Optional. Minimum number of storage servers. */ minStorageCount?: number; /** * Identifier. The name of the Database System Shape resource with the * format: * projects/{project}/locations/{region}/dbSystemShapes/{db_system_shape} */ name?: string; /** * Optional. shape */ shape?: string; } /** * A valid Oracle Database version. */ export interface DbVersion { /** * Output only. The name of the DbVersion resource in the following format: * projects/{project}/locations/{region}/dbVersions/{db_version} */ readonly name?: string; /** * Output only. The properties of the DbVersion. */ readonly properties?: DbVersionProperties; } /** * The properties of a DbVersion. */ export interface DbVersionProperties { /** * Output only. True if this version of the Oracle Database software is the * latest version for a release. */ readonly isLatestForMajorVersion?: boolean; /** * Output only. True if this version of the Oracle Database software is the * preview version. */ readonly isPreviewDbVersion?: boolean; /** * Output only. True if this version of the Oracle Database software is * supported for Upgrade. */ readonly isUpgradeSupported?: boolean; /** * Output only. True if this version of the Oracle Database software supports * pluggable databases. */ readonly supportsPdb?: boolean; /** * Output only. A valid Oracle Database version. */ readonly version?: string; } /** * Wrapper message for the value of a defined tag. */ export interface DefinedTagValue { /** * The tags within the namespace. */ tags?: { [key: string]: string }; } /** * 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 Empty { } /** * The encryption key used to encrypt the Autonomous Database. */ export interface 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; /** * Optional. The provider of the encryption key. */ provider?: | "PROVIDER_UNSPECIFIED" | "GOOGLE_MANAGED" | "ORACLE_MANAGED"; } /** * The history of the encryption keys used to encrypt the Autonomous Database. */ export interface EncryptionKeyHistoryEntry { /** * Output only. The date and time when the encryption key was activated on * the Autonomous Database.. */ readonly activationTime?: Date; /** * Output only. The encryption key used to encrypt the Autonomous Database. */ readonly encryptionKey?: EncryptionKey; } /** * Details of the Entitlement resource. */ export interface Entitlement { /** * Details of the OCI Cloud Account. */ cloudAccountDetails?: CloudAccountDetails; /** * Output only. Google Cloud Marketplace order ID (aka entitlement ID) */ readonly entitlementId?: string; /** * Identifier. The name of the Entitlement resource with the format: * projects/{project}/locations/{region}/entitlements/{entitlement} */ name?: string; /** * Output only. Entitlement State. */ readonly state?: | "STATE_UNSPECIFIED" | "ACCOUNT_NOT_LINKED" | "ACCOUNT_NOT_ACTIVE" | "ACTIVE" | "ACCOUNT_SUSPENDED" | "NOT_APPROVED_IN_PRIVATE_MARKETPLACE"; } /** * 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 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; /** * Output only. The date and time that the ExadbVmCluster was created. */ readonly createTime?: Date; /** * 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; /** * Output only. The ID of the subscription entitlement associated with the * ExadbVmCluster. */ readonly entitlementId?: string; /** * 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. */ readonly gcpOracleZone?: string; /** * Optional. The labels or tags associated with the ExadbVmCluster. */ labels?: { [key: string]: string }; /** * Identifier. The name of the ExadbVmCluster resource in the following * format: * projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster} */ name?: string; /** * 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; /** * 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; /** * Required. The properties of the ExadbVmCluster. */ properties?: ExadbVmClusterProperties; } /** * The properties of an ExadbVmCluster. */ export interface ExadbVmClusterProperties { /** * Optional. Immutable. The number of additional ECPUs per node for an * Exadata VM cluster on exascale infrastructure. */ additionalEcpuCountPerNode?: number; /** * 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; /** * Optional. Immutable. Indicates user preference for data collection * options. */ dataCollectionOptions?: DataCollectionOptionsCommon; /** * Required. Immutable. The number of ECPUs enabled per node for an exadata * vm cluster on exascale infrastructure. */ enabledEcpuCountPerNode?: number; /** * 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; /** * Output only. The Oracle Grid Infrastructure (GI) software version. */ readonly giVersion?: string; /** * Required. Immutable. Grid Infrastructure Version. */ gridImageId?: string; /** * Output only. The hostname of the ExadbVmCluster. */ readonly hostname?: string; /** * Required. Immutable. Prefix for VM cluster host names. */ hostnamePrefix?: string; /** * Optional. Immutable. The license type of the ExadbVmCluster. */ licenseModel?: | "LICENSE_MODEL_UNSPECIFIED" | "LICENSE_INCLUDED" | "BRING_YOUR_OWN_LICENSE"; /** * Output only. State of the cluster. */ readonly lifecycleState?: | "EXADB_VM_CLUSTER_LIFECYCLE_STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "TERMINATING" | "TERMINATED" | "FAILED" | "MAINTENANCE_IN_PROGRESS"; /** * 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. */ readonly memorySizeGb?: number; /** * Required. The number of nodes/VMs in the ExadbVmCluster. */ nodeCount?: number; /** * Output only. Deep link to the OCI console to view this resource. */ readonly ociUri?: string; /** * Optional. Immutable. SCAN listener port - TCP */ scanListenerPortTcp?: number; /** * 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?: | "SHAPE_ATTRIBUTE_UNSPECIFIED" | "SMART_STORAGE" | "BLOCK_STORAGE"; /** * Required. Immutable. The SSH public keys for the ExadbVmCluster. */ sshPublicKeys?: string[]; /** * Optional. Immutable. The time zone of the ExadbVmCluster. */ timeZone?: TimeZone; /** * Required. Immutable. Total storage details for the ExadbVmCluster. */ vmFileSystemStorage?: ExadbVmClusterStorageDetails; } /** * The storage allocation for the exadbvmcluster, in gigabytes (GB). */ export interface 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; } /** * The storage details of the ExascaleDbStorageVault. */ export interface ExascaleDbStorageDetails { /** * Output only. The available storage capacity for the * ExascaleDbStorageVault, in gigabytes (GB). */ readonly availableSizeGbs?: number; /** * Required. The total storage allocation for the ExascaleDbStorageVault, in * gigabytes (GB). */ totalSizeGbs?: number; } /** * ExascaleDbStorageVault represents a storage vault exadb vm cluster resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExascaleDbStorageVault/ */ export interface ExascaleDbStorageVault { /** * Output only. The date and time when the ExascaleDbStorageVault was * created. */ readonly createTime?: Date; /** * 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; /** * Output only. The ID of the subscription entitlement associated with the * ExascaleDbStorageVault. */ readonly entitlementId?: string; /** * 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; /** * Optional. The labels or tags associated with the ExascaleDbStorageVault. */ labels?: { [key: string]: string }; /** * Identifier. The resource name of the ExascaleDbStorageVault. Format: * projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault} */ name?: string; /** * Required. The properties of the ExascaleDbStorageVault. */ properties?: ExascaleDbStorageVaultProperties; } /** * The properties of the ExascaleDbStorageVault. next ID: 12 */ export interface ExascaleDbStorageVaultProperties { /** * Optional. The size of additional flash cache in percentage of high * capacity database storage. */ additionalFlashCachePercent?: number; /** * Output only. The shape attributes of the VM clusters attached to the * ExascaleDbStorageVault. */ readonly attachedShapeAttributes?: | "SHAPE_ATTRIBUTE_UNSPECIFIED" | "SMART_STORAGE" | "BLOCK_STORAGE"[]; /** * Output only. The shape attributes available for the VM clusters to be * attached to the ExascaleDbStorageVault. */ readonly availableShapeAttributes?: | "SHAPE_ATTRIBUTE_UNSPECIFIED" | "SMART_STORAGE" | "BLOCK_STORAGE"[]; /** * Optional. The description of the ExascaleDbStorageVault. */ description?: string; /** * Required. The storage details of the ExascaleDbStorageVault. */ exascaleDbStorageDetails?: ExascaleDbStorageDetails; /** * Output only. The OCID for the ExascaleDbStorageVault. */ readonly ocid?: string; /** * Output only. Deep link to the OCI console to view this resource. */ readonly ociUri?: string; /** * Output only. The state of the ExascaleDbStorageVault. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "UPDATING" | "TERMINATING" | "TERMINATED" | "FAILED"; /** * Output only. The time zone of the ExascaleDbStorageVault. */ readonly timeZone?: TimeZone; /** * Output only. The number of VM clusters associated with the * ExascaleDbStorageVault. */ readonly vmClusterCount?: number; /** * Output only. The list of VM cluster OCIDs associated with the * ExascaleDbStorageVault. */ readonly vmClusterIds?: string[]; } /** * The request for `OracleDatabase.FailoverAutonomousDatabase`. */ export interface 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; } /** * The request for `AutonomousDatabase.GenerateWallet`. */ export interface GenerateAutonomousDatabaseWalletRequest { /** * Optional. True when requesting regional connection strings in PDB connect * info, applicable to cross-region Data Guard only. */ isRegional?: boolean; /** * Required. The password used to encrypt the keys inside the wallet. The * password must be a minimum of 8 characters. */ password?: string; /** * Optional. The type of wallet generation for the Autonomous Database. The * default value is SINGLE. */ type?: | "GENERATE_TYPE_UNSPECIFIED" | "ALL" | "SINGLE"; } /** * The response for `AutonomousDatabase.GenerateWallet`. */ export interface GenerateAutonomousDatabaseWalletResponse { /** * Output only. The base64 encoded wallet files. */ readonly archiveContent?: Uint8Array; } /** * Details of the Oracle Grid Infrastructure (GI) version resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/GiVersionSummary/ */ export interface GiVersion { /** * Identifier. The name of the Oracle Grid Infrastructure (GI) version * resource with the format: * projects/{project}/locations/{region}/giVersions/{gi_versions} */ name?: string; /** * Optional. version */ version?: string; } /** * The identity connector details which will allow OCI to securely access the * resources in the customer project. */ export interface IdentityConnector { /** * Output only. The connection state of the identity connector. */ readonly connectionState?: | "CONNECTION_STATE_UNSPECIFIED" | "CONNECTED" | "PARTIALLY_CONNECTED" | "DISCONNECTED" | "UNKNOWN"; /** * 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` */ readonly serviceAgentEmail?: string; } /** * The response for `AutonomousDatabaseBackup.List`. */ export interface ListAutonomousDatabaseBackupsResponse { /** * The list of Autonomous Database Backups. */ autonomousDatabaseBackups?: AutonomousDatabaseBackup[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `AutonomousDatabaseCharacterSet.List`. */ export interface ListAutonomousDatabaseCharacterSetsResponse { /** * The list of Autonomous Database Character Sets. */ autonomousDatabaseCharacterSets?: AutonomousDatabaseCharacterSet[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `AutonomousDatabase.List`. */ export interface ListAutonomousDatabasesResponse { /** * The list of Autonomous Databases. */ autonomousDatabases?: AutonomousDatabase[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `AutonomousDbVersion.List`. */ export interface ListAutonomousDbVersionsResponse { /** * The list of Autonomous Database versions. */ autonomousDbVersions?: AutonomousDbVersion[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `CloudExadataInfrastructures.list`. */ export interface ListCloudExadataInfrastructuresResponse { /** * The list of Exadata Infrastructures. */ cloudExadataInfrastructures?: CloudExadataInfrastructure[]; /** * A token for fetching next page of response. */ nextPageToken?: string; } /** * The response for `CloudVmCluster.List`. */ export interface ListCloudVmClustersResponse { /** * The list of VM Clusters. */ cloudVmClusters?: CloudVmCluster[]; /** * A token to fetch the next page of results. */ nextPageToken?: string; } /** * The response for `DatabaseCharacterSet.List`. */ export interface ListDatabaseCharacterSetsResponse { /** * The list of DatabaseCharacterSets. */ databaseCharacterSets?: DatabaseCharacterSet[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `Database.List`. */ export interface ListDatabasesResponse { /** * The list of Databases. */ databases?: Database[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `DbNode.List`. */ export interface ListDbNodesResponse { /** * The list of DB Nodes */ dbNodes?: DbNode[]; /** * A token identifying a page of results the node should return. */ nextPageToken?: string; } /** * The response for `DbServer.List`. */ export interface ListDbServersResponse { /** * The list of database servers. */ dbServers?: DbServer[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `DbSystemInitialStorageSizes.List`. */ export interface ListDbSystemInitialStorageSizesResponse { /** * The list of DbSystemInitialStorageSizes. */ dbSystemInitialStorageSizes?: DbSystemInitialStorageSize[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `DbSystemShape.List`. */ export interface ListDbSystemShapesResponse { /** * The list of Database System shapes. */ dbSystemShapes?: DbSystemShape[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `DbSystem.List`. */ export interface ListDbSystemsResponse { /** * The list of DbSystems. */ dbSystems?: DbSystem[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `DbVersions.List`. */ export interface ListDbVersionsResponse { /** * The list of DbVersions. */ dbVersions?: DbVersion[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `Entitlement.List`. */ export interface ListEntitlementsResponse { /** * The list of Entitlements */ entitlements?: Entitlement[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `ExadbVmCluster.List`. */ export interface ListExadbVmClustersResponse { /** * The list of ExadbVmClusters. */ exadbVmClusters?: ExadbVmCluster[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `ExascaleDbStorageVault.List`. */ export interface ListExascaleDbStorageVaultsResponse { /** * The ExascaleDbStorageVaults. */ exascaleDbStorageVaults?: 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; } /** * The response for `GiVersion.List`. */ export interface ListGiVersionsResponse { /** * The list of Oracle Grid Infrastructure (GI) versions. */ giVersions?: GiVersion[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response message for Locations.ListLocations. */ export interface ListLocationsResponse { /** * A list of locations that matches the specified filter in the request. */ locations?: Location[]; /** * The standard List next-page token. */ nextPageToken?: string; } /** * The response for `MinorVersion.List`. */ export interface ListMinorVersionsResponse { /** * The list of MinorVersions. */ minorVersions?: MinorVersion[]; /** * A token identifying a page of results the server should return. */ nextPageToken?: string; } /** * The response for `OdbNetwork.List`. */ export interface ListOdbNetworksResponse { /** * A token identifying a page of results the server should return. */ nextPageToken?: string; /** * The list of ODB Networks. */ odbNetworks?: OdbNetwork[]; /** * Unreachable locations when listing resources across all locations using * wildcard location '-'. */ unreachable?: string[]; } /** * The response for `OdbSubnet.List`. */ export interface ListOdbSubnetsResponse { /** * A token identifying a page of results the server should return. */ nextPageToken?: string; /** * The list of ODB Subnets. */ odbSubnets?: OdbSubnet[]; /** * Unreachable locations when listing resources across all locations using * wildcard location '-'. */ unreachable?: string[]; } /** * The response message for Operations.ListOperations. */ export interface ListOperationsResponse { /** * The standard List next-page token. */ nextPageToken?: string; /** * A list of operations that matches the specified filter in the request. */ operations?: 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[]; } /** * The response for `PluggableDatabase.List`. */ export interface ListPluggableDatabasesResponse { /** * A token identifying a page of results the server should return. */ nextPageToken?: string; /** * The list of PluggableDatabases. */ pluggableDatabases?: PluggableDatabase[]; } /** * A resource that represents a Google Cloud location. */ export interface Location { /** * The friendly name for this location, typically a nearby city name. For * example, "Tokyo". */ displayName?: string; /** * Cross-service attributes for the location. For example * {"cloud.googleapis.com/region": "us-east1"} */ labels?: { [key: string]: string }; /** * The canonical id for this location. For example: `"us-east1"`. */ locationId?: string; /** * Service-specific metadata. For example the available capacity at the given * location. */ metadata?: { [key: string]: any }; /** * Resource name for the location, which may vary between implementations. * For example: `"projects/example-project/locations/us-east1"` */ name?: string; } /** * Metadata for a given Location. */ export interface LocationMetadata { /** * Output only. Google Cloud Platform Oracle zones in a location. */ readonly gcpOracleZones?: string[]; } /** * Maintenance window as defined by Oracle. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow */ export interface 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; /** * Optional. Days during the week when maintenance should be performed. */ daysOfWeek?: | "DAY_OF_WEEK_UNSPECIFIED" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"[]; /** * 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[]; /** * Optional. If true, enables the configuration of a custom action timeout * (waiting period) between database server patching operations. */ isCustomActionTimeoutEnabled?: boolean; /** * 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; /** * Optional. Months during the year when maintenance should be performed. */ months?: | "MONTH_UNSPECIFIED" | "JANUARY" | "FEBRUARY" | "MARCH" | "APRIL" | "MAY" | "JUNE" | "JULY" | "AUGUST" | "SEPTEMBER" | "OCTOBER" | "NOVEMBER" | "DECEMBER"[]; /** * Optional. Cloud CloudExadataInfrastructure node patching method, either * "ROLLING" or "NONROLLING". Default value is ROLLING. */ patchingMode?: | "PATCHING_MODE_UNSPECIFIED" | "ROLLING" | "NON_ROLLING"; /** * Optional. The maintenance window scheduling preference. */ preference?: | "MAINTENANCE_WINDOW_PREFERENCE_UNSPECIFIED" | "CUSTOM_PREFERENCE" | "NO_PREFERENCE"; /** * 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[]; } /** * MinorVersion represents a minor version of a GI. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/GiMinorVersionSummary/ */ export interface MinorVersion { /** * Optional. The ID of the Grid Image. */ gridImageId?: string; /** * Identifier. The name of the MinorVersion resource with the format: * projects/{project}/locations/{region}/giVersions/{gi_version}/minorVersions/{minor_version} */ name?: string; /** * Optional. The valid Oracle grid infrastructure software version. */ version?: string; } /** * Represents OdbNetwork resource. */ export interface OdbNetwork { /** * Output only. The date and time that the OdbNetwork was created. */ readonly createTime?: Date; /** * Output only. The ID of the subscription entitlement associated with the * OdbNetwork. */ readonly entitlementId?: string; /** * 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; /** * Optional. Labels or tags associated with the resource. */ labels?: { [key: string]: string }; /** * Identifier. The name of the OdbNetwork resource in the following format: * projects/{project}/locations/{region}/odbNetworks/{odb_network} */ name?: string; /** * Required. The name of the VPC network in the following format: * projects/{project}/global/networks/{network} */ network?: string; /** * Output only. State of the ODB Network. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "TERMINATING" | "FAILED"; } /** * Represents OdbSubnet resource. */ export interface OdbSubnet { /** * Required. The CIDR range of the subnet. */ cidrRange?: string; /** * Output only. The date and time that the OdbNetwork was created. */ readonly createTime?: Date; /** * Optional. Labels or tags associated with the resource. */ labels?: { [key: string]: string }; /** * Identifier. The name of the OdbSubnet resource in the following format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ name?: string; /** * Required. Purpose of the subnet. */ purpose?: | "PURPOSE_UNSPECIFIED" | "CLIENT_SUBNET" | "BACKUP_SUBNET"; /** * Output only. State of the ODB Subnet. */ readonly state?: | "STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "TERMINATING" | "FAILED"; } /** * This resource represents a long-running operation that is the result of a * network API call. */ export interface 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; /** * The error result of the operation in case of failure or cancellation. */ error?: 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 }; /** * 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; /** * 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 }; } /** * Represents the metadata of the long-running operation. */ export interface OperationMetadata { /** * Output only. API version used to start the operation. */ readonly apiVersion?: string; /** * Output only. The time the operation was created. */ readonly createTime?: Date; /** * Output only. The time the operation finished running. */ readonly endTime?: Date; /** * Output only. An estimated percentage of the operation that has been * completed at a given moment of time, between 0 and 100. */ readonly percentComplete?: number; /** * 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`. */ readonly requestedCancellation?: boolean; /** * Output only. The status of the operation. */ readonly statusMessage?: string; /** * Output only. Server-defined resource path for the target of the operation. */ readonly target?: string; /** * Output only. Name of the verb executed by the operation. */ readonly verb?: string; } /** * The PluggableDatabase resource. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/PluggableDatabase/ */ export interface PluggableDatabase { /** * Output only. The date and time that the PluggableDatabase was created. */ readonly createTime?: Date; /** * Identifier. The name of the PluggableDatabase resource in the following * format: * projects/{project}/locations/{region}/pluggableDatabases/{pluggable_database} */ name?: string; /** * Output only. HTTPS link to OCI resources exposed to Customer via UI * Interface. */ readonly ociUrl?: string; /** * Optional. The properties of the PluggableDatabase. */ properties?: PluggableDatabaseProperties; } /** * The connection strings used to connect to the Oracle Database. */ export interface PluggableDatabaseConnectionStrings { /** * Optional. All connection strings to use to connect to the pluggable * database. */ allConnectionStrings?: { [key: string]: string }; /** * Optional. The default connection string to use to connect to the pluggable * database. */ pdbDefault?: string; /** * Optional. The default connection string to use to connect to the pluggable * database using IP. */ pdbIpDefault?: string; } /** * The Pluggable Database Node Level Details. */ export interface PluggableDatabaseNodeLevelDetails { /** * Required. The Node name of the Database home. */ nodeName?: string; /** * Required. The mode that the pluggable database is in to open it. */ openMode?: | "PLUGGABLE_DATABASE_OPEN_MODE_UNSPECIFIED" | "READ_ONLY" | "READ_WRITE" | "MOUNTED" | "MIGRATE"; /** * Required. The OCID of the Pluggable Database. */ pluggableDatabaseId?: string; } /** * The properties of a PluggableDatabase. */ export interface PluggableDatabaseProperties { /** * Required. The OCID of the compartment. */ compartmentId?: string; /** * Optional. The Connection strings used to connect to the Oracle Database. */ connectionStrings?: PluggableDatabaseConnectionStrings; /** * Required. The OCID of the CDB. */ containerDatabaseOcid?: string; /** * Output only. The configuration of the Database Management service. */ readonly databaseManagementConfig?: DatabaseManagementConfig; /** * Optional. Defined tags for this resource. Each key is predefined and * scoped to a namespace. */ definedTags?: { [key: string]: DefinedTagValue }; /** * 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 }; /** * 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; /** * Output only. Additional information about the current lifecycle state. */ readonly lifecycleDetails?: string; /** * Output only. The current state of the pluggable database. */ readonly lifecycleState?: | "PLUGGABLE_DATABASE_LIFECYCLE_STATE_UNSPECIFIED" | "PROVISIONING" | "AVAILABLE" | "TERMINATING" | "TERMINATED" | "UPDATING" | "FAILED" | "RELOCATING" | "RELOCATED" | "REFRESHING" | "RESTORE_IN_PROGRESS" | "RESTORE_FAILED" | "BACKUP_IN_PROGRESS" | "DISABLED"; /** * Output only. The OCID of the pluggable database. */ readonly ocid?: string; /** * Output only. The status of Operations Insights for this Database. */ readonly operationsInsightsState?: | "OPERATIONS_INSIGHTS_STATE_UNSPECIFIED" | "ENABLING" | "ENABLED" | "DISABLING" | "NOT_ENABLED" | "FAILED_ENABLING" | "FAILED_DISABLING"; /** * Required. The database name. */ pdbName?: string; /** * Optional. Pluggable Database Node Level Details */ pdbNodeLevelDetails?: PluggableDatabaseNodeLevelDetails[]; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDatabaseBackupsList. */ export interface ProjectsLocationsAutonomousDatabaseBackupsListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDatabaseCharacterSetsList. */ export interface ProjectsLocationsAutonomousDatabaseCharacterSetsListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDatabasesCreate. */ export interface ProjectsLocationsAutonomousDatabasesCreateOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDatabasesDelete. */ export interface ProjectsLocationsAutonomousDatabasesDeleteOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDatabasesList. */ export interface ProjectsLocationsAutonomousDatabasesListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDatabasesPatch. */ export interface ProjectsLocationsAutonomousDatabasesPatchOptions { /** * 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 /* FieldMask */; } function serializeProjectsLocationsAutonomousDatabasesPatchOptions(data: any): ProjectsLocationsAutonomousDatabasesPatchOptions { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeProjectsLocationsAutonomousDatabasesPatchOptions(data: any): ProjectsLocationsAutonomousDatabasesPatchOptions { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Additional options for * Oracledatabase#projectsLocationsAutonomousDbVersionsList. */ export interface ProjectsLocationsAutonomousDbVersionsListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudExadataInfrastructuresCreate. */ export interface ProjectsLocationsCloudExadataInfrastructuresCreateOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudExadataInfrastructuresDbServersList. */ export interface ProjectsLocationsCloudExadataInfrastructuresDbServersListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudExadataInfrastructuresDelete. */ export interface ProjectsLocationsCloudExadataInfrastructuresDeleteOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudExadataInfrastructuresList. */ export interface ProjectsLocationsCloudExadataInfrastructuresListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudVmClustersCreate. */ export interface ProjectsLocationsCloudVmClustersCreateOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudVmClustersDbNodesList. */ export interface ProjectsLocationsCloudVmClustersDbNodesListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsCloudVmClustersDelete. */ export interface ProjectsLocationsCloudVmClustersDeleteOptions { /** * 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; /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsCloudVmClustersList. */ export interface ProjectsLocationsCloudVmClustersListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsDatabaseCharacterSetsList. */ export interface ProjectsLocationsDatabaseCharacterSetsListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsDatabasesList. */ export interface ProjectsLocationsDatabasesListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsDbSystemInitialStorageSizesList. */ export interface ProjectsLocationsDbSystemInitialStorageSizesListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsDbSystemsCreate. */ export interface ProjectsLocationsDbSystemsCreateOptions { /** * 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; /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsDbSystemsDelete. */ export interface ProjectsLocationsDbSystemsDeleteOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsDbSystemShapesList. */ export interface ProjectsLocationsDbSystemShapesListOptions { /** * Optional. An expression for filtering the results of the request. Only the * gcp_oracle_zone_id field is supported in this format: * `gcp_oracle_zone_id="{gcp_oracle_zone_id}"`. */ 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; } /** * Additional options for Oracledatabase#projectsLocationsDbSystemsList. */ export interface ProjectsLocationsDbSystemsListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsDbVersionsList. */ export interface ProjectsLocationsDbVersionsListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsEntitlementsList. */ export interface ProjectsLocationsEntitlementsListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsExadbVmClustersCreate. */ export interface ProjectsLocationsExadbVmClustersCreateOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsExadbVmClustersDbNodesList. */ export interface ProjectsLocationsExadbVmClustersDbNodesListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsExadbVmClustersDelete. */ export interface ProjectsLocationsExadbVmClustersDeleteOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsExadbVmClustersList. */ export interface ProjectsLocationsExadbVmClustersListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsExadbVmClustersPatch. */ export interface ProjectsLocationsExadbVmClustersPatchOptions { /** * 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 /* FieldMask */; } function serializeProjectsLocationsExadbVmClustersPatchOptions(data: any): ProjectsLocationsExadbVmClustersPatchOptions { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeProjectsLocationsExadbVmClustersPatchOptions(data: any): ProjectsLocationsExadbVmClustersPatchOptions { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Additional options for * Oracledatabase#projectsLocationsExascaleDbStorageVaultsCreate. */ export interface ProjectsLocationsExascaleDbStorageVaultsCreateOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsExascaleDbStorageVaultsDelete. */ export interface ProjectsLocationsExascaleDbStorageVaultsDeleteOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsExascaleDbStorageVaultsList. */ export interface ProjectsLocationsExascaleDbStorageVaultsListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsGiVersionsList. */ export interface ProjectsLocationsGiVersionsListOptions { /** * Optional. An expression for filtering the results of the request. Only the * shape, gcp_oracle_zone and gi_version fields are supported in this format: * `shape="{shape}"`. */ 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; } /** * Additional options for * Oracledatabase#projectsLocationsGiVersionsMinorVersionsList. */ export interface ProjectsLocationsGiVersionsMinorVersionsListOptions { /** * Optional. An expression for filtering the results of the request. Only * shapeFamily and gcp_oracle_zone_id are supported in this format: * `shape_family="{shapeFamily}" 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; } /** * Additional options for Oracledatabase#projectsLocationsList. */ export interface ProjectsLocationsListOptions { /** * Optional. Do not use this field. It is unsupported and is ignored 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 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; } /** * Additional options for Oracledatabase#projectsLocationsOdbNetworksCreate. */ export interface ProjectsLocationsOdbNetworksCreateOptions { /** * 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; /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsOdbNetworksDelete. */ export interface ProjectsLocationsOdbNetworksDeleteOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsOdbNetworksList. */ export interface ProjectsLocationsOdbNetworksListOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsOdbNetworksOdbSubnetsCreate. */ export interface ProjectsLocationsOdbNetworksOdbSubnetsCreateOptions { /** * 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; /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsOdbNetworksOdbSubnetsDelete. */ export interface ProjectsLocationsOdbNetworksOdbSubnetsDeleteOptions { /** * 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; } /** * Additional options for * Oracledatabase#projectsLocationsOdbNetworksOdbSubnetsList. */ export interface ProjectsLocationsOdbNetworksOdbSubnetsListOptions { /** * 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; } /** * Additional options for Oracledatabase#projectsLocationsOperationsList. */ export interface ProjectsLocationsOperationsListOptions { /** * The standard list filter. */ filter?: 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; } /** * Additional options for * Oracledatabase#projectsLocationsPluggableDatabasesList. */ export interface ProjectsLocationsPluggableDatabasesListOptions { /** * 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; } /** * The request for `ExadbVmCluster.RemoveVirtualMachine`. */ export interface RemoveVirtualMachineExadbVmClusterRequest { /** * Required. The list of host names of db nodes to be removed from the * ExadbVmCluster. */ hostnames?: 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; } /** * The request for `AutonomousDatabase.Restart`. */ export interface RestartAutonomousDatabaseRequest { } /** * The request for `AutonomousDatabase.Restore`. */ export interface RestoreAutonomousDatabaseRequest { /** * Required. The time and date to restore the database to. */ restoreTime?: Date; } function serializeRestoreAutonomousDatabaseRequest(data: any): RestoreAutonomousDatabaseRequest { return { ...data, restoreTime: data["restoreTime"] !== undefined ? data["restoreTime"].toISOString() : undefined, }; } function deserializeRestoreAutonomousDatabaseRequest(data: any): RestoreAutonomousDatabaseRequest { return { ...data, restoreTime: data["restoreTime"] !== undefined ? new Date(data["restoreTime"]) : undefined, }; } /** * Details of scheduled operation. * https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/ScheduledOperationDetails */ export interface ScheduledOperationDetails { /** * Output only. Day of week. */ readonly dayOfWeek?: | "DAY_OF_WEEK_UNSPECIFIED" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; /** * Output only. Auto start time. */ readonly startTime?: TimeOfDay; /** * Output only. Auto stop time. */ readonly stopTime?: TimeOfDay; } /** * The source configuration for the standby Autonomous Database. */ export interface SourceConfig { /** * Optional. This field specifies if the replication of automatic backups is * enabled when creating a Data Guard. */ automaticBackupsReplicationEnabled?: boolean; /** * Optional. The name of the primary Autonomous Database that is used to * create a Peer Autonomous Database from a source. */ autonomousDatabase?: string; } /** * The request for `AutonomousDatabase.Start`. */ export interface StartAutonomousDatabaseRequest { } /** * 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 Status { /** * The status code, which should be an enum value of google.rpc.Code. */ code?: number; /** * A list of messages that carry the error details. There is a common set of * message types for APIs to use. */ details?: { [key: string]: any }[]; /** * 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; } /** * The request for `AutonomousDatabase.Stop`. */ export interface StopAutonomousDatabaseRequest { } /** * The initial storage size, in gigabytes, that is applicable for virtual * machine DBSystem. */ export interface StorageSizeDetails { /** * Output only. The data storage size, in gigabytes, that is applicable for * virtual machine DBSystem. */ readonly dataStorageSizeInGbs?: number; /** * Output only. The RECO/REDO storage size, in gigabytes, that is applicable * for virtual machine DBSystem. */ readonly recoStorageSizeInGbs?: number; } /** * The request for `OracleDatabase.SwitchoverAutonomousDatabase`. */ export interface 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; } /** * 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 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; /** * Minutes of an hour. Must be greater than or equal to 0 and less than or * equal to 59. */ minutes?: number; /** * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 * and less than or equal to 999,999,999. */ nanos?: number; /** * 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; } /** * Represents a time zone from the [IANA Time Zone * Database](https://www.iana.org/time-zones). */ export interface TimeZone { /** * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string; /** * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string; }