oracle-nosqldb
Version:
Node.js driver for Oracle NoSQL Database
558 lines (469 loc) • 13.6 kB
JavaScript
/*-
* Copyright (c) 2018, 2024 Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Universal Permissive License v 1.0 as shown at
* https://oss.oracle.com/licenses/upl/
*/
'use strict';
const Enum = require('./constants').Enum;
const Realms = {
OC1: {
realmId: 'oc1',
secondLevelDomain: 'oraclecloud.com'
},
OC2: {
realmId: 'oc2',
secondLevelDomain: 'oraclegovcloud.com'
},
OC3: {
realmId: 'oc3',
secondLevelDomain: 'oraclegovcloud.com'
},
OC4: {
realmId: 'oc4',
secondLevelDomain: 'oraclegovcloud.uk'
},
OC5: {
realmId: 'oc5',
secondLevelDomain: 'oraclecloud5.com'
},
OC8: {
realmId: 'oc8',
secondLevelDomain: 'oraclecloud8.com'
},
OC9: {
realmId: 'oc9',
secondLevelDomain: 'oraclecloud9.com'
},
OC10: {
realmId: 'oc10',
secondLevelDomain: 'oraclecloud10.com'
},
OC14: {
realmId: 'oc14',
secondLevelDomain: 'oraclecloud14.com'
},
OC15: {
realmId: 'oc15',
secondLevelDomain: 'oraclecloud15.com'
},
OC16: {
realmId: 'oc16',
secondLevelDomain: 'oraclecloud16.com'
},
OC17: {
realmId: 'oc17',
secondLevelDomain: 'oraclecloud17.com'
},
OC19: {
realmId: 'oc19',
secondLevelDomain: 'oraclecloud.eu'
},
OC20: {
realmId: 'oc20',
secondLevelDomain: 'oraclecloud20.com'
},
OC21: {
realmId: 'oc21',
secondLevelDomain: 'oraclecloud21.com'
},
OC22: {
realmId: 'oc22',
secondLevelDomain: 'psn-pco.it'
},
OC24: {
realmId: 'oc24',
secondLevelDomain: 'oraclecloud24.com'
},
OC25: {
realmId: 'oc25',
secondLevelDomain: 'nricloud.jp'
},
OC26: {
realmId: 'oc26',
secondLevelDomain: 'oraclecloud26.com'
},
OC27: {
realmId: 'oc27',
secondLevelDomain: 'oraclecloud27.com'
},
OC28: {
realmId: 'oc28',
secondLevelDomain: 'oraclecloud28.com'
},
OC31: {
realmId: 'oc31',
secondLevelDomain: 'sovereigncloud.nz'
}
};
/**
* Cloud service only.
* <p>
* This enumeration lists all regions available for Oracle NoSQL Database
* Cloud Service.
* [This page]{@link https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm}
* provides information about Oracle Cloud Infrastracture regions,
* availability domains and realms.
* <p>
* You may use {@link Region} to provide the service endpoint by specifying
* {@link Config}#region instead of {@link Config}#endpoint. The endpoint will
* be inferred from the region. Use of a {@link Region} instance is preferred
* to an endpoint.
* <p>
* The string-based endpoints associated with regions for the Oracle NoSQL
* Database Cloud Service are of the format
* <pre> https://nosql.{region}.oci.{secondLevelDomain} </pre>
* Examples of known second level domains include:
* <ul>
* <li>oraclecloud.com</li>
* <li>oraclegovcloud.com</li>
* <li>oraclegovcloud.uk</li>
* </ul>
* For example, this is a valid endpoint for the Oracle NoSQL Database Cloud
* Service in the U.S. East region
* <pre> nosql.us-ashburn-1.oci.oraclecloud.com </pre>
* If the Oracle NoSQL Database Cloud Service becomes available in a region
* not listed here it is possible to connect to that region by setting
* {@link Config}#endpoint to the endpoint string.
*
* @extends Enum
* @hideconstructor
*
* @see {@link Config}
*/
class Region extends Enum {
constructor(regionId, regionCode, realm) {
super();
this._regionId = regionId;
this._regionCode = regionCode;
this._realm = realm;
}
//currently only called by Config._init()
static fromRegionId(regionId) {
return Region[regionId.replace(/-/g, '_').toUpperCase()];
}
static fromRegionCodeOrId(regionCodeOrId) {
const res = Region.find(r =>
r._regionCode === regionCodeOrId.toLowerCase());
return res != null ? res : Region.fromRegionId(regionCodeOrId);
}
get regionId() {
return this._regionId;
}
get regionCode() {
return this._regionCode;
}
get secondLevelDomain() {
return this._realm.secondLevelDomain;
}
/**
* NoSQL service endpoint for this region.
* @type {string}
* @readonly
*/
get endpoint() {
return `https://nosql.${this._regionId}.oci.${this._realm.secondLevelDomain}`;
}
toString() {
return this._regionId;
}
}
/**
* Realm: OC1, South Africa (Johannesburg)
*/
Region.AF_JOHANNESBURG_1 = new Region('af-johannesburg-1', 'jnb', Realms.OC1);
/**
* Realm: OC1, South Korea Central (Seoul)
*/
Region.AP_SEOUL_1 = new Region('ap-seoul-1', 'icn', Realms.OC1);
/**
* Realm: OC1, Singapore (Singapore)
*/
Region.AP_SINGAPORE_1 = new Region('ap-singapore-1', 'sin', Realms.OC1);
/**
* Realm: OC1, Singapore2 (Singapore)
*/
Region.AP_SINGAPORE_2 = new Region('ap-singapore-2', 'xsp', Realms.OC1);
/**
* Realm: OC1, Japan East (Tokyo)
*/
Region.AP_TOKYO_1 = new Region('ap-tokyo-1', 'nrt', Realms.OC1);
/**
* Realm: OC1, India West (Mumbai)
*/
Region.AP_MUMBAI_1 = new Region('ap-mumbai-1', 'bom', Realms.OC1);
/**
* Realm: OC1, Australia East (Sydney)
*/
Region.AP_SYDNEY_1 = new Region('ap-sydney-1', 'syd', Realms.OC1);
/**
* Realm: OC1, Australia Southeast (Melbourne)
*/
Region.AP_MELBOURNE_1 = new Region('ap-melbourne-1', 'mel', Realms.OC1);
/**
* Realm: OC1, Japan Central (Osaka)
*/
Region.AP_OSAKA_1 = new Region('ap-osaka-1', 'kix', Realms.OC1);
/**
* Realm: OC1, India South (Hyderabad)
*/
Region.AP_HYDERABAD_1 = new Region('ap-hyderabad-1', 'hyd', Realms.OC1);
/**
* Realm: OC1, South Korea North (Chuncheon)
*/
Region.AP_CHUNCHEON_1 = new Region('ap-chuncheon-1', 'yny', Realms.OC1);
/**
* Realm: OC1, UK South (London)
*/
Region.UK_LONDON_1 = new Region('uk-london-1', 'lhr', Realms.OC1);
/**
* Realm: OC1, Germany Central (Frankfurt)
*/
Region.EU_FRANKFURT_1 = new Region('eu-frankfurt-1', 'fra', Realms.OC1);
/**
* Realm: OC1, Switzerland North (Zurich)
*/
Region.EU_ZURICH_1 = new Region('eu-zurich-1', 'zrh', Realms.OC1);
/**
* Realm: OC1, Netherlands Northwest (Amsterdam)
*/
Region.EU_AMSTERDAM_1 = new Region('eu-amsterdam-1', 'ams', Realms.OC1);
/**
* Realm: OC1, Spain (Madrid)
*/
Region.EU_MADRID_1 = new Region('eu-madrid-1', 'mad', Realms.OC1);
/**
* Realm: OC1, France (Marseille)
*/
Region.EU_MARSEILLE_1 = new Region('eu-marseille-1', 'mrs', Realms.OC1);
/**
* Realm: OC1, Italy (Milan)
*/
Region.EU_MILAN_1 = new Region('eu-milan-1', 'lin', Realms.OC1);
/**
* Realm: OC1, France (Paris)
*/
Region.EU_PARIS_1 = new Region('eu-paris-1', 'cdg', Realms.OC1);
/**
* Realm: OC1, Sweden (Stockholm)
*/
Region.EU_STOCKHOLM_1 = new Region('eu-stockholm-1', 'arn', Realms.OC1);
/**
* Realm: OC1, Saudi Arabia West (Jeddah)
*/
Region.ME_JEDDAH_1 = new Region('me-jeddah-1', 'jed', Realms.OC1);
/**
* Realm: OC1, UAE (Abu Dhabi)
*/
Region.ME_ABUDHABI_1 = new Region('me-abudhabi-1', 'auh', Realms.OC1);
/**
* Realm: OC1, UAE East (Dubai)
*/
Region.ME_DUBAI_1 = new Region('me-dubai-1', 'dxb', Realms.OC1);
/**
* Realm: OC1, Mexico (Queretaro)
*/
Region.MX_QUERETARO_1 = new Region('mx-queretaro-1', 'qro', Realms.OC1);
/**
* Realm: OC1, Mexico (Monterrey)
*/
Region.MX_MONTERREY_1 = new Region('mx-monterrey-1', 'mty', Realms.OC1);
/**
* Realm: OC1, Israel (Jerusalem)
*/
Region.IL_JERUSALEM_1 = new Region('il-jerusalem-1', 'mtz', Realms.OC1);
/**
* Realm: OC1, UK West (Newport)
*/
Region.UK_CARDIFF_1 = new Region('uk-cardiff-1', 'cwl', Realms.OC1);
/**
* Realm: OC1, US East (Ashburn)
*/
Region.US_ASHBURN_1 = new Region('us-ashburn-1', 'iad', Realms.OC1);
/**
* Realm: OC1, US West (Phoenix)
*/
Region.US_PHOENIX_1 = new Region('us-phoenix-1', 'phx', Realms.OC1);
/**
* Realm: OC1, US West (San Jose)
*/
Region.US_SANJOSE_1 = new Region('us-sanjose-1', 'sjc', Realms.OC1);
/**
* Realm: OC1, US Central (Chicago)
*/
Region.US_CHICAGO_1 = new Region('us-chicago-1', 'ord', Realms.OC1);
/**
* Realm: OC1, US West (Salt Lake)
*/
Region.US_SALTLAKE_2 = new Region('us-saltlake-2', 'aga', Realms.OC1);
/**
* Realm: OC1, Canada Southeast (Toronto)
*/
Region.CA_TORONTO_1 = new Region('ca-toronto-1', 'yyz', Realms.OC1);
/**
* Realm: OC1, Canada Southeast (Montreal)
*/
Region.CA_MONTREAL_1 = new Region('ca-montreal-1', 'yul', Realms.OC1);
/**
* Realm: OC1, Colombia (Bogota)
*/
Region.SA_BOGOTA_1 = new Region('sa-bogota-1', 'bog', Realms.OC1);
/**
* Realm: OC1, Brazil East (Sao Paulo)
*/
Region.SA_SAOPAULO_1 = new Region('sa-saopaulo-1', 'gru', Realms.OC1);
/**
* Realm: OC1, Chile (Santiago)
*/
Region.SA_SANTIAGO_1 = new Region('sa-santiago-1', 'scl', Realms.OC1);
/**
* Realm: OC1, Chile (Valparaiso)
*/
Region.SA_VALPARAISO_1 = new Region('sa-valparaiso-1', 'vap', Realms.OC1);
/**
* Realm: OC1, Brazil (Vinhedo)
*/
Region.SA_VINHEDO_1 = new Region('sa-vinhedo-1', 'vcp', Realms.OC1);
/**
* Realm: OC2, US Gov East (Ashburn)
*/
Region.US_LANGLEY_1 = new Region('us-langley-1', 'lfi', Realms.OC2);
/**
* Realm: OC2, US Gov West (Phoenix)
*/
Region.US_LUKE_1 = new Region('us-luke-1', 'luf', Realms.OC2);
/**
* Realm: OC3, US DoD East (Ashburn)
*/
Region.US_GOV_ASHBURN_1 = new Region('us-gov-ashburn-1', 'ric', Realms.OC3);
/**
* Realm: OC3, US DoD North (Chicago)
*/
Region.US_GOV_CHICAGO_1 = new Region('us-gov-chicago-1', 'pia', Realms.OC3);
/**
* Realm: OC3, US DoD West (Phoenix)
*/
Region.US_GOV_PHOENIX_1 = new Region('us-gov-phoenix-1', 'tus', Realms.OC3);
/**
* Realm: OC4, UK Gov South (London)
*/
Region.UK_GOV_LONDON_1 = new Region('uk-gov-london-1', 'ltn', Realms.OC4);
/**
* Realm: OC4, UK Gov West (Cardiff)
*/
Region.UK_GOV_CARDIFF_1 = new Region('uk-gov-cardiff-1', 'brs', Realms.OC4);
/**
* Realm: OC5, US West (Tacoma)
*/
Region.US_TACOMA_1 = new Region('us-tacoma-1', 'tiw', Realms.OC5);
/**
* Realm: OC8, Japan East (Chiyoda)
*/
Region.AP_CHIYODA_1 = new Region('ap-chiyoda-1', 'nja', Realms.OC8);
/**
* Realm: OC8, Japan East (Ibaraki)
* Note: OCI uses "ukb" instead of "ibr"
*/
Region.AP_IBARAKI_1 = new Region('ap-ibaraki-1', 'ukb', Realms.OC8);
/**
* Realm: OC9, Muscat (Dedicated DataCenter)
*/
Region.ME_DCC_MUSCAT_1 = new Region('me-dcc-muscat-1', 'mct', Realms.OC9);
/**
* Realm: OC10, Canberra (Dedicated DataCenter)
*/
Region.AP_DCC_CANBERRA_1 = new Region('ap-dcc-canberra-1', 'wga', Realms.OC10);
/**
* Realm: OC14, Milan 1 (Dedicated DataCenter)
*/
Region.EU_DCC_MILAN_1 = new Region('eu-dcc-milan-1', 'bgy', Realms.OC14);
/**
* Realm: OC14, Milan 2 (Dedicated DataCenter)
*/
Region.EU_DCC_MILAN_2 = new Region('eu-dcc-milan-2', 'mxp', Realms.OC14);
/**
* Realm: OC14, Dublin 1 (Dedicated DataCenter)
*/
Region.EU_DCC_DUBLIN_1 = new Region('eu-dcc-dublin-1', 'ork', Realms.OC14);
/**
* Realm: OC14, Dublin 2 (Dedicated DataCenter)
*/
Region.EU_DCC_DUBLIN_2 = new Region('eu-dcc-dublin-2', 'snn', Realms.OC14);
/**
* Realm: OC14, Rating 1 (Dedicated DataCenter)
*/
Region.EU_DCC_RATING_1 = new Region('eu-dcc-rating-1', 'dus', Realms.OC14);
/**
* Realm: OC14, Rating 2 (Dedicated DataCenter)
*/
Region.EU_DCC_RATING_2 = new Region('eu-dcc-rating-2', 'dtm', Realms.OC14);
/**
* Realm: OC15, Bangladesh
*/
Region.AP_DCC_GAZIPUR_1 = new Region('ap-dcc-gazipur-1', 'dac', Realms.OC15);
/**
* Realm: OC16, Utah
*/
Region.US_WESTJORDAN_1 = new Region('us-westjordan-1', 'sgu', Realms.OC16);
/**
* Realm: OC17, Phoenix 1 (Dedicated DataCenter)
*/
Region.US_DCC_PHOENIX_1 = new Region('us-dcc-phoenix-1', 'ifp', Realms.OC17);
/**
* Realm: OC17, Phoenix 2 (Dedicated DataCenter)
*/
Region.US_DCC_PHOENIX_2 = new Region('us-dcc-phoenix-2', 'gcn', Realms.OC17);
/**
* Realm: OC17, Phoenix 4 (Dedicated DataCenter)
*/
Region.US_DCC_PHOENIX_4 = new Region('us-dcc-phoenix-4', 'yum', Realms.OC17);
/**
* Realm: OC19, Frankfurt Germany
*/
Region.EU_FRANKFURT_2 = new Region('eu-frankfurt-2', 'str', Realms.OC19);
/**
* Realm: OC19, Madrid Spain
*/
Region.EU_MADRID_2 = new Region('eu-madrid-2', 'vll', Realms.OC19);
/**
* Realm: OC20, Jovanovac (Serbia)
*/
Region.EU_JOVANOVAC_1 = new Region('eu-jovanovac-1', 'beg', Realms.OC20);
/**
* Realm: OC21, Doha (Qatar)
*/
Region.ME_DCC_DOHA_1 = new Region('me-dcc-doha-1', 'doh', Realms.OC21);
/**
* Realm: OC22, Italy dedicated (Rome)
*/
Region.EU_DCC_ROME_1 = new Region('eu-dcc-rome-1', 'nap', Realms.OC22);
/**
* Realm: OC24, Switzerland dedicated (Zurich)
*/
Region.EU_DCC_ZURICH_1 = new Region('eu-dcc-zurich-1', 'avz', Realms.OC24);
/**
* Realm: OC25, Japan dedicated (Tokyo)
*/
Region.AP_DCC_TOKYO_1 = new Region('ap-dcc-tokyo-1', 'tyo', Realms.OC25);
/**
* Realm: OC25, Japan dedicated (Osaka)
*/
Region.AP_DCC_OSAKA_1 = new Region('ap-dcc-osaka-1', 'uky', Realms.OC25);
/**
* Realm: OC26, Abudhabi
*/
Region.ME_ABUDHABI_3 = new Region('me-abudhabi-3', 'ahu', Realms.OC26);
/**
* Realm: OC27, SWJordan dedicated (Utah USA)
*/
Region.US_DCC_SWJORDAN_1 = new Region('us-dcc-swjordan-1', 'ozz', Realms.OC27);
/**
* Realm: OC28, SWJordan dedicated (Utah USA)
*/
Region.US_DCC_SWJORDAN_2 = new Region('us-dcc-swjordan-2', 'drs', Realms.OC28);
/**
* Realm: OC31, Hobsonville dedicated (New Zealand)
*/
Region.AP_HOBSONVILLE_1 = new Region('ap-hobsonville-1', 'izq', Realms.OC31);
Region.seal();
module.exports = Region;