@@ -66,6 +66,7 @@ public class Region {
6666 private static final Map <String , Region > OC26_REGIONS = new HashMap <>();
6767 private static final Map <String , Region > OC27_REGIONS = new HashMap <>();
6868 private static final Map <String , Region > OC28_REGIONS = new HashMap <>();
69+ private static final Map <String , Region > OC31_REGIONS = new HashMap <>();
6970
7071 /* OC1 */
7172 /** JNB */
@@ -259,6 +260,10 @@ public class Region {
259260 /** DRS */
260261 public static final Region US_DCC_SWJORDAN_2 = new Region ("us-dcc-swjordan-2" );
261262
263+ /* OC31 */
264+ /** IZQ */
265+ public static final Region AP_HOBSONVILLE_1 = new Region ("ap-hobsonville-1" );
266+
262267 static {
263268 /* OC1 */
264269 /* AF */
@@ -386,6 +391,9 @@ public class Region {
386391
387392 /* OC28 */
388393 OC28_REGIONS .put (US_DCC_SWJORDAN_2 .getRegionId (), US_DCC_SWJORDAN_2 );
394+
395+ /* OC31 */
396+ OC31_REGIONS .put (AP_HOBSONVILLE_1 .getRegionId (), AP_HOBSONVILLE_1 );
389397 }
390398
391399 private final static MessageFormat OC1_EP_BASE = new MessageFormat (
@@ -428,6 +436,8 @@ public class Region {
428436 "https://nosql.{0}.oci.oraclecloud27.com" );
429437 private final static MessageFormat OC28_EP_BASE = new MessageFormat (
430438 "https://nosql.{0}.oci.oraclecloud28.com" );
439+ private final static MessageFormat OC31_EP_BASE = new MessageFormat (
440+ "https://nosql.{0}.oci.sovereigncloud.nz" );
431441
432442 private String regionId ;
433443
@@ -500,6 +510,9 @@ public String endpoint() {
500510 if (isOC28Region (regionId )) {
501511 return OC28_EP_BASE .format (new Object [] { regionId });
502512 }
513+ if (isOC31Region (regionId )) {
514+ return OC31_EP_BASE .format (new Object [] { regionId });
515+ }
503516 throw new IllegalArgumentException (
504517 "Unable to find endpoint for unknown region" + regionId );
505518 }
@@ -575,6 +588,9 @@ public static Region fromRegionId(String regionId) {
575588 if (region == null ) {
576589 region = OC28_REGIONS .get (regionId );
577590 }
591+ if (region == null ) {
592+ region = OC31_REGIONS .get (regionId );
593+ }
578594
579595 return region ;
580596 }
@@ -788,6 +804,16 @@ public static boolean isOC28Region(String regionId) {
788804 return (OC28_REGIONS .get (regionId ) != null );
789805 }
790806
807+ /**
808+ * @hidden
809+ * Internal use only
810+ * @param regionId the region id
811+ * @return the value
812+ */
813+ public static boolean isOC31Region (String regionId ) {
814+ return (OC31_REGIONS .get (regionId ) != null );
815+ }
816+
791817 /**
792818 * @hidden
793819 * Internal use only
0 commit comments