diff --git a/CHANGELOG.md b/CHANGELOG.md index 77f29468559..78a722541a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,19 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ### Added - N/A +## 1.2.38 - 2018-05-17 + +### Fixed +- Allow deserializing multiple query params +- Updated `GetInstancePublicIpExample` to now account for public IPs that may be associated with secondary private IP addresses + +### Added +- Support for launching a database system from a backup in the Database service +- Support for backup or clone of multiple volumes at once using volume groups in the Block Storage service +- Support for the ability to optionally specify a compartment filter when listing exports in the File Storage service +- Support for tagging virtual cloud network resources in the Networking service +- Support for specifying the `PARAVIRTUALIZED` remote volume type when creating a virtual image or launching a new instance in the Compute service + ## 1.2.37 - 2018-05-03 ### Fixed @@ -22,6 +35,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ### Added - Support for returning names for events in the Audit service - Support for multiple hostnames per listener in the Load Balancing service +- Support waiting on multiple target states in `Waiter` ## 1.2.35 - 2018-04-19 @@ -32,7 +46,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ### Added - Support for tagging DbSystem and Database resources in the Database Service - Support for filtering by `dbSystemId` in `listDbVersions` operation in Database Service -- Support waiting on multiple target states in `Waiter` ## 1.2.34 - 2018-04-05 diff --git a/bmc-audit/pom.xml b/bmc-audit/pom.xml index 34af9a3248c..084f8588884 100644 --- a/bmc-audit/pom.xml +++ b/bmc-audit/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-bom/pom.xml b/bmc-bom/pom.xml index d3daf395c06..a3b3cffb95a 100644 --- a/bmc-bom/pom.xml +++ b/bmc-bom/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml oci-java-sdk-bom @@ -19,62 +19,62 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-audit - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-core - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-database - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-dns - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-email - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-filestorage - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-identity - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-loadbalancer - 1.2.37 + 1.2.38 false com.oracle.oci.sdk oci-java-sdk-objectstorage - 1.2.37 + 1.2.38 false pom diff --git a/bmc-common/pom.xml b/bmc-common/pom.xml index ab20124a54e..cdbe2e47486 100644 --- a/bmc-common/pom.xml +++ b/bmc-common/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/exception/InstancePrincipalUnavailableException.java b/bmc-common/src/main/java/com/oracle/bmc/auth/exception/InstancePrincipalUnavailableException.java new file mode 100644 index 00000000000..3ca36b50698 --- /dev/null +++ b/bmc-common/src/main/java/com/oracle/bmc/auth/exception/InstancePrincipalUnavailableException.java @@ -0,0 +1,17 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.auth.exception; + +/** + * Failed to fetch Instance Principal cert from the Instance Metadata Service. + */ +public class InstancePrincipalUnavailableException extends IllegalArgumentException { + public InstancePrincipalUnavailableException(String message, Exception cause) { + super(message, cause); + } + + public InstancePrincipalUnavailableException(String message) { + super(message); + } +} diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/internal/AuthUtils.java b/bmc-common/src/main/java/com/oracle/bmc/auth/internal/AuthUtils.java index a26de7bef51..49edad3f86c 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/auth/internal/AuthUtils.java +++ b/bmc-common/src/main/java/com/oracle/bmc/auth/internal/AuthUtils.java @@ -18,6 +18,7 @@ import java.security.interfaces.RSAPublicKey; import java.security.spec.RSAPublicKeySpec; +import com.oracle.bmc.auth.exception.InstancePrincipalUnavailableException; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.bouncycastle.asn1.x500.AttributeTypeAndValue; @@ -223,9 +224,11 @@ public static String getTenantIdFromCertificate(X509Certificate certificate) { } } } catch (CertificateEncodingException ex) { - throw new IllegalArgumentException("The certificate is not valid one.", ex); + throw new InstancePrincipalUnavailableException( + "The certificate is not valid one.", ex); } - throw new IllegalArgumentException("The certificate does not contain tenant id."); + throw new InstancePrincipalUnavailableException( + "The certificate does not contain tenant id."); } } diff --git a/bmc-common/src/main/java/com/oracle/bmc/util/internal/HttpUtils.java b/bmc-common/src/main/java/com/oracle/bmc/util/internal/HttpUtils.java index 33e9c10c37e..0b26d80e2c1 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/util/internal/HttpUtils.java +++ b/bmc-common/src/main/java/com/oracle/bmc/util/internal/HttpUtils.java @@ -215,9 +215,9 @@ public static WrappedWebTarget encodeCollectionFormatQueryParam( queryParamName, attemptEncodeQueryParam(StringUtils.join(valuesToUse, '\t'))); } else if (collectionFormatType == CollectionFormatType.Multi) { - final List encodedValuesToUse = new ArrayList<>(); - for (Object v : valuesToUse) { - encodedValuesToUse.add(attemptEncodeQueryParam(v)); + final Object[] encodedValuesToUse = new Object[valuesToUse.size()]; + for (int i = 0; i < valuesToUse.size(); i++) { + encodedValuesToUse[i] = attemptEncodeQueryParam(valuesToUse.get(i)); } target = target.queryParam(queryParamName, encodedValuesToUse); } else { diff --git a/bmc-common/src/test/java/com/oracle/bmc/util/internal/HttpUtilsTest.java b/bmc-common/src/test/java/com/oracle/bmc/util/internal/HttpUtilsTest.java index 263372d62ef..4428ebe2ab9 100644 --- a/bmc-common/src/test/java/com/oracle/bmc/util/internal/HttpUtilsTest.java +++ b/bmc-common/src/test/java/com/oracle/bmc/util/internal/HttpUtilsTest.java @@ -228,13 +228,7 @@ public void encodeCollectionFormatQueryParam_singleElementList() { WrappedWebTarget result = HttpUtils.encodeCollectionFormatQueryParam(wrapped, "unitTest", values, cft); - if (cft == CollectionFormatType.Multi) { - final List expected = new ArrayList<>(); - expected.add("single"); - verify(target).queryParam("unitTest", expected); - } else { - verify(target).queryParam("unitTest", "single"); - } + verify(target).queryParam("unitTest", "single"); } } @@ -260,10 +254,7 @@ public void encodeCollectionFormatQueryParam_multipleElementList() { } else if (cft == CollectionFormatType.TabSeparated) { verify(target).queryParam("unitTest", "number1%09number2"); } else if (cft == CollectionFormatType.Multi) { - final List expected = new ArrayList<>(); - expected.add("number1"); - expected.add("number2"); - verify(target).queryParam("unitTest", expected); + verify(target).queryParam("unitTest", "number1", "number2"); } else { fail("Unrecognized CollectionFormatType: " + cft.toString()); } @@ -292,10 +283,7 @@ public void encodeCollectionFormatQueryParam_enumListMembers() { } else if (cft == CollectionFormatType.TabSeparated) { verify(target).queryParam("unitTest", "PROVISIONING%09STOPPING"); } else if (cft == CollectionFormatType.Multi) { - final List expected = new ArrayList<>(); - expected.add("PROVISIONING"); - expected.add("STOPPING"); - verify(target).queryParam("unitTest", expected); + verify(target).queryParam("unitTest", "PROVISIONING", "STOPPING"); } else { fail("Unrecognized CollectionFormatType: " + cft.toString()); } @@ -324,9 +312,7 @@ public void encodeCollectionFormatQueryParam_nullMembersIgnored() { } else if (cft == CollectionFormatType.TabSeparated) { verify(target).queryParam("unitTest", "RUNNING"); } else if (cft == CollectionFormatType.Multi) { - final List expected = new ArrayList<>(); - expected.add("RUNNING"); - verify(target).queryParam("unitTest", expected); + verify(target).queryParam("unitTest", "RUNNING"); } else { fail("Unrecognized CollectionFormatType: " + cft.toString()); } diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml index 2a4b85a2723..22d3427a247 100644 --- a/bmc-core/pom.xml +++ b/bmc-core/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/Blockstorage.java b/bmc-core/src/main/java/com/oracle/bmc/core/Blockstorage.java index 78639773c66..806645828ab 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/Blockstorage.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/Blockstorage.java @@ -84,6 +84,28 @@ public interface Blockstorage extends AutoCloseable { CreateVolumeBackupPolicyAssignmentResponse createVolumeBackupPolicyAssignment( CreateVolumeBackupPolicyAssignmentRequest request); + /** + * Creates a new volume group in the specified compartment. A volume group can have at most 20 block volumes. + * A volume group is a collection of volumes and may be created from a list of volumes, cloning an existing + * volume group or by restoring a volume group backup. + * You may optionally specify a *display name* for the volume group, which is simply a friendly name or + * description. It does not have to be unique, and you can change it. Avoid entering confidential information. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + CreateVolumeGroupResponse createVolumeGroup(CreateVolumeGroupRequest request); + + /** + * Creates a new group backup of the specified volume group. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + CreateVolumeGroupBackupResponse createVolumeGroupBackup(CreateVolumeGroupBackupRequest request); + /** * Deletes the specified boot volume. The volume cannot have an active connection to an instance. * To disconnect the boot volume from a connected instance, see @@ -125,6 +147,23 @@ CreateVolumeBackupPolicyAssignmentResponse createVolumeBackupPolicyAssignment( DeleteVolumeBackupPolicyAssignmentResponse deleteVolumeBackupPolicyAssignment( DeleteVolumeBackupPolicyAssignmentRequest request); + /** + * Deletes the specified volume group. This will NOT delete data volumes. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + DeleteVolumeGroupResponse deleteVolumeGroup(DeleteVolumeGroupRequest request); + + /** + * Deletes a volume group backup. This will NOT delete backups within the volume group backup. + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + DeleteVolumeGroupBackupResponse deleteVolumeGroupBackup(DeleteVolumeGroupBackupRequest request); + /** * Gets information for the specified boot volume. * @param request The request object containing the details to send @@ -178,6 +217,22 @@ GetVolumeBackupPolicyAssetAssignmentResponse getVolumeBackupPolicyAssetAssignmen GetVolumeBackupPolicyAssignmentResponse getVolumeBackupPolicyAssignment( GetVolumeBackupPolicyAssignmentRequest request); + /** + * Gets information for the specified volume group. + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + GetVolumeGroupResponse getVolumeGroup(GetVolumeGroupRequest request); + + /** + * Gets information for the specified volume group backup. + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + GetVolumeGroupBackupResponse getVolumeGroupBackup(GetVolumeGroupBackupRequest request); + /** * Lists the boot volumes in the specified compartment and Availability Domain. * @@ -205,6 +260,24 @@ ListVolumeBackupPoliciesResponse listVolumeBackupPolicies( */ ListVolumeBackupsResponse listVolumeBackups(ListVolumeBackupsRequest request); + /** + * Lists the backups for volume groups in the specified compartment. You can filter the results by volume group. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + ListVolumeGroupBackupsResponse listVolumeGroupBackups(ListVolumeGroupBackupsRequest request); + + /** + * Lists the volume groups in the specified compartment and Availability Domain. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + ListVolumeGroupsResponse listVolumeGroups(ListVolumeGroupsRequest request); + /** * Lists the volumes in the specified compartment and Availability Domain. * @@ -242,6 +315,25 @@ ListVolumeBackupPoliciesResponse listVolumeBackupPolicies( */ UpdateVolumeBackupResponse updateVolumeBackup(UpdateVolumeBackupRequest request); + /** + * Updates the set of volumes in a volume group along with (optionally) it's display name. This call can be used + * to add or remove volumes in a volume group. The entire list of volume ids must be specified. + * Avoid entering confidential information. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + UpdateVolumeGroupResponse updateVolumeGroup(UpdateVolumeGroupRequest request); + + /** + * Updates the display name for the specified volume group backup. + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. + */ + UpdateVolumeGroupBackupResponse updateVolumeGroupBackup(UpdateVolumeGroupBackupRequest request); + /** * Gets the pre-configured waiters available for resources for this service. * diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsync.java b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsync.java index f6577d83b58..ca05452204e 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsync.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsync.java @@ -108,6 +108,44 @@ java.util.concurrent.Future createVolumeBackup( CreateVolumeBackupPolicyAssignmentResponse> handler); + /** + * Creates a new volume group in the specified compartment. A volume group can have at most 20 block volumes. + * A volume group is a collection of volumes and may be created from a list of volumes, cloning an existing + * volume group or by restoring a volume group backup. + * You may optionally specify a *display name* for the volume group, which is simply a friendly name or + * description. It does not have to be unique, and you can change it. Avoid entering confidential information. + * + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future createVolumeGroup( + CreateVolumeGroupRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateVolumeGroupRequest, CreateVolumeGroupResponse> + handler); + + /** + * Creates a new group backup of the specified volume group. + * + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future createVolumeGroupBackup( + CreateVolumeGroupBackupRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateVolumeGroupBackupRequest, CreateVolumeGroupBackupResponse> + handler); + /** * Deletes the specified boot volume. The volume cannot have an active connection to an instance. * To disconnect the boot volume from a connected instance, see @@ -180,6 +218,39 @@ java.util.concurrent.Future deleteVolumeBackup( DeleteVolumeBackupPolicyAssignmentResponse> handler); + /** + * Deletes the specified volume group. This will NOT delete data volumes. + * + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future deleteVolumeGroup( + DeleteVolumeGroupRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteVolumeGroupRequest, DeleteVolumeGroupResponse> + handler); + + /** + * Deletes a volume group backup. This will NOT delete backups within the volume group backup. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future deleteVolumeGroupBackup( + DeleteVolumeGroupBackupRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteVolumeGroupBackupRequest, DeleteVolumeGroupBackupResponse> + handler); + /** * Gets information for the specified boot volume. * @@ -279,6 +350,37 @@ java.util.concurrent.Future getVolumeBackupPolicy GetVolumeBackupPolicyAssignmentResponse> handler); + /** + * Gets information for the specified volume group. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future getVolumeGroup( + GetVolumeGroupRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + + /** + * Gets information for the specified volume group backup. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future getVolumeGroupBackup( + GetVolumeGroupBackupRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetVolumeGroupBackupRequest, GetVolumeGroupBackupResponse> + handler); + /** * Lists the boot volumes in the specified compartment and Availability Domain. * @@ -328,6 +430,39 @@ java.util.concurrent.Future listVolumeBackups( ListVolumeBackupsRequest, ListVolumeBackupsResponse> handler); + /** + * Lists the backups for volume groups in the specified compartment. You can filter the results by volume group. + * + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future listVolumeGroupBackups( + ListVolumeGroupBackupsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListVolumeGroupBackupsRequest, ListVolumeGroupBackupsResponse> + handler); + + /** + * Lists the volume groups in the specified compartment and Availability Domain. + * + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future listVolumeGroups( + ListVolumeGroupsRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + /** * Lists the volumes in the specified compartment and Availability Domain. * @@ -392,4 +527,39 @@ java.util.concurrent.Future updateVolumeBackup( com.oracle.bmc.responses.AsyncHandler< UpdateVolumeBackupRequest, UpdateVolumeBackupResponse> handler); + + /** + * Updates the set of volumes in a volume group along with (optionally) it's display name. This call can be used + * to add or remove volumes in a volume group. The entire list of volume ids must be specified. + * Avoid entering confidential information. + * + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future updateVolumeGroup( + UpdateVolumeGroupRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateVolumeGroupRequest, UpdateVolumeGroupResponse> + handler); + + /** + * Updates the display name for the specified volume group backup. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was + * provided. Note, if you provide an AsyncHandler and use the Future, some + * types of responses (like java.io.InputStream) may not be able to be read in + * both places as the underlying stream may only be consumed once. + */ + java.util.concurrent.Future updateVolumeGroupBackup( + UpdateVolumeGroupBackupRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateVolumeGroupBackupRequest, UpdateVolumeGroupBackupResponse> + handler); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsyncClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsyncClient.java index 2a5cad29b1e..482b4c853fd 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsyncClient.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageAsyncClient.java @@ -547,6 +547,178 @@ public java.util.concurrent.Future get() { } } + @Override + public java.util.concurrent.Future createVolumeGroup( + final CreateVolumeGroupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateVolumeGroupRequest, CreateVolumeGroupResponse> + handler) { + LOG.trace("Called async createVolumeGroup"); + final CreateVolumeGroupRequest interceptedRequest = + CreateVolumeGroupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + CreateVolumeGroupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = CreateVolumeGroupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + CreateVolumeGroupRequest, CreateVolumeGroupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.post( + ib, + interceptedRequest.getCreateVolumeGroupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.post( + ib, + interceptedRequest.getCreateVolumeGroupDetails(), + interceptedRequest, + onSuccess, + onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, CreateVolumeGroupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.post( + ib, + interceptedRequest.getCreateVolumeGroupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future createVolumeGroupBackup( + final CreateVolumeGroupBackupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateVolumeGroupBackupRequest, CreateVolumeGroupBackupResponse> + handler) { + LOG.trace("Called async createVolumeGroupBackup"); + final CreateVolumeGroupBackupRequest interceptedRequest = + CreateVolumeGroupBackupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + CreateVolumeGroupBackupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function< + javax.ws.rs.core.Response, CreateVolumeGroupBackupResponse> + transformer = CreateVolumeGroupBackupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler< + CreateVolumeGroupBackupRequest, CreateVolumeGroupBackupResponse> + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + CreateVolumeGroupBackupRequest, CreateVolumeGroupBackupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.post( + ib, + interceptedRequest.getCreateVolumeGroupBackupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.post( + ib, + interceptedRequest.getCreateVolumeGroupBackupDetails(), + interceptedRequest, + onSuccess, + onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, CreateVolumeGroupBackupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.post( + ib, + interceptedRequest.getCreateVolumeGroupBackupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + @Override public java.util.concurrent.Future deleteBootVolume( final DeleteBootVolumeRequest request, @@ -832,6 +1004,148 @@ public java.util.concurrent.Future get() { } } + @Override + public java.util.concurrent.Future deleteVolumeGroup( + final DeleteVolumeGroupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteVolumeGroupRequest, DeleteVolumeGroupResponse> + handler) { + LOG.trace("Called async deleteVolumeGroup"); + final DeleteVolumeGroupRequest interceptedRequest = + DeleteVolumeGroupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + DeleteVolumeGroupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = DeleteVolumeGroupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + DeleteVolumeGroupRequest, DeleteVolumeGroupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.delete(ib, interceptedRequest, onSuccess, onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.delete(ib, interceptedRequest, onSuccess, onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, DeleteVolumeGroupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.delete(ib, interceptedRequest, onSuccess, onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future deleteVolumeGroupBackup( + final DeleteVolumeGroupBackupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteVolumeGroupBackupRequest, DeleteVolumeGroupBackupResponse> + handler) { + LOG.trace("Called async deleteVolumeGroupBackup"); + final DeleteVolumeGroupBackupRequest interceptedRequest = + DeleteVolumeGroupBackupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + DeleteVolumeGroupBackupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function< + javax.ws.rs.core.Response, DeleteVolumeGroupBackupResponse> + transformer = DeleteVolumeGroupBackupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler< + DeleteVolumeGroupBackupRequest, DeleteVolumeGroupBackupResponse> + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + DeleteVolumeGroupBackupRequest, DeleteVolumeGroupBackupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.delete(ib, interceptedRequest, onSuccess, onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.delete(ib, interceptedRequest, onSuccess, onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, DeleteVolumeGroupBackupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.delete(ib, interceptedRequest, onSuccess, onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + @Override public java.util.concurrent.Future getBootVolume( final GetBootVolumeRequest request, @@ -1123,15 +1437,304 @@ public java.util.concurrent.Future get() { final GetVolumeBackupPolicyAssetAssignmentRequest interceptedRequest = GetVolumeBackupPolicyAssetAssignmentConverter.interceptRequest(request); final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = - GetVolumeBackupPolicyAssetAssignmentConverter.fromRequest( - client, interceptedRequest); - final com.google.common.base.Function< - javax.ws.rs.core.Response, GetVolumeBackupPolicyAssetAssignmentResponse> - transformer = GetVolumeBackupPolicyAssetAssignmentConverter.fromResponse(); + GetVolumeBackupPolicyAssetAssignmentConverter.fromRequest( + client, interceptedRequest); + final com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeBackupPolicyAssetAssignmentResponse> + transformer = GetVolumeBackupPolicyAssetAssignmentConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler< + GetVolumeBackupPolicyAssetAssignmentRequest, + GetVolumeBackupPolicyAssetAssignmentResponse> + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + GetVolumeBackupPolicyAssetAssignmentRequest, + GetVolumeBackupPolicyAssetAssignmentResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.get(ib, interceptedRequest, onSuccess, onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.get(ib, interceptedRequest, onSuccess, onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, GetVolumeBackupPolicyAssetAssignmentResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.get(ib, interceptedRequest, onSuccess, onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future + getVolumeBackupPolicyAssignment( + final GetVolumeBackupPolicyAssignmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetVolumeBackupPolicyAssignmentRequest, + GetVolumeBackupPolicyAssignmentResponse> + handler) { + LOG.trace("Called async getVolumeBackupPolicyAssignment"); + final GetVolumeBackupPolicyAssignmentRequest interceptedRequest = + GetVolumeBackupPolicyAssignmentConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + GetVolumeBackupPolicyAssignmentConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeBackupPolicyAssignmentResponse> + transformer = GetVolumeBackupPolicyAssignmentConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler< + GetVolumeBackupPolicyAssignmentRequest, + GetVolumeBackupPolicyAssignmentResponse> + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + GetVolumeBackupPolicyAssignmentRequest, + GetVolumeBackupPolicyAssignmentResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.get(ib, interceptedRequest, onSuccess, onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.get(ib, interceptedRequest, onSuccess, onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, GetVolumeBackupPolicyAssignmentResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.get(ib, interceptedRequest, onSuccess, onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future getVolumeGroup( + final GetVolumeGroupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetVolumeGroupRequest, GetVolumeGroupResponse> + handler) { + LOG.trace("Called async getVolumeGroup"); + final GetVolumeGroupRequest interceptedRequest = + GetVolumeGroupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + GetVolumeGroupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = GetVolumeGroupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + GetVolumeGroupRequest, GetVolumeGroupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.get(ib, interceptedRequest, onSuccess, onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.get(ib, interceptedRequest, onSuccess, onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, GetVolumeGroupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.get(ib, interceptedRequest, onSuccess, onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future getVolumeGroupBackup( + final GetVolumeGroupBackupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetVolumeGroupBackupRequest, GetVolumeGroupBackupResponse> + handler) { + LOG.trace("Called async getVolumeGroupBackup"); + final GetVolumeGroupBackupRequest interceptedRequest = + GetVolumeGroupBackupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + GetVolumeGroupBackupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeGroupBackupResponse> + transformer = GetVolumeGroupBackupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler< + GetVolumeGroupBackupRequest, GetVolumeGroupBackupResponse> + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + GetVolumeGroupBackupRequest, GetVolumeGroupBackupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.get(ib, interceptedRequest, onSuccess, onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.get(ib, interceptedRequest, onSuccess, onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, GetVolumeGroupBackupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.get(ib, interceptedRequest, onSuccess, onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future listBootVolumes( + final ListBootVolumesRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListBootVolumesRequest, ListBootVolumesResponse> + handler) { + LOG.trace("Called async listBootVolumes"); + final ListBootVolumesRequest interceptedRequest = + ListBootVolumesConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + ListBootVolumesConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = ListBootVolumesConverter.fromResponse(); - com.oracle.bmc.responses.AsyncHandler< - GetVolumeBackupPolicyAssetAssignmentRequest, - GetVolumeBackupPolicyAssetAssignmentResponse> + com.oracle.bmc.responses.AsyncHandler handlerToUse = handler; if (handler != null && this.authenticationDetailsProvider @@ -1139,8 +1742,7 @@ public java.util.concurrent.Future get() { com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { handlerToUse = new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< - GetVolumeBackupPolicyAssetAssignmentRequest, - GetVolumeBackupPolicyAssetAssignmentResponse>( + ListBootVolumesRequest, ListBootVolumesResponse>( (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) this.authenticationDetailsProvider, handler) { @@ -1170,7 +1772,7 @@ public void retryCall() { if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< - javax.ws.rs.core.Response, GetVolumeBackupPolicyAssetAssignmentResponse>( + javax.ws.rs.core.Response, ListBootVolumesResponse>( responseFuture, transformer, (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) @@ -1189,25 +1791,22 @@ public java.util.concurrent.Future get() { } @Override - public java.util.concurrent.Future - getVolumeBackupPolicyAssignment( - final GetVolumeBackupPolicyAssignmentRequest request, - final com.oracle.bmc.responses.AsyncHandler< - GetVolumeBackupPolicyAssignmentRequest, - GetVolumeBackupPolicyAssignmentResponse> - handler) { - LOG.trace("Called async getVolumeBackupPolicyAssignment"); - final GetVolumeBackupPolicyAssignmentRequest interceptedRequest = - GetVolumeBackupPolicyAssignmentConverter.interceptRequest(request); + public java.util.concurrent.Future listVolumeBackupPolicies( + final ListVolumeBackupPoliciesRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListVolumeBackupPoliciesRequest, ListVolumeBackupPoliciesResponse> + handler) { + LOG.trace("Called async listVolumeBackupPolicies"); + final ListVolumeBackupPoliciesRequest interceptedRequest = + ListVolumeBackupPoliciesConverter.interceptRequest(request); final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = - GetVolumeBackupPolicyAssignmentConverter.fromRequest(client, interceptedRequest); + ListVolumeBackupPoliciesConverter.fromRequest(client, interceptedRequest); final com.google.common.base.Function< - javax.ws.rs.core.Response, GetVolumeBackupPolicyAssignmentResponse> - transformer = GetVolumeBackupPolicyAssignmentConverter.fromResponse(); + javax.ws.rs.core.Response, ListVolumeBackupPoliciesResponse> + transformer = ListVolumeBackupPoliciesConverter.fromResponse(); com.oracle.bmc.responses.AsyncHandler< - GetVolumeBackupPolicyAssignmentRequest, - GetVolumeBackupPolicyAssignmentResponse> + ListVolumeBackupPoliciesRequest, ListVolumeBackupPoliciesResponse> handlerToUse = handler; if (handler != null && this.authenticationDetailsProvider @@ -1215,8 +1814,7 @@ public java.util.concurrent.Future get() { com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { handlerToUse = new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< - GetVolumeBackupPolicyAssignmentRequest, - GetVolumeBackupPolicyAssignmentResponse>( + ListVolumeBackupPoliciesRequest, ListVolumeBackupPoliciesResponse>( (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) this.authenticationDetailsProvider, handler) { @@ -1246,7 +1844,7 @@ public void retryCall() { if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< - javax.ws.rs.core.Response, GetVolumeBackupPolicyAssignmentResponse>( + javax.ws.rs.core.Response, ListVolumeBackupPoliciesResponse>( responseFuture, transformer, (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) @@ -1265,20 +1863,20 @@ public java.util.concurrent.Future get() { } @Override - public java.util.concurrent.Future listBootVolumes( - final ListBootVolumesRequest request, + public java.util.concurrent.Future listVolumeBackups( + final ListVolumeBackupsRequest request, final com.oracle.bmc.responses.AsyncHandler< - ListBootVolumesRequest, ListBootVolumesResponse> + ListVolumeBackupsRequest, ListVolumeBackupsResponse> handler) { - LOG.trace("Called async listBootVolumes"); - final ListBootVolumesRequest interceptedRequest = - ListBootVolumesConverter.interceptRequest(request); + LOG.trace("Called async listVolumeBackups"); + final ListVolumeBackupsRequest interceptedRequest = + ListVolumeBackupsConverter.interceptRequest(request); final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = - ListBootVolumesConverter.fromRequest(client, interceptedRequest); - final com.google.common.base.Function - transformer = ListBootVolumesConverter.fromResponse(); + ListVolumeBackupsConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = ListVolumeBackupsConverter.fromResponse(); - com.oracle.bmc.responses.AsyncHandler + com.oracle.bmc.responses.AsyncHandler handlerToUse = handler; if (handler != null && this.authenticationDetailsProvider @@ -1286,7 +1884,7 @@ public java.util.concurrent.Future listBootVolumes( com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { handlerToUse = new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< - ListBootVolumesRequest, ListBootVolumesResponse>( + ListVolumeBackupsRequest, ListVolumeBackupsResponse>( (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) this.authenticationDetailsProvider, handler) { @@ -1316,7 +1914,7 @@ public void retryCall() { if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< - javax.ws.rs.core.Response, ListBootVolumesResponse>( + javax.ws.rs.core.Response, ListVolumeBackupsResponse>( responseFuture, transformer, (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) @@ -1335,22 +1933,22 @@ public java.util.concurrent.Future get() { } @Override - public java.util.concurrent.Future listVolumeBackupPolicies( - final ListVolumeBackupPoliciesRequest request, + public java.util.concurrent.Future listVolumeGroupBackups( + final ListVolumeGroupBackupsRequest request, final com.oracle.bmc.responses.AsyncHandler< - ListVolumeBackupPoliciesRequest, ListVolumeBackupPoliciesResponse> + ListVolumeGroupBackupsRequest, ListVolumeGroupBackupsResponse> handler) { - LOG.trace("Called async listVolumeBackupPolicies"); - final ListVolumeBackupPoliciesRequest interceptedRequest = - ListVolumeBackupPoliciesConverter.interceptRequest(request); + LOG.trace("Called async listVolumeGroupBackups"); + final ListVolumeGroupBackupsRequest interceptedRequest = + ListVolumeGroupBackupsConverter.interceptRequest(request); final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = - ListVolumeBackupPoliciesConverter.fromRequest(client, interceptedRequest); + ListVolumeGroupBackupsConverter.fromRequest(client, interceptedRequest); final com.google.common.base.Function< - javax.ws.rs.core.Response, ListVolumeBackupPoliciesResponse> - transformer = ListVolumeBackupPoliciesConverter.fromResponse(); + javax.ws.rs.core.Response, ListVolumeGroupBackupsResponse> + transformer = ListVolumeGroupBackupsConverter.fromResponse(); com.oracle.bmc.responses.AsyncHandler< - ListVolumeBackupPoliciesRequest, ListVolumeBackupPoliciesResponse> + ListVolumeGroupBackupsRequest, ListVolumeGroupBackupsResponse> handlerToUse = handler; if (handler != null && this.authenticationDetailsProvider @@ -1358,7 +1956,7 @@ public java.util.concurrent.Future listVolumeB com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { handlerToUse = new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< - ListVolumeBackupPoliciesRequest, ListVolumeBackupPoliciesResponse>( + ListVolumeGroupBackupsRequest, ListVolumeGroupBackupsResponse>( (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) this.authenticationDetailsProvider, handler) { @@ -1388,7 +1986,7 @@ public void retryCall() { if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< - javax.ws.rs.core.Response, ListVolumeBackupPoliciesResponse>( + javax.ws.rs.core.Response, ListVolumeGroupBackupsResponse>( responseFuture, transformer, (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) @@ -1407,20 +2005,20 @@ public java.util.concurrent.Future get() { } @Override - public java.util.concurrent.Future listVolumeBackups( - final ListVolumeBackupsRequest request, + public java.util.concurrent.Future listVolumeGroups( + final ListVolumeGroupsRequest request, final com.oracle.bmc.responses.AsyncHandler< - ListVolumeBackupsRequest, ListVolumeBackupsResponse> + ListVolumeGroupsRequest, ListVolumeGroupsResponse> handler) { - LOG.trace("Called async listVolumeBackups"); - final ListVolumeBackupsRequest interceptedRequest = - ListVolumeBackupsConverter.interceptRequest(request); + LOG.trace("Called async listVolumeGroups"); + final ListVolumeGroupsRequest interceptedRequest = + ListVolumeGroupsConverter.interceptRequest(request); final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = - ListVolumeBackupsConverter.fromRequest(client, interceptedRequest); - final com.google.common.base.Function - transformer = ListVolumeBackupsConverter.fromResponse(); + ListVolumeGroupsConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = ListVolumeGroupsConverter.fromResponse(); - com.oracle.bmc.responses.AsyncHandler + com.oracle.bmc.responses.AsyncHandler handlerToUse = handler; if (handler != null && this.authenticationDetailsProvider @@ -1428,7 +2026,7 @@ public java.util.concurrent.Future listVolumeBackups( com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { handlerToUse = new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< - ListVolumeBackupsRequest, ListVolumeBackupsResponse>( + ListVolumeGroupsRequest, ListVolumeGroupsResponse>( (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) this.authenticationDetailsProvider, handler) { @@ -1458,7 +2056,7 @@ public void retryCall() { if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< - javax.ws.rs.core.Response, ListVolumeBackupsResponse>( + javax.ws.rs.core.Response, ListVolumeGroupsResponse>( responseFuture, transformer, (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) @@ -1798,4 +2396,176 @@ public java.util.concurrent.Future get() { responseFuture, transformer); } } + + @Override + public java.util.concurrent.Future updateVolumeGroup( + final UpdateVolumeGroupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateVolumeGroupRequest, UpdateVolumeGroupResponse> + handler) { + LOG.trace("Called async updateVolumeGroup"); + final UpdateVolumeGroupRequest interceptedRequest = + UpdateVolumeGroupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + UpdateVolumeGroupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function + transformer = UpdateVolumeGroupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + UpdateVolumeGroupRequest, UpdateVolumeGroupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.put( + ib, + interceptedRequest.getUpdateVolumeGroupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.put( + ib, + interceptedRequest.getUpdateVolumeGroupDetails(), + interceptedRequest, + onSuccess, + onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, UpdateVolumeGroupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.put( + ib, + interceptedRequest.getUpdateVolumeGroupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } + + @Override + public java.util.concurrent.Future updateVolumeGroupBackup( + final UpdateVolumeGroupBackupRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateVolumeGroupBackupRequest, UpdateVolumeGroupBackupResponse> + handler) { + LOG.trace("Called async updateVolumeGroupBackup"); + final UpdateVolumeGroupBackupRequest interceptedRequest = + UpdateVolumeGroupBackupConverter.interceptRequest(request); + final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + UpdateVolumeGroupBackupConverter.fromRequest(client, interceptedRequest); + final com.google.common.base.Function< + javax.ws.rs.core.Response, UpdateVolumeGroupBackupResponse> + transformer = UpdateVolumeGroupBackupConverter.fromResponse(); + + com.oracle.bmc.responses.AsyncHandler< + UpdateVolumeGroupBackupRequest, UpdateVolumeGroupBackupResponse> + handlerToUse = handler; + if (handler != null + && this.authenticationDetailsProvider + instanceof + com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + handlerToUse = + new com.oracle.bmc.util.internal.InstancePrincipalsWrappingAsyncHandler< + UpdateVolumeGroupBackupRequest, UpdateVolumeGroupBackupResponse>( + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + handler) { + @Override + public void retryCall() { + final com.oracle.bmc.util.internal.Consumer + onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + this, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>( + this, interceptedRequest); + client.put( + ib, + interceptedRequest.getUpdateVolumeGroupBackupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }; + } + + final com.oracle.bmc.util.internal.Consumer onSuccess = + new com.oracle.bmc.http.internal.SuccessConsumer<>( + handlerToUse, transformer, interceptedRequest); + final com.oracle.bmc.util.internal.Consumer onError = + new com.oracle.bmc.http.internal.ErrorConsumer<>(handlerToUse, interceptedRequest); + + java.util.concurrent.Future responseFuture = + client.put( + ib, + interceptedRequest.getUpdateVolumeGroupBackupDetails(), + interceptedRequest, + onSuccess, + onError); + + if (this.authenticationDetailsProvider + instanceof com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) { + return new com.oracle.bmc.util.internal.InstancePrincipalsBasedTransformingFuture< + javax.ws.rs.core.Response, UpdateVolumeGroupBackupResponse>( + responseFuture, + transformer, + (com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider) + this.authenticationDetailsProvider, + new com.google.common.base.Supplier< + java.util.concurrent.Future>() { + @Override + public java.util.concurrent.Future get() { + return client.put( + ib, + interceptedRequest.getUpdateVolumeGroupBackupDetails(), + interceptedRequest, + onSuccess, + onError); + } + }); + } else { + return new com.oracle.bmc.util.internal.TransformingFuture<>( + responseFuture, transformer); + } + } } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageClient.java index 642210a4934..c7d2dfe73b6 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageClient.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageClient.java @@ -391,6 +391,59 @@ && canRetryRequestIfInstancePrincipalsUsed(e)) { } } + @Override + public CreateVolumeGroupResponse createVolumeGroup(CreateVolumeGroupRequest request) { + LOG.trace("Called createVolumeGroup"); + request = CreateVolumeGroupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + CreateVolumeGroupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = CreateVolumeGroupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = + client.post(ib, request.getCreateVolumeGroupDetails(), request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + + @Override + public CreateVolumeGroupBackupResponse createVolumeGroupBackup( + CreateVolumeGroupBackupRequest request) { + LOG.trace("Called createVolumeGroupBackup"); + request = CreateVolumeGroupBackupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + CreateVolumeGroupBackupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = CreateVolumeGroupBackupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = + client.post(ib, request.getCreateVolumeGroupBackupDetails(), request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + @Override public DeleteBootVolumeResponse deleteBootVolume(DeleteBootVolumeRequest request) { LOG.trace("Called deleteBootVolume"); @@ -493,6 +546,57 @@ && canRetryRequestIfInstancePrincipalsUsed(e)) { } } + @Override + public DeleteVolumeGroupResponse deleteVolumeGroup(DeleteVolumeGroupRequest request) { + LOG.trace("Called deleteVolumeGroup"); + request = DeleteVolumeGroupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + DeleteVolumeGroupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = DeleteVolumeGroupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = client.delete(ib, request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + + @Override + public DeleteVolumeGroupBackupResponse deleteVolumeGroupBackup( + DeleteVolumeGroupBackupRequest request) { + LOG.trace("Called deleteVolumeGroupBackup"); + request = DeleteVolumeGroupBackupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + DeleteVolumeGroupBackupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = DeleteVolumeGroupBackupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = client.delete(ib, request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + @Override public GetBootVolumeResponse getBootVolume(GetBootVolumeRequest request) { LOG.trace("Called getBootVolume"); @@ -648,6 +752,56 @@ && canRetryRequestIfInstancePrincipalsUsed(e)) { } } + @Override + public GetVolumeGroupResponse getVolumeGroup(GetVolumeGroupRequest request) { + LOG.trace("Called getVolumeGroup"); + request = GetVolumeGroupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + GetVolumeGroupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = GetVolumeGroupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = client.get(ib, request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + + @Override + public GetVolumeGroupBackupResponse getVolumeGroupBackup(GetVolumeGroupBackupRequest request) { + LOG.trace("Called getVolumeGroupBackup"); + request = GetVolumeGroupBackupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + GetVolumeGroupBackupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = GetVolumeGroupBackupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = client.get(ib, request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + @Override public ListBootVolumesResponse listBootVolumes(ListBootVolumesRequest request) { LOG.trace("Called listBootVolumes"); @@ -724,6 +878,57 @@ && canRetryRequestIfInstancePrincipalsUsed(e)) { } } + @Override + public ListVolumeGroupBackupsResponse listVolumeGroupBackups( + ListVolumeGroupBackupsRequest request) { + LOG.trace("Called listVolumeGroupBackups"); + request = ListVolumeGroupBackupsConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + ListVolumeGroupBackupsConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = ListVolumeGroupBackupsConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = client.get(ib, request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + + @Override + public ListVolumeGroupsResponse listVolumeGroups(ListVolumeGroupsRequest request) { + LOG.trace("Called listVolumeGroups"); + request = ListVolumeGroupsConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + ListVolumeGroupsConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = ListVolumeGroupsConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = client.get(ib, request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + @Override public ListVolumesResponse listVolumes(ListVolumesRequest request) { LOG.trace("Called listVolumes"); @@ -827,6 +1032,59 @@ && canRetryRequestIfInstancePrincipalsUsed(e)) { } } + @Override + public UpdateVolumeGroupResponse updateVolumeGroup(UpdateVolumeGroupRequest request) { + LOG.trace("Called updateVolumeGroup"); + request = UpdateVolumeGroupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + UpdateVolumeGroupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = UpdateVolumeGroupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = + client.put(ib, request.getUpdateVolumeGroupDetails(), request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + + @Override + public UpdateVolumeGroupBackupResponse updateVolumeGroupBackup( + UpdateVolumeGroupBackupRequest request) { + LOG.trace("Called updateVolumeGroupBackup"); + request = UpdateVolumeGroupBackupConverter.interceptRequest(request); + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = + UpdateVolumeGroupBackupConverter.fromRequest(client, request); + com.google.common.base.Function + transformer = UpdateVolumeGroupBackupConverter.fromResponse(); + + int attempts = 0; + while (true) { + try { + javax.ws.rs.core.Response response = + client.put(ib, request.getUpdateVolumeGroupBackupDetails(), request); + return transformer.apply(response); + } catch (com.oracle.bmc.model.BmcException e) { + if (++attempts < MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS + && canRetryRequestIfInstancePrincipalsUsed(e)) { + continue; + } else { + throw e; + } + } + } + } + private boolean canRetryRequestIfInstancePrincipalsUsed(com.oracle.bmc.model.BmcException e) { if (e.getStatusCode() == 401 && this.authenticationDetailsProvider diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstoragePaginators.java b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstoragePaginators.java index b99ad9da3c0..0e6ec91c3f1 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstoragePaginators.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstoragePaginators.java @@ -495,6 +495,233 @@ public java.util.List apply( }); } + /** + * Creates a new iterable which will iterate over the responses received from the listVolumeGroupBackups operation. This iterable + * will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses received from the service. + */ + public Iterable listVolumeGroupBackupsResponseIterator( + final ListVolumeGroupBackupsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListVolumeGroupBackupsRequest.Builder, ListVolumeGroupBackupsRequest, + ListVolumeGroupBackupsResponse>( + new com.google.common.base.Supplier() { + @Override + public ListVolumeGroupBackupsRequest.Builder get() { + return ListVolumeGroupBackupsRequest.builder().copy(request); + } + }, + new com.google.common.base.Function() { + @Override + public String apply(ListVolumeGroupBackupsResponse response) { + return response.getOpcNextPage(); + } + }, + new com.google.common.base.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupBackupsRequest.Builder>, + ListVolumeGroupBackupsRequest>() { + @Override + public ListVolumeGroupBackupsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupBackupsRequest.Builder> + input) { + if (input.getToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getToken().orNull()) + .build(); + } + } + }, + new com.google.common.base.Function< + ListVolumeGroupBackupsRequest, ListVolumeGroupBackupsResponse>() { + @Override + public ListVolumeGroupBackupsResponse apply( + ListVolumeGroupBackupsRequest request) { + return client.listVolumeGroupBackups(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link com.oracle.bmc.core.model.VolumeGroupBackup} objects + * contained in responses from the listVolumeGroupBackups operation. This iterable will fetch more data from the + * server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link com.oracle.bmc.core.model.VolumeGroupBackup} objects + * contained in responses received from the service. + */ + public Iterable + listVolumeGroupBackupsRecordIterator(final ListVolumeGroupBackupsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListVolumeGroupBackupsRequest.Builder, ListVolumeGroupBackupsRequest, + ListVolumeGroupBackupsResponse, com.oracle.bmc.core.model.VolumeGroupBackup>( + new com.google.common.base.Supplier() { + @Override + public ListVolumeGroupBackupsRequest.Builder get() { + return ListVolumeGroupBackupsRequest.builder().copy(request); + } + }, + new com.google.common.base.Function() { + @Override + public String apply(ListVolumeGroupBackupsResponse response) { + return response.getOpcNextPage(); + } + }, + new com.google.common.base.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupBackupsRequest.Builder>, + ListVolumeGroupBackupsRequest>() { + @Override + public ListVolumeGroupBackupsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupBackupsRequest.Builder> + input) { + if (input.getToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getToken().orNull()) + .build(); + } + } + }, + new com.google.common.base.Function< + ListVolumeGroupBackupsRequest, ListVolumeGroupBackupsResponse>() { + @Override + public ListVolumeGroupBackupsResponse apply( + ListVolumeGroupBackupsRequest request) { + return client.listVolumeGroupBackups(request); + } + }, + new com.google.common.base.Function< + ListVolumeGroupBackupsResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListVolumeGroupBackupsResponse response) { + return response.getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the listVolumeGroups operation. This iterable + * will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses received from the service. + */ + public Iterable listVolumeGroupsResponseIterator( + final ListVolumeGroupsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListVolumeGroupsRequest.Builder, ListVolumeGroupsRequest, ListVolumeGroupsResponse>( + new com.google.common.base.Supplier() { + @Override + public ListVolumeGroupsRequest.Builder get() { + return ListVolumeGroupsRequest.builder().copy(request); + } + }, + new com.google.common.base.Function() { + @Override + public String apply(ListVolumeGroupsResponse response) { + return response.getOpcNextPage(); + } + }, + new com.google.common.base.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupsRequest.Builder>, + ListVolumeGroupsRequest>() { + @Override + public ListVolumeGroupsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupsRequest.Builder> + input) { + if (input.getToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getToken().orNull()) + .build(); + } + } + }, + new com.google.common.base.Function< + ListVolumeGroupsRequest, ListVolumeGroupsResponse>() { + @Override + public ListVolumeGroupsResponse apply(ListVolumeGroupsRequest request) { + return client.listVolumeGroups(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link com.oracle.bmc.core.model.VolumeGroup} objects + * contained in responses from the listVolumeGroups operation. This iterable will fetch more data from the + * server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link com.oracle.bmc.core.model.VolumeGroup} objects + * contained in responses received from the service. + */ + public Iterable listVolumeGroupsRecordIterator( + final ListVolumeGroupsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListVolumeGroupsRequest.Builder, ListVolumeGroupsRequest, ListVolumeGroupsResponse, + com.oracle.bmc.core.model.VolumeGroup>( + new com.google.common.base.Supplier() { + @Override + public ListVolumeGroupsRequest.Builder get() { + return ListVolumeGroupsRequest.builder().copy(request); + } + }, + new com.google.common.base.Function() { + @Override + public String apply(ListVolumeGroupsResponse response) { + return response.getOpcNextPage(); + } + }, + new com.google.common.base.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupsRequest.Builder>, + ListVolumeGroupsRequest>() { + @Override + public ListVolumeGroupsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListVolumeGroupsRequest.Builder> + input) { + if (input.getToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getToken().orNull()) + .build(); + } + } + }, + new com.google.common.base.Function< + ListVolumeGroupsRequest, ListVolumeGroupsResponse>() { + @Override + public ListVolumeGroupsResponse apply(ListVolumeGroupsRequest request) { + return client.listVolumeGroups(request); + } + }, + new com.google.common.base.Function< + ListVolumeGroupsResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListVolumeGroupsResponse response) { + return response.getItems(); + } + }); + } + /** * Creates a new iterable which will iterate over the responses received from the listVolumes operation. This iterable * will fetch more data from the server as needed. diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageWaiters.java b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageWaiters.java index 048e68151f2..203723a673e 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageWaiters.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/BlockstorageWaiters.java @@ -311,4 +311,209 @@ public boolean apply(GetVolumeBackupResponse response) { com.oracle.bmc.core.model.VolumeBackup.LifecycleState.Terminated)), request); } + + /** + * Creates a new {@link Waiter} using default configuration. + * + * @param request the request to send + * @param targetStates the desired states to wait for. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forVolumeGroup( + GetVolumeGroupRequest request, + com.oracle.bmc.core.model.VolumeGroup.LifecycleState... targetStates) { + org.apache.commons.lang3.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + org.apache.commons.lang3.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forVolumeGroup( + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); + } + + /** + * Creates a new {@link Waiter} using the provided configuration. + * + * @param request the request to send + * @param targetState the desired state to wait for + * @param terminationStrategy the {@link TerminationStrategy} to use + * @param delayStrategy the {@link DelayStrategy} to use + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forVolumeGroup( + GetVolumeGroupRequest request, + com.oracle.bmc.core.model.VolumeGroup.LifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + org.apache.commons.lang3.Validate.notNull(targetState, "The targetState cannot be null"); + + return forVolumeGroup( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetState); + } + + /** + * Creates a new {@link Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link TerminationStrategy} to use + * @param delayStrategy the {@link DelayStrategy} to use + * @param targetStates the desired states to wait for. The waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forVolumeGroup( + GetVolumeGroupRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.core.model.VolumeGroup.LifecycleState... targetStates) { + org.apache.commons.lang3.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + org.apache.commons.lang3.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forVolumeGroup( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for VolumeGroup. + private com.oracle.bmc.waiter.Waiter + forVolumeGroup( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetVolumeGroupRequest request, + final com.oracle.bmc.core.model.VolumeGroup.LifecycleState... targetStates) { + final java.util.Set targetStatesSet = + new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + com.google.common.base.Suppliers.ofInstance(request), + new com.google.common.base.Function< + GetVolumeGroupRequest, GetVolumeGroupResponse>() { + @Override + public GetVolumeGroupResponse apply(GetVolumeGroupRequest request) { + return client.getVolumeGroup(request); + } + }, + new com.google.common.base.Predicate() { + @Override + public boolean apply(GetVolumeGroupResponse response) { + return targetStatesSet.contains( + response.getVolumeGroup().getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.core.model.VolumeGroup.LifecycleState.Terminated)), + request); + } + + /** + * Creates a new {@link Waiter} using default configuration. + * + * @param request the request to send + * @param targetStates the desired states to wait for. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forVolumeGroupBackup( + GetVolumeGroupBackupRequest request, + com.oracle.bmc.core.model.VolumeGroupBackup.LifecycleState... targetStates) { + org.apache.commons.lang3.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + org.apache.commons.lang3.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forVolumeGroupBackup( + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); + } + + /** + * Creates a new {@link Waiter} using the provided configuration. + * + * @param request the request to send + * @param targetState the desired state to wait for + * @param terminationStrategy the {@link TerminationStrategy} to use + * @param delayStrategy the {@link DelayStrategy} to use + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forVolumeGroupBackup( + GetVolumeGroupBackupRequest request, + com.oracle.bmc.core.model.VolumeGroupBackup.LifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + org.apache.commons.lang3.Validate.notNull(targetState, "The targetState cannot be null"); + + return forVolumeGroupBackup( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetState); + } + + /** + * Creates a new {@link Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link TerminationStrategy} to use + * @param delayStrategy the {@link DelayStrategy} to use + * @param targetStates the desired states to wait for. The waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forVolumeGroupBackup( + GetVolumeGroupBackupRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.core.model.VolumeGroupBackup.LifecycleState... targetStates) { + org.apache.commons.lang3.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + org.apache.commons.lang3.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forVolumeGroupBackup( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for VolumeGroupBackup. + private com.oracle.bmc.waiter.Waiter + forVolumeGroupBackup( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetVolumeGroupBackupRequest request, + final com.oracle.bmc.core.model.VolumeGroupBackup.LifecycleState... + targetStates) { + final java.util.Set + targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + com.google.common.base.Suppliers.ofInstance(request), + new com.google.common.base.Function< + GetVolumeGroupBackupRequest, GetVolumeGroupBackupResponse>() { + @Override + public GetVolumeGroupBackupResponse apply( + GetVolumeGroupBackupRequest request) { + return client.getVolumeGroupBackup(request); + } + }, + new com.google.common.base.Predicate() { + @Override + public boolean apply(GetVolumeGroupBackupResponse response) { + return targetStatesSet.contains( + response.getVolumeGroupBackup().getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.core.model.VolumeGroupBackup.LifecycleState + .Terminated)), + request); + } } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/Compute.java b/bmc-core/src/main/java/com/oracle/bmc/core/Compute.java index e9305dbc34b..c938d1036c5 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/Compute.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/Compute.java @@ -316,11 +316,7 @@ GetWindowsInstanceInitialCredentialsResponse getWindowsInstanceInitialCredential *

**reset** - power off and power on *

- * Note that the **stop** state has no effect on the resources you consume. - * Billing continues for instances that you stop, and related resources continue - * to apply against any relevant quotas. You must terminate an instance - * ({@link #terminateInstance(TerminateInstanceRequest) terminateInstance}) - * to remove its resources from billing and quotas. + * For more information see [Stopping and Starting an Instance](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/Tasks/restartinginstance.htm). * * @param request The request object containing the details to send * @return A response object containing details about the completed operation diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsync.java b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsync.java index 6294505aa2e..bf33647f8f5 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsync.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsync.java @@ -476,11 +476,7 @@ java.util.concurrent.Future getVolumeAttachment( *

**reset** - power off and power on *

- * Note that the **stop** state has no effect on the resources you consume. - * Billing continues for instances that you stop, and related resources continue - * to apply against any relevant quotas. You must terminate an instance - * ({@link #terminateInstance(TerminateInstanceRequest, Consumer, Consumer) terminateInstance}) - * to remove its resources from billing and quotas. + * For more information see [Stopping and Starting an Instance](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/Tasks/restartinginstance.htm). * * * @param request The request object containing the details to send diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java index 82c4bb19d2d..0da6fd4705b 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java @@ -1243,7 +1243,7 @@ ListVirtualCircuitPublicPrefixesResponse listVirtualCircuitPublicPrefixes( ListVirtualCircuitsResponse listVirtualCircuits(ListVirtualCircuitsRequest request); /** - * Updates the specified CPE's display name. + * Updates the specified CPE's display name or tags. * Avoid entering confidential information. * * @param request The request object containing the details to send @@ -1283,7 +1283,7 @@ ListVirtualCircuitPublicPrefixesResponse listVirtualCircuitPublicPrefixes( UpdateDhcpOptionsResponse updateDhcpOptions(UpdateDhcpOptionsRequest request); /** - * Updates the specified DRG's display name. Avoid entering confidential information. + * Updates the specified DRG's display name or tags. Avoid entering confidential information. * * @param request The request object containing the details to send * @return A response object containing details about the completed operation @@ -1302,7 +1302,7 @@ ListVirtualCircuitPublicPrefixesResponse listVirtualCircuitPublicPrefixes( UpdateDrgAttachmentResponse updateDrgAttachment(UpdateDrgAttachmentRequest request); /** - * Updates the display name for the specified IPSec connection. + * Updates the display name or tags for the specified IPSec connection. * Avoid entering confidential information. * * @param request The request object containing the details to send @@ -1312,8 +1312,8 @@ ListVirtualCircuitPublicPrefixesResponse listVirtualCircuitPublicPrefixes( UpdateIPSecConnectionResponse updateIPSecConnection(UpdateIPSecConnectionRequest request); /** - * Updates the specified Internet Gateway. You can disable/enable it, or change its display name. - * Avoid entering confidential information. + * Updates the specified Internet Gateway. You can disable/enable it, or change its display name + * or tags. Avoid entering confidential information. *

* If the gateway is disabled, that means no traffic will flow to/from the internet even if there's * a route rule that enables that traffic. @@ -1359,7 +1359,7 @@ UpdateLocalPeeringGatewayResponse updateLocalPeeringGateway( * * Move a reserved public IP to a different private IP. * * Unassign a reserved public IP from a private IP (which returns it to your pool * of reserved public IPs). - * * Change the display name for a public IP. + * * Change the display name or tags for a public IP. *

* Assigning, moving, and unassigning a reserved public IP are asynchronous * operations. Poll the public IP's `lifecycleState` to determine if the operation diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java index 6abd13a8ec1..5f222b34e2d 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java @@ -1896,7 +1896,7 @@ java.util.concurrent.Future listVirtualCircuits( handler); /** - * Updates the specified CPE's display name. + * Updates the specified CPE's display name or tags. * Avoid entering confidential information. * * @@ -1966,7 +1966,7 @@ java.util.concurrent.Future updateDhcpOptions( handler); /** - * Updates the specified DRG's display name. Avoid entering confidential information. + * Updates the specified DRG's display name or tags. Avoid entering confidential information. * * * @param request The request object containing the details to send @@ -1999,7 +1999,7 @@ java.util.concurrent.Future updateDrgAttachment( handler); /** - * Updates the display name for the specified IPSec connection. + * Updates the display name or tags for the specified IPSec connection. * Avoid entering confidential information. * * @@ -2017,8 +2017,8 @@ java.util.concurrent.Future updateIPSecConnection handler); /** - * Updates the specified Internet Gateway. You can disable/enable it, or change its display name. - * Avoid entering confidential information. + * Updates the specified Internet Gateway. You can disable/enable it, or change its display name + * or tags. Avoid entering confidential information. *

* If the gateway is disabled, that means no traffic will flow to/from the internet even if there's * a route rule that enables that traffic. @@ -2086,7 +2086,7 @@ java.util.concurrent.Future updatePrivateIp( * * Move a reserved public IP to a different private IP. * * Unassign a reserved public IP from a private IP (which returns it to your pool * of reserved public IPs). - * * Change the display name for a public IP. + * * Change the display name or tags for a public IP. *

* Assigning, moving, and unassigning a reserved public IP are asynchronous * operations. Poll the public IP's `lifecycleState` to determine if the operation diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/CreateVolumeGroupBackupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/CreateVolumeGroupBackupConverter.java new file mode 100644 index 00000000000..37fafeb2236 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/CreateVolumeGroupBackupConverter.java @@ -0,0 +1,105 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class CreateVolumeGroupBackupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static CreateVolumeGroupBackupRequest interceptRequest( + CreateVolumeGroupBackupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, + CreateVolumeGroupBackupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notNull( + request.getCreateVolumeGroupBackupDetails(), + "createVolumeGroupBackupDetails is required"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget().path("/20160918").path("volumeGroupBackups"); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + if (request.getOpcRetryToken() != null) { + ib.header("opc-retry-token", request.getOpcRetryToken()); + } + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, CreateVolumeGroupBackupResponse> + fromResponse() { + final com.google.common.base.Function< + javax.ws.rs.core.Response, CreateVolumeGroupBackupResponse> + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, CreateVolumeGroupBackupResponse>() { + @Override + public CreateVolumeGroupBackupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for CreateVolumeGroupBackupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + VolumeGroupBackup>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + VolumeGroupBackup.class); + + com.oracle.bmc.http.internal.WithHeaders + response = responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + CreateVolumeGroupBackupResponse.Builder builder = + CreateVolumeGroupBackupResponse.builder(); + + builder.volumeGroupBackup(response.getItem()); + + com.google.common.base.Optional> etagHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "etag"); + if (etagHeader.isPresent()) { + builder.etag( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "etag", etagHeader.get().get(0), String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + CreateVolumeGroupBackupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/CreateVolumeGroupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/CreateVolumeGroupConverter.java new file mode 100644 index 00000000000..f921064f646 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/CreateVolumeGroupConverter.java @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class CreateVolumeGroupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static CreateVolumeGroupRequest interceptRequest(CreateVolumeGroupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, CreateVolumeGroupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notNull( + request.getCreateVolumeGroupDetails(), "createVolumeGroupDetails is required"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget().path("/20160918").path("volumeGroups"); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + if (request.getOpcRetryToken() != null) { + ib.header("opc-retry-token", request.getOpcRetryToken()); + } + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, CreateVolumeGroupResponse> + fromResponse() { + final com.google.common.base.Function + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, CreateVolumeGroupResponse>() { + @Override + public CreateVolumeGroupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for CreateVolumeGroupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + VolumeGroup>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + VolumeGroup.class); + + com.oracle.bmc.http.internal.WithHeaders response = + responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + CreateVolumeGroupResponse.Builder builder = + CreateVolumeGroupResponse.builder(); + + builder.volumeGroup(response.getItem()); + + com.google.common.base.Optional> etagHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "etag"); + if (etagHeader.isPresent()) { + builder.etag( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "etag", etagHeader.get().get(0), String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + CreateVolumeGroupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/DeleteVolumeGroupBackupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/DeleteVolumeGroupBackupConverter.java new file mode 100644 index 00000000000..dbff5136564 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/DeleteVolumeGroupBackupConverter.java @@ -0,0 +1,95 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class DeleteVolumeGroupBackupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static DeleteVolumeGroupBackupRequest interceptRequest( + DeleteVolumeGroupBackupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, + DeleteVolumeGroupBackupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notBlank( + request.getVolumeGroupBackupId(), "volumeGroupBackupId must not be blank"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget() + .path("/20160918") + .path("volumeGroupBackups") + .path( + com.oracle.bmc.util.internal.HttpUtils.encodePathSegment( + request.getVolumeGroupBackupId())); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + if (request.getIfMatch() != null) { + ib.header("if-match", request.getIfMatch()); + } + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, DeleteVolumeGroupBackupResponse> + fromResponse() { + final com.google.common.base.Function< + javax.ws.rs.core.Response, DeleteVolumeGroupBackupResponse> + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, DeleteVolumeGroupBackupResponse>() { + @Override + public DeleteVolumeGroupBackupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for DeleteVolumeGroupBackupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders> + responseFn = RESPONSE_CONVERSION_FACTORY.create(); + + com.oracle.bmc.http.internal.WithHeaders response = + responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + DeleteVolumeGroupBackupResponse.Builder builder = + DeleteVolumeGroupBackupResponse.builder(); + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + DeleteVolumeGroupBackupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/DeleteVolumeGroupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/DeleteVolumeGroupConverter.java new file mode 100644 index 00000000000..9bc0aca4ba3 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/DeleteVolumeGroupConverter.java @@ -0,0 +1,91 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class DeleteVolumeGroupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static DeleteVolumeGroupRequest interceptRequest(DeleteVolumeGroupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, DeleteVolumeGroupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notBlank(request.getVolumeGroupId(), "volumeGroupId must not be blank"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget() + .path("/20160918") + .path("volumeGroups") + .path( + com.oracle.bmc.util.internal.HttpUtils.encodePathSegment( + request.getVolumeGroupId())); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + if (request.getIfMatch() != null) { + ib.header("if-match", request.getIfMatch()); + } + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, DeleteVolumeGroupResponse> + fromResponse() { + final com.google.common.base.Function + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, DeleteVolumeGroupResponse>() { + @Override + public DeleteVolumeGroupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for DeleteVolumeGroupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders> + responseFn = RESPONSE_CONVERSION_FACTORY.create(); + + com.oracle.bmc.http.internal.WithHeaders response = + responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + DeleteVolumeGroupResponse.Builder builder = + DeleteVolumeGroupResponse.builder(); + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + DeleteVolumeGroupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/GetVolumeGroupBackupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/GetVolumeGroupBackupConverter.java new file mode 100644 index 00000000000..3717ef062c6 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/GetVolumeGroupBackupConverter.java @@ -0,0 +1,104 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class GetVolumeGroupBackupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static GetVolumeGroupBackupRequest interceptRequest( + GetVolumeGroupBackupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, GetVolumeGroupBackupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notBlank( + request.getVolumeGroupBackupId(), "volumeGroupBackupId must not be blank"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget() + .path("/20160918") + .path("volumeGroupBackups") + .path( + com.oracle.bmc.util.internal.HttpUtils.encodePathSegment( + request.getVolumeGroupBackupId())); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeGroupBackupResponse> + fromResponse() { + final com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeGroupBackupResponse> + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeGroupBackupResponse>() { + @Override + public GetVolumeGroupBackupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for GetVolumeGroupBackupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + VolumeGroupBackup>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + VolumeGroupBackup.class); + + com.oracle.bmc.http.internal.WithHeaders + response = responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + GetVolumeGroupBackupResponse.Builder builder = + GetVolumeGroupBackupResponse.builder(); + + builder.volumeGroupBackup(response.getItem()); + + com.google.common.base.Optional> etagHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "etag"); + if (etagHeader.isPresent()) { + builder.etag( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "etag", etagHeader.get().get(0), String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + GetVolumeGroupBackupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/GetVolumeGroupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/GetVolumeGroupConverter.java new file mode 100644 index 00000000000..c527cc7ea4c --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/GetVolumeGroupConverter.java @@ -0,0 +1,99 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class GetVolumeGroupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static GetVolumeGroupRequest interceptRequest(GetVolumeGroupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, GetVolumeGroupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notBlank(request.getVolumeGroupId(), "volumeGroupId must not be blank"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget() + .path("/20160918") + .path("volumeGroups") + .path( + com.oracle.bmc.util.internal.HttpUtils.encodePathSegment( + request.getVolumeGroupId())); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + return ib; + } + + public static com.google.common.base.Function + fromResponse() { + final com.google.common.base.Function + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, GetVolumeGroupResponse>() { + @Override + public GetVolumeGroupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace("Transform function invoked for GetVolumeGroupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + VolumeGroup>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + VolumeGroup.class); + + com.oracle.bmc.http.internal.WithHeaders response = + responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + GetVolumeGroupResponse.Builder builder = + GetVolumeGroupResponse.builder(); + + builder.volumeGroup(response.getItem()); + + com.google.common.base.Optional> etagHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "etag"); + if (etagHeader.isPresent()) { + builder.etag( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "etag", etagHeader.get().get(0), String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + GetVolumeGroupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListBootVolumesConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListBootVolumesConverter.java index 69f40eed97d..73a4c0461b6 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListBootVolumesConverter.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListBootVolumesConverter.java @@ -57,6 +57,14 @@ public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( request.getPage())); } + if (request.getVolumeGroupId() != null) { + target = + target.queryParam( + "volumeGroupId", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getVolumeGroupId())); + } + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumeGroupBackupsConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumeGroupBackupsConverter.java new file mode 100644 index 00000000000..15de8a63816 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumeGroupBackupsConverter.java @@ -0,0 +1,158 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class ListVolumeGroupBackupsConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static ListVolumeGroupBackupsRequest interceptRequest( + ListVolumeGroupBackupsRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, ListVolumeGroupBackupsRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notNull(request.getCompartmentId(), "compartmentId is required"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget().path("/20160918").path("volumeGroupBackups"); + + target = + target.queryParam( + "compartmentId", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getCompartmentId())); + + if (request.getVolumeGroupId() != null) { + target = + target.queryParam( + "volumeGroupId", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getVolumeGroupId())); + } + + if (request.getLimit() != null) { + target = + target.queryParam( + "limit", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getLimit())); + } + + if (request.getPage() != null) { + target = + target.queryParam( + "page", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getPage())); + } + + if (request.getDisplayName() != null) { + target = + target.queryParam( + "displayName", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getDisplayName())); + } + + if (request.getSortBy() != null) { + target = + target.queryParam( + "sortBy", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getSortBy().getValue())); + } + + if (request.getSortOrder() != null) { + target = + target.queryParam( + "sortOrder", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getSortOrder().getValue())); + } + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, ListVolumeGroupBackupsResponse> + fromResponse() { + final com.google.common.base.Function< + javax.ws.rs.core.Response, ListVolumeGroupBackupsResponse> + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, ListVolumeGroupBackupsResponse>() { + @Override + public ListVolumeGroupBackupsResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for ListVolumeGroupBackupsResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + java.util.List>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + new javax.ws.rs.core.GenericType< + java.util.List< + VolumeGroupBackup>>() {}); + + com.oracle.bmc.http.internal.WithHeaders< + java.util.List> + response = responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + ListVolumeGroupBackupsResponse.Builder builder = + ListVolumeGroupBackupsResponse.builder(); + + builder.items(response.getItem()); + + com.google.common.base.Optional> + opcNextPageHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-next-page"); + if (opcNextPageHeader.isPresent()) { + builder.opcNextPage( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-next-page", + opcNextPageHeader.get().get(0), + String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + ListVolumeGroupBackupsResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumeGroupsConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumeGroupsConverter.java new file mode 100644 index 00000000000..a8f4783dbd7 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumeGroupsConverter.java @@ -0,0 +1,163 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class ListVolumeGroupsConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static ListVolumeGroupsRequest interceptRequest(ListVolumeGroupsRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, ListVolumeGroupsRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notNull(request.getCompartmentId(), "compartmentId is required"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget().path("/20160918").path("volumeGroups"); + + if (request.getAvailabilityDomain() != null) { + target = + target.queryParam( + "availabilityDomain", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getAvailabilityDomain())); + } + + target = + target.queryParam( + "compartmentId", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getCompartmentId())); + + if (request.getLimit() != null) { + target = + target.queryParam( + "limit", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getLimit())); + } + + if (request.getPage() != null) { + target = + target.queryParam( + "page", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getPage())); + } + + if (request.getDisplayName() != null) { + target = + target.queryParam( + "displayName", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getDisplayName())); + } + + if (request.getSortBy() != null) { + target = + target.queryParam( + "sortBy", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getSortBy().getValue())); + } + + if (request.getSortOrder() != null) { + target = + target.queryParam( + "sortOrder", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getSortOrder().getValue())); + } + + if (request.getLifecycleState() != null) { + target = + target.queryParam( + "lifecycleState", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getLifecycleState().getValue())); + } + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, ListVolumeGroupsResponse> + fromResponse() { + final com.google.common.base.Function + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, ListVolumeGroupsResponse>() { + @Override + public ListVolumeGroupsResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for ListVolumeGroupsResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + java.util.List>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + new javax.ws.rs.core.GenericType< + java.util.List>() {}); + + com.oracle.bmc.http.internal.WithHeaders< + java.util.List> + response = responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + ListVolumeGroupsResponse.Builder builder = + ListVolumeGroupsResponse.builder(); + + builder.items(response.getItem()); + + com.google.common.base.Optional> + opcNextPageHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-next-page"); + if (opcNextPageHeader.isPresent()) { + builder.opcNextPage( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-next-page", + opcNextPageHeader.get().get(0), + String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + ListVolumeGroupsResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumesConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumesConverter.java index 0c923a41c25..9c7d7f9dbfe 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumesConverter.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/ListVolumesConverter.java @@ -82,6 +82,14 @@ public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( request.getSortOrder().getValue())); } + if (request.getVolumeGroupId() != null) { + target = + target.queryParam( + "volumeGroupId", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getVolumeGroupId())); + } + if (request.getLifecycleState() != null) { target = target.queryParam( diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/UpdateVolumeGroupBackupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/UpdateVolumeGroupBackupConverter.java new file mode 100644 index 00000000000..949d3ed4060 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/UpdateVolumeGroupBackupConverter.java @@ -0,0 +1,100 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class UpdateVolumeGroupBackupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static UpdateVolumeGroupBackupRequest interceptRequest( + UpdateVolumeGroupBackupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, + UpdateVolumeGroupBackupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notBlank( + request.getVolumeGroupBackupId(), "volumeGroupBackupId must not be blank"); + Validate.notNull( + request.getUpdateVolumeGroupBackupDetails(), + "updateVolumeGroupBackupDetails is required"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget() + .path("/20160918") + .path("volumeGroupBackups") + .path( + com.oracle.bmc.util.internal.HttpUtils.encodePathSegment( + request.getVolumeGroupBackupId())); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + if (request.getIfMatch() != null) { + ib.header("if-match", request.getIfMatch()); + } + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, UpdateVolumeGroupBackupResponse> + fromResponse() { + final com.google.common.base.Function< + javax.ws.rs.core.Response, UpdateVolumeGroupBackupResponse> + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, UpdateVolumeGroupBackupResponse>() { + @Override + public UpdateVolumeGroupBackupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for UpdateVolumeGroupBackupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + VolumeGroupBackup>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + VolumeGroupBackup.class); + + com.oracle.bmc.http.internal.WithHeaders + response = responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + UpdateVolumeGroupBackupResponse.Builder builder = + UpdateVolumeGroupBackupResponse.builder(); + + builder.volumeGroupBackup(response.getItem()); + + com.google.common.base.Optional> etagHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "etag"); + if (etagHeader.isPresent()) { + builder.etag( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "etag", etagHeader.get().get(0), String.class)); + } + + UpdateVolumeGroupBackupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/UpdateVolumeGroupConverter.java b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/UpdateVolumeGroupConverter.java new file mode 100644 index 00000000000..9139f593244 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/internal/http/UpdateVolumeGroupConverter.java @@ -0,0 +1,107 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.internal.http; + +import com.oracle.bmc.core.model.*; +import com.oracle.bmc.core.requests.*; +import com.oracle.bmc.core.responses.*; +import org.apache.commons.lang3.Validate; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.extern.slf4j.Slf4j +public class UpdateVolumeGroupConverter { + private static final com.oracle.bmc.http.internal.ResponseConversionFunctionFactory + RESPONSE_CONVERSION_FACTORY = + new com.oracle.bmc.http.internal.ResponseConversionFunctionFactory(); + + public static UpdateVolumeGroupRequest interceptRequest(UpdateVolumeGroupRequest request) { + + return request; + } + + public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( + com.oracle.bmc.http.internal.RestClient client, UpdateVolumeGroupRequest request) { + Validate.notNull(request, "request instance is required"); + Validate.notBlank(request.getVolumeGroupId(), "volumeGroupId must not be blank"); + Validate.notNull( + request.getUpdateVolumeGroupDetails(), "updateVolumeGroupDetails is required"); + + com.oracle.bmc.http.internal.WrappedWebTarget target = + client.getBaseTarget() + .path("/20160918") + .path("volumeGroups") + .path( + com.oracle.bmc.util.internal.HttpUtils.encodePathSegment( + request.getVolumeGroupId())); + + com.oracle.bmc.http.internal.WrappedInvocationBuilder ib = target.request(); + + ib.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON); + + if (request.getIfMatch() != null) { + ib.header("if-match", request.getIfMatch()); + } + + return ib; + } + + public static com.google.common.base.Function< + javax.ws.rs.core.Response, UpdateVolumeGroupResponse> + fromResponse() { + final com.google.common.base.Function + transformer = + new com.google.common.base.Function< + javax.ws.rs.core.Response, UpdateVolumeGroupResponse>() { + @Override + public UpdateVolumeGroupResponse apply( + javax.ws.rs.core.Response rawResponse) { + LOG.trace( + "Transform function invoked for UpdateVolumeGroupResponse"); + com.google.common.base.Function< + javax.ws.rs.core.Response, + com.oracle.bmc.http.internal.WithHeaders< + VolumeGroup>> + responseFn = + RESPONSE_CONVERSION_FACTORY.create( + VolumeGroup.class); + + com.oracle.bmc.http.internal.WithHeaders response = + responseFn.apply(rawResponse); + javax.ws.rs.core.MultivaluedMap headers = + response.getHeaders(); + + UpdateVolumeGroupResponse.Builder builder = + UpdateVolumeGroupResponse.builder(); + + builder.volumeGroup(response.getItem()); + + com.google.common.base.Optional> etagHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "etag"); + if (etagHeader.isPresent()) { + builder.etag( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "etag", etagHeader.get().get(0), String.class)); + } + + com.google.common.base.Optional> + opcRequestIdHeader = + com.oracle.bmc.http.internal.HeaderUtils.get( + headers, "opc-request-id"); + if (opcRequestIdHeader.isPresent()) { + builder.opcRequestId( + com.oracle.bmc.http.internal.HeaderUtils.toValue( + "opc-request-id", + opcRequestIdHeader.get().get(0), + String.class)); + } + + UpdateVolumeGroupResponse responseWrapper = builder.build(); + + return responseWrapper; + } + }; + return transformer; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolume.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolume.java index 0b303aca075..75048dceef2 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolume.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolume.java @@ -108,6 +108,15 @@ public Builder timeCreated(java.util.Date timeCreated) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + private String volumeGroupId; + + public Builder volumeGroupId(String volumeGroupId) { + this.volumeGroupId = volumeGroupId; + this.__explicitlySet__.add("volumeGroupId"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -122,7 +131,8 @@ public BootVolume build() { lifecycleState, sizeInGBs, sizeInMBs, - timeCreated); + timeCreated, + volumeGroupId); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -138,7 +148,8 @@ public Builder copy(BootVolume o) { .lifecycleState(o.getLifecycleState()) .sizeInGBs(o.getSizeInGBs()) .sizeInMBs(o.getSizeInMBs()) - .timeCreated(o.getTimeCreated()); + .timeCreated(o.getTimeCreated()) + .volumeGroupId(o.getVolumeGroupId()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -262,6 +273,12 @@ public static LifecycleState create(String key) { @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") java.util.Date timeCreated; + /** + * The OCID of the source volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + String volumeGroupId; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/Cpe.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/Cpe.java index 65d05685f75..13ec603352b 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/Cpe.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/Cpe.java @@ -39,6 +39,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -48,6 +58,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; @@ -79,7 +98,15 @@ public Builder timeCreated(java.util.Date timeCreated) { private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public Cpe build() { - Cpe __instance__ = new Cpe(compartmentId, displayName, id, ipAddress, timeCreated); + Cpe __instance__ = + new Cpe( + compartmentId, + definedTags, + displayName, + freeformTags, + id, + ipAddress, + timeCreated); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -88,7 +115,9 @@ public Cpe build() { public Builder copy(Cpe o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .id(o.getId()) .ipAddress(o.getIpAddress()) .timeCreated(o.getTimeCreated()); @@ -111,6 +140,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -119,6 +158,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The CPE's Oracle ID (OCID). **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateCpeDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateCpeDetails.java index bfb375a7b9a..f794fc6f585 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateCpeDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateCpeDetails.java @@ -30,6 +30,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -39,6 +49,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("ipAddress") private String ipAddress; @@ -53,7 +72,8 @@ public Builder ipAddress(String ipAddress) { public CreateCpeDetails build() { CreateCpeDetails __instance__ = - new CreateCpeDetails(compartmentId, displayName, ipAddress); + new CreateCpeDetails( + compartmentId, definedTags, displayName, freeformTags, ipAddress); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -62,7 +82,9 @@ public CreateCpeDetails build() { public Builder copy(CreateCpeDetails o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .ipAddress(o.getIpAddress()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); @@ -83,12 +105,33 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. **/ @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The public IP address of the on-premises router. *

diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDrgDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDrgDetails.java index c7f3f63f48d..4bd67a28048 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDrgDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDrgDetails.java @@ -30,6 +30,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -39,11 +49,21 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public CreateDrgDetails build() { - CreateDrgDetails __instance__ = new CreateDrgDetails(compartmentId, displayName); + CreateDrgDetails __instance__ = + new CreateDrgDetails(compartmentId, definedTags, displayName, freeformTags); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -51,7 +71,10 @@ public CreateDrgDetails build() { @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(CreateDrgDetails o) { Builder copiedBuilder = - compartmentId(o.getCompartmentId()).displayName(o.getDisplayName()); + compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -71,12 +94,33 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. **/ @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateIPSecConnectionDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateIPSecConnectionDetails.java index 1551167dff2..4e680ad15f3 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateIPSecConnectionDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateIPSecConnectionDetails.java @@ -41,6 +41,16 @@ public Builder cpeId(String cpeId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -59,6 +69,15 @@ public Builder drgId(String drgId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("staticRoutes") private java.util.List staticRoutes; @@ -74,7 +93,13 @@ public Builder staticRoutes(java.util.List staticRoutes) { public CreateIPSecConnectionDetails build() { CreateIPSecConnectionDetails __instance__ = new CreateIPSecConnectionDetails( - compartmentId, cpeId, displayName, drgId, staticRoutes); + compartmentId, + cpeId, + definedTags, + displayName, + drgId, + freeformTags, + staticRoutes); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -84,8 +109,10 @@ public Builder copy(CreateIPSecConnectionDetails o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) .cpeId(o.getCpeId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) .drgId(o.getDrgId()) + .freeformTags(o.getFreeformTags()) .staticRoutes(o.getStaticRoutes()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); @@ -112,6 +139,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("cpeId") String cpeId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. **/ @@ -124,6 +161,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("drgId") String drgId; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * Static routes to the CPE. At least one route must be included. The CIDR must not be a * multicast address or class E address. diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInternetGatewayDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInternetGatewayDetails.java index bbc6bde9c73..c10a46c5a47 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInternetGatewayDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInternetGatewayDetails.java @@ -32,6 +32,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -41,6 +51,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isEnabled") private Boolean isEnabled; @@ -64,7 +83,13 @@ public Builder vcnId(String vcnId) { public CreateInternetGatewayDetails build() { CreateInternetGatewayDetails __instance__ = - new CreateInternetGatewayDetails(compartmentId, displayName, isEnabled, vcnId); + new CreateInternetGatewayDetails( + compartmentId, + definedTags, + displayName, + freeformTags, + isEnabled, + vcnId); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -73,7 +98,9 @@ public CreateInternetGatewayDetails build() { public Builder copy(CreateInternetGatewayDetails o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .isEnabled(o.getIsEnabled()) .vcnId(o.getVcnId()); @@ -95,12 +122,33 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. **/ @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * Whether the gateway is enabled upon creation. **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateLocalPeeringGatewayDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateLocalPeeringGatewayDetails.java index 4258b26a742..fc4342ec825 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateLocalPeeringGatewayDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateLocalPeeringGatewayDetails.java @@ -32,6 +32,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -41,6 +51,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("vcnId") private String vcnId; @@ -55,7 +74,8 @@ public Builder vcnId(String vcnId) { public CreateLocalPeeringGatewayDetails build() { CreateLocalPeeringGatewayDetails __instance__ = - new CreateLocalPeeringGatewayDetails(compartmentId, displayName, vcnId); + new CreateLocalPeeringGatewayDetails( + compartmentId, definedTags, displayName, freeformTags, vcnId); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -64,7 +84,9 @@ public CreateLocalPeeringGatewayDetails build() { public Builder copy(CreateLocalPeeringGatewayDetails o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .vcnId(o.getVcnId()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); @@ -85,6 +107,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid * entering confidential information. @@ -93,6 +125,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The OCID of the VCN the LPG belongs to. **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreatePublicIpDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreatePublicIpDetails.java index dd5445958c3..f521a77db52 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreatePublicIpDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreatePublicIpDetails.java @@ -32,6 +32,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -41,6 +51,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("lifetime") private Lifetime lifetime; @@ -64,7 +83,13 @@ public Builder privateIpId(String privateIpId) { public CreatePublicIpDetails build() { CreatePublicIpDetails __instance__ = - new CreatePublicIpDetails(compartmentId, displayName, lifetime, privateIpId); + new CreatePublicIpDetails( + compartmentId, + definedTags, + displayName, + freeformTags, + lifetime, + privateIpId); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -73,7 +98,9 @@ public CreatePublicIpDetails build() { public Builder copy(CreatePublicIpDetails o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .lifetime(o.getLifetime()) .privateIpId(o.getPrivateIpId()); @@ -97,6 +124,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid * entering confidential information. @@ -104,6 +141,17 @@ public static Builder builder() { **/ @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; /** * Defines when the public IP is deleted and released back to the Oracle Cloud * Infrastructure public IP pool. For more information, see diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVnicDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVnicDetails.java index 993e27dc1d5..41b95deca7a 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVnicDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVnicDetails.java @@ -36,6 +36,16 @@ public Builder assignPublicIp(Boolean assignPublicIp) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -45,6 +55,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("hostnameLabel") private String hostnameLabel; @@ -88,7 +107,9 @@ public CreateVnicDetails build() { CreateVnicDetails __instance__ = new CreateVnicDetails( assignPublicIp, + definedTags, displayName, + freeformTags, hostnameLabel, privateIp, skipSourceDestCheck, @@ -101,7 +122,9 @@ public CreateVnicDetails build() { public Builder copy(CreateVnicDetails o) { Builder copiedBuilder = assignPublicIp(o.getAssignPublicIp()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .hostnameLabel(o.getHostnameLabel()) .privateIp(o.getPrivateIp()) .skipSourceDestCheck(o.getSkipSourceDestCheck()) @@ -145,6 +168,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("assignPublicIp") Boolean assignPublicIp; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name for the VNIC. Does not have to be unique. * Avoid entering confidential information. @@ -153,6 +186,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname * portion of the primary private IP's fully qualified domain name (FQDN) diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java new file mode 100644 index 00000000000..429e50734c7 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java @@ -0,0 +1,200 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateVolumeGroupBackupDetails.Builder.class +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class CreateVolumeGroupBackupDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("type") + private Type type; + + public Builder type(Type type) { + this.type = type; + this.__explicitlySet__.add("type"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + private String volumeGroupId; + + public Builder volumeGroupId(String volumeGroupId) { + this.volumeGroupId = volumeGroupId; + this.__explicitlySet__.add("volumeGroupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateVolumeGroupBackupDetails build() { + CreateVolumeGroupBackupDetails __instance__ = + new CreateVolumeGroupBackupDetails( + compartmentId, + definedTags, + displayName, + freeformTags, + type, + volumeGroupId); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateVolumeGroupBackupDetails o) { + Builder copiedBuilder = + compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .type(o.getType()) + .volumeGroupId(o.getVolumeGroupId()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + /** + * The OCID of the compartment that will contain the volume group backup. This parameter is optional, by default backup will be created in the same compartment and source volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + String compartmentId; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * A user-friendly name for the volume group backup. Does not have to be unique and it's changeable. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** + * The type of backup to create. If omitted, defaults to incremental. + **/ + public enum Type { + Full("FULL"), + Incremental("INCREMENTAL"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Type v : Type.values()) { + map.put(v.getValue(), v); + } + } + + Type(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Type create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid Type: " + key); + } + }; + /** + * The type of backup to create. If omitted, defaults to incremental. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("type") + Type type; + + /** + * The OCID of the volume group that needs to be backed up. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + String volumeGroupId; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupDetails.java new file mode 100644 index 00000000000..70398bb159f --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupDetails.java @@ -0,0 +1,168 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateVolumeGroupDetails.Builder.class +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class CreateVolumeGroupDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sourceDetails") + private VolumeGroupSourceDetails sourceDetails; + + public Builder sourceDetails(VolumeGroupSourceDetails sourceDetails) { + this.sourceDetails = sourceDetails; + this.__explicitlySet__.add("sourceDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateVolumeGroupDetails build() { + CreateVolumeGroupDetails __instance__ = + new CreateVolumeGroupDetails( + availabilityDomain, + compartmentId, + definedTags, + displayName, + freeformTags, + sourceDetails); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateVolumeGroupDetails o) { + Builder copiedBuilder = + availabilityDomain(o.getAvailabilityDomain()) + .compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .sourceDetails(o.getSourceDetails()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + /** + * The Availability Domain of the volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + String availabilityDomain; + + /** + * The OCID of the compartment that contains the volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + String compartmentId; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * A user-friendly name for the volume group. Does not have to be unique, and it's changeable. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + + /** + * Specifies the volume group source details for a new volume group. The volume source is either another a list of + * volume ids in the same Availability Domain, another volume group or a volume group backup. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("sourceDetails") + VolumeGroupSourceDetails sourceDetails; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/Drg.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/Drg.java index 4aea92f7b48..ac4ce355dcf 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/Drg.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/Drg.java @@ -39,6 +39,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -48,6 +58,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; @@ -79,7 +98,15 @@ public Builder timeCreated(java.util.Date timeCreated) { private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public Drg build() { - Drg __instance__ = new Drg(compartmentId, displayName, id, lifecycleState, timeCreated); + Drg __instance__ = + new Drg( + compartmentId, + definedTags, + displayName, + freeformTags, + id, + lifecycleState, + timeCreated); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -88,7 +115,9 @@ public Drg build() { public Builder copy(Drg o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .id(o.getId()) .lifecycleState(o.getLifecycleState()) .timeCreated(o.getTimeCreated()); @@ -111,6 +140,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -119,6 +158,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The DRG's Oracle ID (OCID). **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/IPSecConnection.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/IPSecConnection.java index 31260962b09..2a1b41bf77d 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/IPSecConnection.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/IPSecConnection.java @@ -47,6 +47,16 @@ public Builder cpeId(String cpeId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -65,6 +75,15 @@ public Builder drgId(String drgId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; @@ -109,8 +128,10 @@ public IPSecConnection build() { new IPSecConnection( compartmentId, cpeId, + definedTags, displayName, drgId, + freeformTags, id, lifecycleState, staticRoutes, @@ -124,8 +145,10 @@ public Builder copy(IPSecConnection o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) .cpeId(o.getCpeId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) .drgId(o.getDrgId()) + .freeformTags(o.getFreeformTags()) .id(o.getId()) .lifecycleState(o.getLifecycleState()) .staticRoutes(o.getStaticRoutes()) @@ -155,6 +178,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("cpeId") String cpeId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -169,6 +202,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("drgId") String drgId; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The IPSec connection's Oracle ID (OCID). **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/InternetGateway.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/InternetGateway.java index 246334f5fda..773ab3baba3 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/InternetGateway.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/InternetGateway.java @@ -37,6 +37,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -46,6 +56,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; @@ -98,7 +117,9 @@ public InternetGateway build() { InternetGateway __instance__ = new InternetGateway( compartmentId, + definedTags, displayName, + freeformTags, id, isEnabled, lifecycleState, @@ -112,7 +133,9 @@ public InternetGateway build() { public Builder copy(InternetGateway o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .id(o.getId()) .isEnabled(o.getIsEnabled()) .lifecycleState(o.getLifecycleState()) @@ -137,6 +160,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -145,6 +178,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The Internet Gateway's Oracle ID (OCID). **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/LaunchOptions.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/LaunchOptions.java index e185b5209b3..4113b74318f 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/LaunchOptions.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/LaunchOptions.java @@ -96,6 +96,7 @@ public static Builder builder() { * * `IDE` - Emulated IDE disk. * * `VFIO` - Direct attached Virtual Function storage. This is the default option for Local data * volumes on Oracle provided images. + * * `PARAVIRTUALIZED` - Paravirtualized disk. * **/ @lombok.extern.slf4j.Slf4j @@ -104,6 +105,7 @@ public enum BootVolumeType { Scsi("SCSI"), Ide("IDE"), Vfio("VFIO"), + Paravirtualized("PARAVIRTUALIZED"), /** * This value is used if a service returns a value for this enum that is not recognized by this @@ -151,6 +153,7 @@ public static BootVolumeType create(String key) { * * `IDE` - Emulated IDE disk. * * `VFIO` - Direct attached Virtual Function storage. This is the default option for Local data * volumes on Oracle provided images. + * * `PARAVIRTUALIZED` - Paravirtualized disk. * **/ @com.fasterxml.jackson.annotation.JsonProperty("bootVolumeType") @@ -281,6 +284,7 @@ public static NetworkType create(String key) { * * `IDE` - Emulated IDE disk. * * `VFIO` - Direct attached Virtual Function storage. This is the default option for Local data * volumes on Oracle provided images. + * * `PARAVIRTUALIZED` - Paravirtualized disk. * **/ @lombok.extern.slf4j.Slf4j @@ -289,6 +293,7 @@ public enum RemoteDataVolumeType { Scsi("SCSI"), Ide("IDE"), Vfio("VFIO"), + Paravirtualized("PARAVIRTUALIZED"), /** * This value is used if a service returns a value for this enum that is not recognized by this @@ -336,6 +341,7 @@ public static RemoteDataVolumeType create(String key) { * * `IDE` - Emulated IDE disk. * * `VFIO` - Direct attached Virtual Function storage. This is the default option for Local data * volumes on Oracle provided images. + * * `PARAVIRTUALIZED` - Paravirtualized disk. * **/ @com.fasterxml.jackson.annotation.JsonProperty("remoteDataVolumeType") diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/LocalPeeringGateway.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/LocalPeeringGateway.java index 52575eb3285..e8b46076908 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/LocalPeeringGateway.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/LocalPeeringGateway.java @@ -41,6 +41,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -50,6 +60,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; @@ -129,7 +148,9 @@ public LocalPeeringGateway build() { LocalPeeringGateway __instance__ = new LocalPeeringGateway( compartmentId, + definedTags, displayName, + freeformTags, id, isCrossTenancyPeering, lifecycleState, @@ -146,7 +167,9 @@ public LocalPeeringGateway build() { public Builder copy(LocalPeeringGateway o) { Builder copiedBuilder = compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .id(o.getId()) .isCrossTenancyPeering(o.getIsCrossTenancyPeering()) .lifecycleState(o.getLifecycleState()) @@ -174,6 +197,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid * entering confidential information. @@ -182,6 +215,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The LPG's Oracle ID (OCID). **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/PublicIp.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/PublicIp.java index f5b957599b8..319b72ac15f 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/PublicIp.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/PublicIp.java @@ -48,6 +48,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -57,6 +67,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; @@ -128,7 +147,9 @@ public PublicIp build() { new PublicIp( availabilityDomain, compartmentId, + definedTags, displayName, + freeformTags, id, ipAddress, lifecycleState, @@ -145,7 +166,9 @@ public Builder copy(PublicIp o) { Builder copiedBuilder = availabilityDomain(o.getAvailabilityDomain()) .compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .id(o.getId()) .ipAddress(o.getIpAddress()) .lifecycleState(o.getLifecycleState()) @@ -186,6 +209,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid * entering confidential information. @@ -194,6 +227,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The public IP's Oracle ID (OCID). **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateCpeDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateCpeDetails.java index c89039cb987..a74c54d31eb 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateCpeDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateCpeDetails.java @@ -21,6 +21,16 @@ public class UpdateCpeDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -30,18 +40,31 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateCpeDetails build() { - UpdateCpeDetails __instance__ = new UpdateCpeDetails(displayName); + UpdateCpeDetails __instance__ = + new UpdateCpeDetails(definedTags, displayName, freeformTags); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateCpeDetails o) { - Builder copiedBuilder = displayName(o.getDisplayName()); + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -55,6 +78,16 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -63,6 +96,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateDrgDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateDrgDetails.java index 161c13a54b8..3742476aac2 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateDrgDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateDrgDetails.java @@ -21,6 +21,16 @@ public class UpdateDrgDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -30,18 +40,31 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateDrgDetails build() { - UpdateDrgDetails __instance__ = new UpdateDrgDetails(displayName); + UpdateDrgDetails __instance__ = + new UpdateDrgDetails(definedTags, displayName, freeformTags); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateDrgDetails o) { - Builder copiedBuilder = displayName(o.getDisplayName()); + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -55,6 +78,16 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -63,6 +96,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateIPSecConnectionDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateIPSecConnectionDetails.java index 4c65f3490dc..b572763bfd9 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateIPSecConnectionDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateIPSecConnectionDetails.java @@ -23,6 +23,16 @@ public class UpdateIPSecConnectionDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -32,19 +42,31 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateIPSecConnectionDetails build() { UpdateIPSecConnectionDetails __instance__ = - new UpdateIPSecConnectionDetails(displayName); + new UpdateIPSecConnectionDetails(definedTags, displayName, freeformTags); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateIPSecConnectionDetails o) { - Builder copiedBuilder = displayName(o.getDisplayName()); + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -58,6 +80,16 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -66,6 +98,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInternetGatewayDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInternetGatewayDetails.java index 7d9fbc14a5b..1d67593a79b 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInternetGatewayDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInternetGatewayDetails.java @@ -23,6 +23,16 @@ public class UpdateInternetGatewayDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -32,6 +42,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isEnabled") private Boolean isEnabled; @@ -46,14 +65,19 @@ public Builder isEnabled(Boolean isEnabled) { public UpdateInternetGatewayDetails build() { UpdateInternetGatewayDetails __instance__ = - new UpdateInternetGatewayDetails(displayName, isEnabled); + new UpdateInternetGatewayDetails( + definedTags, displayName, freeformTags, isEnabled); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateInternetGatewayDetails o) { - Builder copiedBuilder = displayName(o.getDisplayName()).isEnabled(o.getIsEnabled()); + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .isEnabled(o.getIsEnabled()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -67,6 +91,16 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. * Avoid entering confidential information. @@ -75,6 +109,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * Whether the gateway is enabled. **/ diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateLocalPeeringGatewayDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateLocalPeeringGatewayDetails.java index 07498c513e3..5aad31b682a 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateLocalPeeringGatewayDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateLocalPeeringGatewayDetails.java @@ -23,6 +23,16 @@ public class UpdateLocalPeeringGatewayDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -32,19 +42,31 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateLocalPeeringGatewayDetails build() { UpdateLocalPeeringGatewayDetails __instance__ = - new UpdateLocalPeeringGatewayDetails(displayName); + new UpdateLocalPeeringGatewayDetails(definedTags, displayName, freeformTags); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateLocalPeeringGatewayDetails o) { - Builder copiedBuilder = displayName(o.getDisplayName()); + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -58,6 +80,16 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid * entering confidential information. @@ -66,6 +98,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdatePublicIpDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdatePublicIpDetails.java index 8fa0ab03329..75f27f1ea3f 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdatePublicIpDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdatePublicIpDetails.java @@ -23,6 +23,16 @@ public class UpdatePublicIpDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -32,6 +42,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("privateIpId") private String privateIpId; @@ -46,14 +65,18 @@ public Builder privateIpId(String privateIpId) { public UpdatePublicIpDetails build() { UpdatePublicIpDetails __instance__ = - new UpdatePublicIpDetails(displayName, privateIpId); + new UpdatePublicIpDetails(definedTags, displayName, freeformTags, privateIpId); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdatePublicIpDetails o) { - Builder copiedBuilder = displayName(o.getDisplayName()).privateIpId(o.getPrivateIpId()); + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .privateIpId(o.getPrivateIpId()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -67,6 +90,16 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid * entering confidential information. @@ -75,6 +108,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The OCID of the private IP to assign the public IP to. * * If the public IP is already assigned to a different private IP, it will be unassigned diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVnicDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVnicDetails.java index 7e5d5817bbc..5282e90c91a 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVnicDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVnicDetails.java @@ -23,6 +23,16 @@ public class UpdateVnicDetails { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -32,6 +42,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("hostnameLabel") private String hostnameLabel; @@ -55,7 +74,12 @@ public Builder skipSourceDestCheck(Boolean skipSourceDestCheck) { public UpdateVnicDetails build() { UpdateVnicDetails __instance__ = - new UpdateVnicDetails(displayName, hostnameLabel, skipSourceDestCheck); + new UpdateVnicDetails( + definedTags, + displayName, + freeformTags, + hostnameLabel, + skipSourceDestCheck); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -63,7 +87,9 @@ public UpdateVnicDetails build() { @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateVnicDetails o) { Builder copiedBuilder = - displayName(o.getDisplayName()) + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .hostnameLabel(o.getHostnameLabel()) .skipSourceDestCheck(o.getSkipSourceDestCheck()); @@ -79,12 +105,33 @@ public static Builder builder() { return new Builder(); } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique, and it's changeable. **/ @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname * portion of the primary private IP's fully qualified domain name (FQDN) diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java new file mode 100644 index 00000000000..6bc45021582 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java @@ -0,0 +1,112 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateVolumeGroupBackupDetails.Builder.class +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class UpdateVolumeGroupBackupDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateVolumeGroupBackupDetails build() { + UpdateVolumeGroupBackupDetails __instance__ = + new UpdateVolumeGroupBackupDetails(definedTags, displayName, freeformTags); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateVolumeGroupBackupDetails o) { + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * A friendly user-specified name for the volume group backup. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupDetails.java new file mode 100644 index 00000000000..30550b801d9 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupDetails.java @@ -0,0 +1,128 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateVolumeGroupDetails.Builder.class +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class UpdateVolumeGroupDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("volumeIds") + private java.util.List volumeIds; + + public Builder volumeIds(java.util.List volumeIds) { + this.volumeIds = volumeIds; + this.__explicitlySet__.add("volumeIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateVolumeGroupDetails build() { + UpdateVolumeGroupDetails __instance__ = + new UpdateVolumeGroupDetails(definedTags, displayName, freeformTags, volumeIds); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateVolumeGroupDetails o) { + Builder copiedBuilder = + definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .volumeIds(o.getVolumeIds()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * A user-friendly name for the volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + + /** + * OCIDs for the volumes in this volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeIds") + java.util.List volumeIds; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/Vnic.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/Vnic.java index 26c37a25a61..5b190f8d67e 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/Vnic.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/Vnic.java @@ -54,6 +54,16 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -63,6 +73,15 @@ public Builder displayName(String displayName) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("hostnameLabel") private String hostnameLabel; @@ -161,7 +180,9 @@ public Vnic build() { new Vnic( availabilityDomain, compartmentId, + definedTags, displayName, + freeformTags, hostnameLabel, id, isPrimary, @@ -181,7 +202,9 @@ public Builder copy(Vnic o) { Builder copiedBuilder = availabilityDomain(o.getAvailabilityDomain()) .compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) .hostnameLabel(o.getHostnameLabel()) .id(o.getId()) .isPrimary(o.getIsPrimary()) @@ -220,6 +243,16 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + /** * A user-friendly name. Does not have to be unique. * Avoid entering confidential information. @@ -228,6 +261,17 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName; + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + /** * The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname * portion of the primary private IP's fully qualified domain name (FQDN) diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/Volume.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/Volume.java index 0cd5ce9a9d0..740a4320514 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/Volume.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/Volume.java @@ -137,6 +137,15 @@ public Builder timeCreated(java.util.Date timeCreated) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + private String volumeGroupId; + + public Builder volumeGroupId(String volumeGroupId) { + this.volumeGroupId = volumeGroupId; + this.__explicitlySet__.add("volumeGroupId"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -154,7 +163,8 @@ public Volume build() { sizeInGBs, sizeInMBs, sourceDetails, - timeCreated); + timeCreated, + volumeGroupId); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -173,7 +183,8 @@ public Builder copy(Volume o) { .sizeInGBs(o.getSizeInGBs()) .sizeInMBs(o.getSizeInMBs()) .sourceDetails(o.getSourceDetails()) - .timeCreated(o.getTimeCreated()); + .timeCreated(o.getTimeCreated()) + .volumeGroupId(o.getVolumeGroupId()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -324,6 +335,12 @@ public static LifecycleState create(String key) { @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") java.util.Date timeCreated; + /** + * The OCID of the source volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + String volumeGroupId; + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroup.java new file mode 100644 index 00000000000..f1217a4f86c --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroup.java @@ -0,0 +1,299 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * Specifies a volume group. A volume group is a collection of block volumes. + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = VolumeGroup.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class VolumeGroup { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sizeInMBs") + private Long sizeInMBs; + + public Builder sizeInMBs(Long sizeInMBs) { + this.sizeInMBs = sizeInMBs; + this.__explicitlySet__.add("sizeInMBs"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sourceDetails") + private VolumeGroupSourceDetails sourceDetails; + + public Builder sourceDetails(VolumeGroupSourceDetails sourceDetails) { + this.sourceDetails = sourceDetails; + this.__explicitlySet__.add("sourceDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("volumeIds") + private java.util.List volumeIds; + + public Builder volumeIds(java.util.List volumeIds) { + this.volumeIds = volumeIds; + this.__explicitlySet__.add("volumeIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public VolumeGroup build() { + VolumeGroup __instance__ = + new VolumeGroup( + availabilityDomain, + compartmentId, + definedTags, + displayName, + freeformTags, + id, + lifecycleState, + sizeInMBs, + sourceDetails, + timeCreated, + volumeIds); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(VolumeGroup o) { + Builder copiedBuilder = + availabilityDomain(o.getAvailabilityDomain()) + .compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .id(o.getId()) + .lifecycleState(o.getLifecycleState()) + .sizeInMBs(o.getSizeInMBs()) + .sourceDetails(o.getSourceDetails()) + .timeCreated(o.getTimeCreated()) + .volumeIds(o.getVolumeIds()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + /** + * The Availability Domain of the volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + String availabilityDomain; + + /** + * The OCID of the compartment that contains the volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + String compartmentId; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * A user-friendly name for the volume group. Does not have to be unique, and it's changeable. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("id") + String id; + /** + * The current state of a volume group. + **/ + @lombok.extern.slf4j.Slf4j + public enum LifecycleState { + Provisioning("PROVISIONING"), + Available("AVAILABLE"), + Terminating("TERMINATING"), + Terminated("TERMINATED"), + Faulty("FAULTY"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by this + * version of the SDK. + */ + UnknownEnumValue(null); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleState v : LifecycleState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The current state of a volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + LifecycleState lifecycleState; + + /** + * The aggregate size of the volume group in MBs. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("sizeInMBs") + Long sizeInMBs; + + /** + * The volume group source. The volume source is either another a list of + * volume ids in the same Availability Domain, another volume group or a volume group backup. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("sourceDetails") + VolumeGroupSourceDetails sourceDetails; + + /** + * The date and time the volume group was created. Format defined by RFC3339. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + java.util.Date timeCreated; + + /** + * OCIDs for the volumes in this volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeIds") + java.util.List volumeIds; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java new file mode 100644 index 00000000000..8f3141da695 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java @@ -0,0 +1,392 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * A point-in-time copy of a volume group that can then be used to create a new block volume group + * or recover a block volume group. + *

+ * To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, + * talk to an administrator. If you're an administrator who needs to write policies to give users access, see + * [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm). + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = VolumeGroupBackup.Builder.class +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class VolumeGroupBackup { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sizeInMBs") + private Long sizeInMBs; + + public Builder sizeInMBs(Long sizeInMBs) { + this.sizeInMBs = sizeInMBs; + this.__explicitlySet__.add("sizeInMBs"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeRequestReceived") + private java.util.Date timeRequestReceived; + + public Builder timeRequestReceived(java.util.Date timeRequestReceived) { + this.timeRequestReceived = timeRequestReceived; + this.__explicitlySet__.add("timeRequestReceived"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("type") + private Type type; + + public Builder type(Type type) { + this.type = type; + this.__explicitlySet__.add("type"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("uniqueSizeInMbs") + private Long uniqueSizeInMbs; + + public Builder uniqueSizeInMbs(Long uniqueSizeInMbs) { + this.uniqueSizeInMbs = uniqueSizeInMbs; + this.__explicitlySet__.add("uniqueSizeInMbs"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("volumeBackupIds") + private java.util.List volumeBackupIds; + + public Builder volumeBackupIds(java.util.List volumeBackupIds) { + this.volumeBackupIds = volumeBackupIds; + this.__explicitlySet__.add("volumeBackupIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + private String volumeGroupId; + + public Builder volumeGroupId(String volumeGroupId) { + this.volumeGroupId = volumeGroupId; + this.__explicitlySet__.add("volumeGroupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public VolumeGroupBackup build() { + VolumeGroupBackup __instance__ = + new VolumeGroupBackup( + compartmentId, + definedTags, + displayName, + freeformTags, + id, + lifecycleState, + sizeInMBs, + timeCreated, + timeRequestReceived, + type, + uniqueSizeInMbs, + volumeBackupIds, + volumeGroupId); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(VolumeGroupBackup o) { + Builder copiedBuilder = + compartmentId(o.getCompartmentId()) + .definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .freeformTags(o.getFreeformTags()) + .id(o.getId()) + .lifecycleState(o.getLifecycleState()) + .sizeInMBs(o.getSizeInMBs()) + .timeCreated(o.getTimeCreated()) + .timeRequestReceived(o.getTimeRequestReceived()) + .type(o.getType()) + .uniqueSizeInMbs(o.getUniqueSizeInMbs()) + .volumeBackupIds(o.getVolumeBackupIds()) + .volumeGroupId(o.getVolumeGroupId()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + /** + * The OCID of the compartment that contains the volume group backup. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + String compartmentId; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * A user-friendly name for the volume group backup. Does not have to be unique and it's changeable. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no + * predefined name, type, or namespace. For more information, see + * [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + + /** + * The OCID of the volume group backup (unique). + **/ + @com.fasterxml.jackson.annotation.JsonProperty("id") + String id; + /** + * The current state of a volume group backup. + **/ + @lombok.extern.slf4j.Slf4j + public enum LifecycleState { + Creating("CREATING"), + Committed("COMMITTED"), + Available("AVAILABLE"), + Terminating("TERMINATING"), + Terminated("TERMINATED"), + Faulty("FAULTY"), + RequestReceived("REQUEST_RECEIVED"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by this + * version of the SDK. + */ + UnknownEnumValue(null); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleState v : LifecycleState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The current state of a volume group backup. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + LifecycleState lifecycleState; + + /** + * The aggregate size of the volume group backup, in MBs. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("sizeInMBs") + Long sizeInMBs; + + /** + * The date and time the volume group backup was created. This is the time the actual point-in-time image + * of the volume group data was taken. Format defined by RFC3339. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + java.util.Date timeCreated; + + /** + * The date and time the request to create the volume group backup was received. Format defined by RFC3339. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("timeRequestReceived") + java.util.Date timeRequestReceived; + /** + * The type of backup. + **/ + @lombok.extern.slf4j.Slf4j + public enum Type { + Full("FULL"), + Incremental("INCREMENTAL"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by this + * version of the SDK. + */ + UnknownEnumValue(null); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Type v : Type.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + Type(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Type create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'Type', returning UnknownEnumValue", key); + return UnknownEnumValue; + } + }; + /** + * The type of backup. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("type") + Type type; + + /** + * The aggregate size used by the volume group backup, in MBs. + * It is typically smaller than sizeInMBs, depending on the space + * consumed on the volume group and whether the backup is full or incremental. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("uniqueSizeInMbs") + Long uniqueSizeInMbs; + + /** + * OCIDs for the backups in this volume group backup. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeBackupIds") + java.util.List volumeBackupIds; + + /** + * The OCID of the source volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + String volumeGroupId; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceDetails.java new file mode 100644 index 00000000000..c17f2eec849 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceDetails.java @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * Specifies the source for a volume group. + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@lombok.experimental.NonFinal +@lombok.AllArgsConstructor(access = lombok.AccessLevel.PROTECTED) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "type", + defaultImpl = VolumeGroupSourceDetails.class +) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = VolumeGroupSourceFromVolumeGroupDetails.class, + name = "volumeGroupId" + ), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = VolumeGroupSourceFromVolumesDetails.class, + name = "volumeIds" + ), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = VolumeGroupSourceFromVolumeGroupBackupDetails.class, + name = "volumeGroupBackupId" + ) +}) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class VolumeGroupSourceDetails {} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumeGroupBackupDetails.java new file mode 100644 index 00000000000..a663227874d --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumeGroupBackupDetails.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * Specifies the volume group backup to restore from. + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = VolumeGroupSourceFromVolumeGroupBackupDetails.Builder.class +) +@lombok.ToString(callSuper = true) +@lombok.EqualsAndHashCode(callSuper = true) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "type" +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class VolumeGroupSourceFromVolumeGroupBackupDetails extends VolumeGroupSourceDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId") + private String volumeGroupBackupId; + + public Builder volumeGroupBackupId(String volumeGroupBackupId) { + this.volumeGroupBackupId = volumeGroupBackupId; + this.__explicitlySet__.add("volumeGroupBackupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public VolumeGroupSourceFromVolumeGroupBackupDetails build() { + VolumeGroupSourceFromVolumeGroupBackupDetails __instance__ = + new VolumeGroupSourceFromVolumeGroupBackupDetails(volumeGroupBackupId); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(VolumeGroupSourceFromVolumeGroupBackupDetails o) { + Builder copiedBuilder = volumeGroupBackupId(o.getVolumeGroupBackupId()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + public VolumeGroupSourceFromVolumeGroupBackupDetails(String volumeGroupBackupId) { + super(); + this.volumeGroupBackupId = volumeGroupBackupId; + } + + /** + * The OCID of the volume group backup to restore from. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId") + String volumeGroupBackupId; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumeGroupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumeGroupDetails.java new file mode 100644 index 00000000000..6d174137c78 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumeGroupDetails.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * Specifies the volume group to clone from. + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = VolumeGroupSourceFromVolumeGroupDetails.Builder.class +) +@lombok.ToString(callSuper = true) +@lombok.EqualsAndHashCode(callSuper = true) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "type" +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class VolumeGroupSourceFromVolumeGroupDetails extends VolumeGroupSourceDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + private String volumeGroupId; + + public Builder volumeGroupId(String volumeGroupId) { + this.volumeGroupId = volumeGroupId; + this.__explicitlySet__.add("volumeGroupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public VolumeGroupSourceFromVolumeGroupDetails build() { + VolumeGroupSourceFromVolumeGroupDetails __instance__ = + new VolumeGroupSourceFromVolumeGroupDetails(volumeGroupId); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(VolumeGroupSourceFromVolumeGroupDetails o) { + Builder copiedBuilder = volumeGroupId(o.getVolumeGroupId()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + public VolumeGroupSourceFromVolumeGroupDetails(String volumeGroupId) { + super(); + this.volumeGroupId = volumeGroupId; + } + + /** + * The OCID of the volume group to clone from. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupId") + String volumeGroupId; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumesDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumesDetails.java new file mode 100644 index 00000000000..5b6fc8acf00 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupSourceFromVolumesDetails.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.model; + +/** + * Specifies volumes in a volume group. + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = VolumeGroupSourceFromVolumesDetails.Builder.class +) +@lombok.ToString(callSuper = true) +@lombok.EqualsAndHashCode(callSuper = true) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "type" +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class VolumeGroupSourceFromVolumesDetails extends VolumeGroupSourceDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("volumeIds") + private java.util.List volumeIds; + + public Builder volumeIds(java.util.List volumeIds) { + this.volumeIds = volumeIds; + this.__explicitlySet__.add("volumeIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public VolumeGroupSourceFromVolumesDetails build() { + VolumeGroupSourceFromVolumesDetails __instance__ = + new VolumeGroupSourceFromVolumesDetails(volumeIds); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(VolumeGroupSourceFromVolumesDetails o) { + Builder copiedBuilder = volumeIds(o.getVolumeIds()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + public VolumeGroupSourceFromVolumesDetails(java.util.List volumeIds) { + super(); + this.volumeIds = volumeIds; + } + + /** + * OCIDs for the volumes in this volume group. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("volumeIds") + java.util.List volumeIds; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/CreateVolumeGroupBackupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/CreateVolumeGroupBackupRequest.java new file mode 100644 index 00000000000..7ce83df1153 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/CreateVolumeGroupBackupRequest.java @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class CreateVolumeGroupBackupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * Request to create a new backup group of given volume group. + */ + private CreateVolumeGroupBackupDetails createVolumeGroupBackupDetails; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations (for example, if a resource + * has been deleted and purged from the system, then a retry of the original creation request + * may be rejected). + * + */ + private String opcRetryToken; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(CreateVolumeGroupBackupRequest o) { + createVolumeGroupBackupDetails(o.getCreateVolumeGroupBackupDetails()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of CreateVolumeGroupBackupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of CreateVolumeGroupBackupRequest + */ + public CreateVolumeGroupBackupRequest build() { + CreateVolumeGroupBackupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/CreateVolumeGroupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/CreateVolumeGroupRequest.java new file mode 100644 index 00000000000..2e4169102c4 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/CreateVolumeGroupRequest.java @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class CreateVolumeGroupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * Request to create a new volume group. + */ + private CreateVolumeGroupDetails createVolumeGroupDetails; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations (for example, if a resource + * has been deleted and purged from the system, then a retry of the original creation request + * may be rejected). + * + */ + private String opcRetryToken; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(CreateVolumeGroupRequest o) { + createVolumeGroupDetails(o.getCreateVolumeGroupDetails()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of CreateVolumeGroupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of CreateVolumeGroupRequest + */ + public CreateVolumeGroupRequest build() { + CreateVolumeGroupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/DeleteVolumeGroupBackupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/DeleteVolumeGroupBackupRequest.java new file mode 100644 index 00000000000..898b008e565 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/DeleteVolumeGroupBackupRequest.java @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class DeleteVolumeGroupBackupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup. + */ + private String volumeGroupBackupId; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + * parameter to the value of the etag from a previous GET or POST response for that resource. The resource + * will be updated or deleted only if the etag you provide matches the resource's current etag value. + * + */ + private String ifMatch; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(DeleteVolumeGroupBackupRequest o) { + volumeGroupBackupId(o.getVolumeGroupBackupId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of DeleteVolumeGroupBackupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of DeleteVolumeGroupBackupRequest + */ + public DeleteVolumeGroupBackupRequest build() { + DeleteVolumeGroupBackupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/DeleteVolumeGroupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/DeleteVolumeGroupRequest.java new file mode 100644 index 00000000000..980a870fbb8 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/DeleteVolumeGroupRequest.java @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class DeleteVolumeGroupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group. + */ + private String volumeGroupId; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + * parameter to the value of the etag from a previous GET or POST response for that resource. The resource + * will be updated or deleted only if the etag you provide matches the resource's current etag value. + * + */ + private String ifMatch; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(DeleteVolumeGroupRequest o) { + volumeGroupId(o.getVolumeGroupId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of DeleteVolumeGroupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of DeleteVolumeGroupRequest + */ + public DeleteVolumeGroupRequest build() { + DeleteVolumeGroupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/GetVolumeGroupBackupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/GetVolumeGroupBackupRequest.java new file mode 100644 index 00000000000..23ed02eb94b --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/GetVolumeGroupBackupRequest.java @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class GetVolumeGroupBackupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup. + */ + private String volumeGroupBackupId; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(GetVolumeGroupBackupRequest o) { + volumeGroupBackupId(o.getVolumeGroupBackupId()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of GetVolumeGroupBackupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of GetVolumeGroupBackupRequest + */ + public GetVolumeGroupBackupRequest build() { + GetVolumeGroupBackupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/GetVolumeGroupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/GetVolumeGroupRequest.java new file mode 100644 index 00000000000..fca19ecfe25 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/GetVolumeGroupRequest.java @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class GetVolumeGroupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group. + */ + private String volumeGroupId; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(GetVolumeGroupRequest o) { + volumeGroupId(o.getVolumeGroupId()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of GetVolumeGroupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of GetVolumeGroupRequest + */ + public GetVolumeGroupRequest build() { + GetVolumeGroupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListBootVolumesRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListBootVolumesRequest.java index 8682cd6972e..58f31ac594e 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListBootVolumesRequest.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListBootVolumesRequest.java @@ -37,6 +37,11 @@ public class ListBootVolumesRequest extends com.oracle.bmc.requests.BmcRequest { */ private String page; + /** + * The OCID of the volume group. + */ + private String volumeGroupId; + public static class Builder { private com.oracle.bmc.util.internal.Consumer invocationCallback = null; @@ -62,6 +67,7 @@ public Builder copy(ListBootVolumesRequest o) { compartmentId(o.getCompartmentId()); limit(o.getLimit()); page(o.getPage()); + volumeGroupId(o.getVolumeGroupId()); invocationCallback(o.getInvocationCallback()); return this; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumeGroupBackupsRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumeGroupBackupsRequest.java new file mode 100644 index 00000000000..9f95b3d5375 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumeGroupBackupsRequest.java @@ -0,0 +1,193 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class ListVolumeGroupBackupsRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The OCID of the compartment. + */ + private String compartmentId; + + /** + * The OCID of the volume group. + */ + private String volumeGroupId; + + /** + * The maximum number of items to return in a paginated \"List\" call. + *

+ * Example: `500` + * + */ + private Integer limit; + + /** + * The value of the `opc-next-page` response header from the previous \"List\" call. + * + */ + private String page; + + /** + * A filter to return only resources that match the given display name exactly. + * + */ + private String displayName; + + /** + * The field to sort by. You can provide one sort order (`sortOrder`). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME + * sort order is case sensitive. + *

+ **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you + * optionally filter by Availability Domain if the scope of the resource type is within a + * single Availability Domain. If you call one of these \"List\" operations without specifying + * an Availability Domain, the resources are grouped by Availability Domain, then sorted. + * + */ + private SortBy sortBy; + + /** + * The field to sort by. You can provide one sort order (`sortOrder`). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME + * sort order is case sensitive. + *

+ **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you + * optionally filter by Availability Domain if the scope of the resource type is within a + * single Availability Domain. If you call one of these \"List\" operations without specifying + * an Availability Domain, the resources are grouped by Availability Domain, then sorted. + * + **/ + public enum SortBy { + Timecreated("TIMECREATED"), + Displayname("DISPLAYNAME"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid SortBy: " + key); + } + }; + + /** + * The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order + * is case sensitive. + * + */ + private SortOrder sortOrder; + + /** + * The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order + * is case sensitive. + * + **/ + public enum SortOrder { + Asc("ASC"), + Desc("DESC"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortOrder v : SortOrder.values()) { + map.put(v.getValue(), v); + } + } + + SortOrder(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortOrder create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid SortOrder: " + key); + } + }; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(ListVolumeGroupBackupsRequest o) { + compartmentId(o.getCompartmentId()); + volumeGroupId(o.getVolumeGroupId()); + limit(o.getLimit()); + page(o.getPage()); + displayName(o.getDisplayName()); + sortBy(o.getSortBy()); + sortOrder(o.getSortOrder()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of ListVolumeGroupBackupsRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of ListVolumeGroupBackupsRequest + */ + public ListVolumeGroupBackupsRequest build() { + ListVolumeGroupBackupsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumeGroupsRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumeGroupsRequest.java new file mode 100644 index 00000000000..9ce2275b807 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumeGroupsRequest.java @@ -0,0 +1,202 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class ListVolumeGroupsRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The OCID of the compartment. + */ + private String compartmentId; + + /** + * The name of the Availability Domain. + *

+ * Example: `Uocm:PHX-AD-1` + * + */ + private String availabilityDomain; + + /** + * The maximum number of items to return in a paginated \"List\" call. + *

+ * Example: `500` + * + */ + private Integer limit; + + /** + * The value of the `opc-next-page` response header from the previous \"List\" call. + * + */ + private String page; + + /** + * A filter to return only resources that match the given display name exactly. + * + */ + private String displayName; + + /** + * The field to sort by. You can provide one sort order (`sortOrder`). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME + * sort order is case sensitive. + *

+ **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you + * optionally filter by Availability Domain if the scope of the resource type is within a + * single Availability Domain. If you call one of these \"List\" operations without specifying + * an Availability Domain, the resources are grouped by Availability Domain, then sorted. + * + */ + private SortBy sortBy; + + /** + * The field to sort by. You can provide one sort order (`sortOrder`). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME + * sort order is case sensitive. + *

+ **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you + * optionally filter by Availability Domain if the scope of the resource type is within a + * single Availability Domain. If you call one of these \"List\" operations without specifying + * an Availability Domain, the resources are grouped by Availability Domain, then sorted. + * + **/ + public enum SortBy { + Timecreated("TIMECREATED"), + Displayname("DISPLAYNAME"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid SortBy: " + key); + } + }; + + /** + * The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order + * is case sensitive. + * + */ + private SortOrder sortOrder; + + /** + * The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order + * is case sensitive. + * + **/ + public enum SortOrder { + Asc("ASC"), + Desc("DESC"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortOrder v : SortOrder.values()) { + map.put(v.getValue(), v); + } + } + + SortOrder(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortOrder create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid SortOrder: " + key); + } + }; + + /** + * A filter to only return resources that match the given lifecycle state. The state value is case-insensitive. + */ + private VolumeGroup.LifecycleState lifecycleState; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(ListVolumeGroupsRequest o) { + compartmentId(o.getCompartmentId()); + availabilityDomain(o.getAvailabilityDomain()); + limit(o.getLimit()); + page(o.getPage()); + displayName(o.getDisplayName()); + sortBy(o.getSortBy()); + sortOrder(o.getSortOrder()); + lifecycleState(o.getLifecycleState()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of ListVolumeGroupsRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of ListVolumeGroupsRequest + */ + public ListVolumeGroupsRequest build() { + ListVolumeGroupsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumesRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumesRequest.java index 2daae76992a..6125f21b452 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumesRequest.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListVolumesRequest.java @@ -145,6 +145,11 @@ public static SortOrder create(String key) { } }; + /** + * The OCID of the volume group. + */ + private String volumeGroupId; + /** * A filter to only return resources that match the given lifecycle state. The state value is case-insensitive. * @@ -179,6 +184,7 @@ public Builder copy(ListVolumesRequest o) { displayName(o.getDisplayName()); sortBy(o.getSortBy()); sortOrder(o.getSortOrder()); + volumeGroupId(o.getVolumeGroupId()); lifecycleState(o.getLifecycleState()); invocationCallback(o.getInvocationCallback()); return this; diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/UpdateVolumeGroupBackupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/UpdateVolumeGroupBackupRequest.java new file mode 100644 index 00000000000..bd63086c808 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/UpdateVolumeGroupBackupRequest.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class UpdateVolumeGroupBackupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup. + */ + private String volumeGroupBackupId; + + /** + * Update volume group backup fields + */ + private UpdateVolumeGroupBackupDetails updateVolumeGroupBackupDetails; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + * parameter to the value of the etag from a previous GET or POST response for that resource. The resource + * will be updated or deleted only if the etag you provide matches the resource's current etag value. + * + */ + private String ifMatch; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(UpdateVolumeGroupBackupRequest o) { + volumeGroupBackupId(o.getVolumeGroupBackupId()); + updateVolumeGroupBackupDetails(o.getUpdateVolumeGroupBackupDetails()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of UpdateVolumeGroupBackupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of UpdateVolumeGroupBackupRequest + */ + public UpdateVolumeGroupBackupRequest build() { + UpdateVolumeGroupBackupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/UpdateVolumeGroupRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/UpdateVolumeGroupRequest.java new file mode 100644 index 00000000000..86c8731a28b --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/UpdateVolumeGroupRequest.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder", buildMethodName = "buildWithoutInvocationCallback") +@lombok.Getter +public class UpdateVolumeGroupRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The Oracle Cloud ID (OCID) that uniquely identifies the volume group. + */ + private String volumeGroupId; + + /** + * Update volume group's set of volumes and/or display name + */ + private UpdateVolumeGroupDetails updateVolumeGroupDetails; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + * parameter to the value of the etag from a previous GET or POST response for that resource. The resource + * will be updated or deleted only if the etag you provide matches the resource's current etag value. + * + */ + private String ifMatch; + + public static class Builder { + private com.oracle.bmc.util.internal.Consumer + invocationCallback = null; + + /** + * Set the invocation callback for the request to be built. + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.util.internal.Consumer + invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(UpdateVolumeGroupRequest o) { + volumeGroupId(o.getVolumeGroupId()); + updateVolumeGroupDetails(o.getUpdateVolumeGroupDetails()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + return this; + } + + /** + * Build the instance of UpdateVolumeGroupRequest as configured by this builder + * + * Note that this method takes calls to {@link Builder#invocationCallback(com.oracle.bmc.util.internal.Consumer)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + * This is the preferred method to build an instance. + * + * @return instance of UpdateVolumeGroupRequest + */ + public UpdateVolumeGroupRequest build() { + UpdateVolumeGroupRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + return request; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/CreateVolumeGroupBackupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/CreateVolumeGroupBackupResponse.java new file mode 100644 index 00000000000..5a10cf4d184 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/CreateVolumeGroupBackupResponse.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class CreateVolumeGroupBackupResponse { + + /** + * For optimistic concurrency control. See `if-match`. + */ + private String etag; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * The returned VolumeGroupBackup instance. + */ + private VolumeGroupBackup volumeGroupBackup; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(CreateVolumeGroupBackupResponse o) { + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + volumeGroupBackup(o.getVolumeGroupBackup()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/CreateVolumeGroupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/CreateVolumeGroupResponse.java new file mode 100644 index 00000000000..f406fe34c73 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/CreateVolumeGroupResponse.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class CreateVolumeGroupResponse { + + /** + * For optimistic concurrency control. See `if-match`. + */ + private String etag; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * The returned VolumeGroup instance. + */ + private VolumeGroup volumeGroup; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(CreateVolumeGroupResponse o) { + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + volumeGroup(o.getVolumeGroup()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/DeleteVolumeGroupBackupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/DeleteVolumeGroupBackupResponse.java new file mode 100644 index 00000000000..40361dd5887 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/DeleteVolumeGroupBackupResponse.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class DeleteVolumeGroupBackupResponse { + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(DeleteVolumeGroupBackupResponse o) { + opcRequestId(o.getOpcRequestId()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/DeleteVolumeGroupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/DeleteVolumeGroupResponse.java new file mode 100644 index 00000000000..718488e8a7b --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/DeleteVolumeGroupResponse.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class DeleteVolumeGroupResponse { + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(DeleteVolumeGroupResponse o) { + opcRequestId(o.getOpcRequestId()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/GetVolumeGroupBackupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/GetVolumeGroupBackupResponse.java new file mode 100644 index 00000000000..a8670cfe6c4 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/GetVolumeGroupBackupResponse.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class GetVolumeGroupBackupResponse { + + /** + * For optimistic concurrency control. See `if-match`. + */ + private String etag; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * The returned VolumeGroupBackup instance. + */ + private VolumeGroupBackup volumeGroupBackup; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(GetVolumeGroupBackupResponse o) { + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + volumeGroupBackup(o.getVolumeGroupBackup()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/GetVolumeGroupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/GetVolumeGroupResponse.java new file mode 100644 index 00000000000..cf56cb292f4 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/GetVolumeGroupResponse.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class GetVolumeGroupResponse { + + /** + * For optimistic concurrency control. See `if-match`. + */ + private String etag; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * The returned VolumeGroup instance. + */ + private VolumeGroup volumeGroup; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(GetVolumeGroupResponse o) { + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + volumeGroup(o.getVolumeGroup()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListVolumeGroupBackupsResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListVolumeGroupBackupsResponse.java new file mode 100644 index 00000000000..3fe92ba5f6f --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListVolumeGroupBackupsResponse.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class ListVolumeGroupBackupsResponse { + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the response, + * then a partial list might have been returned. Include this value as the `page` parameter for the + * subsequent GET request to get the next batch of items. + * + */ + private String opcNextPage; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * A list of VolumeGroupBackup instances. + */ + private java.util.List items; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(ListVolumeGroupBackupsResponse o) { + opcNextPage(o.getOpcNextPage()); + opcRequestId(o.getOpcRequestId()); + items(o.getItems()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListVolumeGroupsResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListVolumeGroupsResponse.java new file mode 100644 index 00000000000..93ea54a5493 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListVolumeGroupsResponse.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class ListVolumeGroupsResponse { + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the response, + * then a partial list might have been returned. Include this value as the `page` parameter for the + * subsequent GET request to get the next batch of items. + * + */ + private String opcNextPage; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * A list of VolumeGroup instances. + */ + private java.util.List items; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(ListVolumeGroupsResponse o) { + opcNextPage(o.getOpcNextPage()); + opcRequestId(o.getOpcRequestId()); + items(o.getItems()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/UpdateVolumeGroupBackupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/UpdateVolumeGroupBackupResponse.java new file mode 100644 index 00000000000..6e0d298aa78 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/UpdateVolumeGroupBackupResponse.java @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class UpdateVolumeGroupBackupResponse { + + /** + * For optimistic concurrency control. See `if-match`. + */ + private String etag; + + /** + * The returned VolumeGroupBackup instance. + */ + private VolumeGroupBackup volumeGroupBackup; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(UpdateVolumeGroupBackupResponse o) { + etag(o.getEtag()); + volumeGroupBackup(o.getVolumeGroupBackup()); + + return this; + } + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/UpdateVolumeGroupResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/UpdateVolumeGroupResponse.java new file mode 100644 index 00000000000..80a91dbbfe1 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/UpdateVolumeGroupResponse.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Builder(builderClassName = "Builder") +@lombok.Getter +public class UpdateVolumeGroupResponse { + + /** + * For optimistic concurrency control. See `if-match`. + */ + private String etag; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please provide the request ID. + * + */ + private String opcRequestId; + + /** + * The returned VolumeGroup instance. + */ + private VolumeGroup volumeGroup; + + public static class Builder { + /** + * Copy method to populate the builder with values from the given instance. + * @return this builder instance + */ + public Builder copy(UpdateVolumeGroupResponse o) { + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + volumeGroup(o.getVolumeGroup()); + + return this; + } + } +} diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml index 63230194313..f0d733eee5c 100644 --- a/bmc-database/pom.xml +++ b/bmc-database/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/Backup.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/Backup.java index e014574d812..6b29b307455 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/Backup.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/Backup.java @@ -41,6 +41,15 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private String databaseEdition; + + public Builder databaseEdition(String databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("databaseId") private String databaseId; @@ -50,6 +59,15 @@ public Builder databaseId(String databaseId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dbDataSizeInMBs") + private Integer dbDataSizeInMBs; + + public Builder dbDataSizeInMBs(Integer dbDataSizeInMBs) { + this.dbDataSizeInMBs = dbDataSizeInMBs; + this.__explicitlySet__.add("dbDataSizeInMBs"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -121,7 +139,9 @@ public Backup build() { new Backup( availabilityDomain, compartmentId, + databaseEdition, databaseId, + dbDataSizeInMBs, displayName, id, lifecycleDetails, @@ -138,7 +158,9 @@ public Builder copy(Backup o) { Builder copiedBuilder = availabilityDomain(o.getAvailabilityDomain()) .compartmentId(o.getCompartmentId()) + .databaseEdition(o.getDatabaseEdition()) .databaseId(o.getDatabaseId()) + .dbDataSizeInMBs(o.getDbDataSizeInMBs()) .displayName(o.getDisplayName()) .id(o.getId()) .lifecycleDetails(o.getLifecycleDetails()) @@ -171,12 +193,26 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * The Oracle Database Edition of the DbSystem on which the backup was taken. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + String databaseEdition; + /** * The OCID of the database. **/ @com.fasterxml.jackson.annotation.JsonProperty("databaseId") String databaseId; + /** + * Size of the database in mega-bytes at the time the backup was taken. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("dbDataSizeInMBs") + Integer dbDataSizeInMBs; + /** * The user-friendly name for the backup. It does not have to be unique. **/ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupSummary.java index 85c4dc95499..b55509c1ade 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupSummary.java @@ -41,6 +41,15 @@ public Builder compartmentId(String compartmentId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private String databaseEdition; + + public Builder databaseEdition(String databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("databaseId") private String databaseId; @@ -50,6 +59,15 @@ public Builder databaseId(String databaseId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dbDataSizeInMBs") + private Integer dbDataSizeInMBs; + + public Builder dbDataSizeInMBs(Integer dbDataSizeInMBs) { + this.dbDataSizeInMBs = dbDataSizeInMBs; + this.__explicitlySet__.add("dbDataSizeInMBs"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -121,7 +139,9 @@ public BackupSummary build() { new BackupSummary( availabilityDomain, compartmentId, + databaseEdition, databaseId, + dbDataSizeInMBs, displayName, id, lifecycleDetails, @@ -138,7 +158,9 @@ public Builder copy(BackupSummary o) { Builder copiedBuilder = availabilityDomain(o.getAvailabilityDomain()) .compartmentId(o.getCompartmentId()) + .databaseEdition(o.getDatabaseEdition()) .databaseId(o.getDatabaseId()) + .dbDataSizeInMBs(o.getDbDataSizeInMBs()) .displayName(o.getDisplayName()) .id(o.getId()) .lifecycleDetails(o.getLifecycleDetails()) @@ -171,12 +193,26 @@ public static Builder builder() { @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId; + /** + * The Oracle Database Edition of the DbSystem on which the backup was taken. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + String databaseEdition; + /** * The OCID of the database. **/ @com.fasterxml.jackson.annotation.JsonProperty("databaseId") String databaseId; + /** + * Size of the database in mega-bytes at the time the backup was taken. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("dbDataSizeInMBs") + Integer dbDataSizeInMBs; + /** * The user-friendly name for the backup. It does not have to be unique. **/ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeFromBackupDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeFromBackupDetails.java new file mode 100644 index 00000000000..63e7dd45be1 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeFromBackupDetails.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.database.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateDbHomeFromBackupDetails.Builder.class +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class CreateDbHomeFromBackupDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("database") + private CreateDatabaseFromBackupDetails database; + + public Builder database(CreateDatabaseFromBackupDetails database) { + this.database = database; + this.__explicitlySet__.add("database"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateDbHomeFromBackupDetails build() { + CreateDbHomeFromBackupDetails __instance__ = + new CreateDbHomeFromBackupDetails(database, displayName); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateDbHomeFromBackupDetails o) { + Builder copiedBuilder = database(o.getDatabase()).displayName(o.getDisplayName()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + @com.fasterxml.jackson.annotation.JsonProperty("database") + CreateDatabaseFromBackupDetails database; + + /** + * The user-provided name of the database home. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java new file mode 100644 index 00000000000..9f3584223b9 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java @@ -0,0 +1,179 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.database.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@lombok.experimental.NonFinal +@lombok.AllArgsConstructor(access = lombok.AccessLevel.PROTECTED) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "source", + defaultImpl = LaunchDbSystemBase.class +) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = LaunchDbSystemDetails.class, + name = "NONE" + ), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = LaunchDbSystemFromBackupDetails.class, + name = "DB_BACKUP" + ) +}) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class LaunchDbSystemBase { + + /** + * The Availability Domain where the DB System is located. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + String availabilityDomain; + + /** + * The OCID of the backup network subnet the DB System is associated with. Applicable only to Exadata. + *

+ **Subnet Restrictions:** See above subnetId's **Subnet Restriction**. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("backupSubnetId") + String backupSubnetId; + + /** + * Cluster name for Exadata and 2-node RAC DB Systems. The cluster name must begin with an an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("clusterName") + String clusterName; + + /** + * The Oracle Cloud ID (OCID) of the compartment the DB System belongs in. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + String compartmentId; + + /** + * The number of CPU cores to enable. The valid values depend on the specified shape: + *

+ * - BM.DenseIO1.36 and BM.HighIO1.36 - Specify a multiple of 2, from 2 to 36. + * - BM.RACLocalStorage1.72 - Specify a multiple of 4, from 4 to 72. + * - Exadata.Quarter1.84 - Specify a multiple of 2, from 22 to 84. + * - Exadata.Half1.168 - Specify a multiple of 4, from 44 to 168. + * - Exadata.Full1.336 - Specify a multiple of 8, from 88 to 336. + *

+ * For VM DB systems, the core count is inferred from the specific VM shape chosen, so this parameter is not used. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") + Integer cpuCoreCount; + + /** + * The percentage assigned to DATA storage (user data and database files). + * The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). + * Specify 80 or 40. The default is 80 percent assigned to DATA storage. This is not applicable for VM based DB systems. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("dataStoragePercentage") + Integer dataStoragePercentage; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags; + + /** + * The user-friendly name for the DB System. It does not have to be unique. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + String displayName; + + /** + * A domain name used for the DB System. If the Oracle-provided Internet and VCN + * Resolver is enabled for the specified subnet, the domain name for the subnet is used + * (don't provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("domain") + String domain; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. + * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). + *

+ * Example: `{\"Department\": \"Finance\"}` + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags; + + /** + * The host name for the DB System. The host name must begin with an alphabetic character and + * can contain a maximum of 30 alphanumeric characters, including hyphens (-). + *

+ * The maximum length of the combined hostname and domain is 63 characters. + *

+ **Note:** The hostname must be unique within the subnet. If it is not unique, + * the DB System will fail to provision. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("hostname") + String hostname; + + /** + * Size, in GBs, of the initial data volume that will be created and attached to VM-shape based DB system. This storage can later be scaled up if needed. Note that the total storage size attached will be more than what is requested, to account for REDO/RECO space and software volume. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("initialDataStorageSizeInGB") + Integer initialDataStorageSizeInGB; + + /** + * Number of nodes to launch for a VM-shape based RAC DB system. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + Integer nodeCount; + + /** + * The shape of the DB System. The shape determines resources allocated to the DB System - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the {@link #listDbSystemShapes(ListDbSystemShapesRequest) listDbSystemShapes} operation. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("shape") + String shape; + + /** + * The public key portion of the key pair to use for SSH access to the DB System. Multiple public keys can be provided. The length of the combined keys cannot exceed 10,000 characters. + **/ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + java.util.List sshPublicKeys; + + /** + * The OCID of the subnet the DB System is associated with. + *

+ **Subnet Restrictions:** + * - For single node and 2-node (RAC) DB Systems, do not use a subnet that overlaps with 192.168.16.16/28 + * - For Exadata and VM-based RAC DB Systems, do not use a subnet that overlaps with 192.168.128.0/20 + *

+ * These subnets are used by the Oracle Clusterware private interconnect on the database instance. + * Specifying an overlapping subnet will cause the private interconnect to malfunction. + * This restriction applies to both the client subnet and backup subnet. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") + String subnetId; +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java index b678ebf6ea2..907699e6223 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java @@ -18,8 +18,15 @@ @com.fasterxml.jackson.databind.annotation.JsonDeserialize( builder = LaunchDbSystemDetails.Builder.class ) +@lombok.ToString(callSuper = true) +@lombok.EqualsAndHashCode(callSuper = true) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "source" +) @com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) -public class LaunchDbSystemDetails { +public class LaunchDbSystemDetails extends LaunchDbSystemBase { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @lombok.experimental.Accessors(fluent = true) public static class Builder { @@ -77,24 +84,6 @@ public Builder dataStoragePercentage(Integer dataStoragePercentage) { return this; } - @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") - private DatabaseEdition databaseEdition; - - public Builder databaseEdition(DatabaseEdition databaseEdition) { - this.databaseEdition = databaseEdition; - this.__explicitlySet__.add("databaseEdition"); - return this; - } - - @com.fasterxml.jackson.annotation.JsonProperty("dbHome") - private CreateDbHomeDetails dbHome; - - public Builder dbHome(CreateDbHomeDetails dbHome) { - this.dbHome = dbHome; - this.__explicitlySet__.add("dbHome"); - return this; - } - @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private java.util.Map> definedTags; @@ -105,15 +94,6 @@ public Builder definedTags( return this; } - @com.fasterxml.jackson.annotation.JsonProperty("diskRedundancy") - private DiskRedundancy diskRedundancy; - - public Builder diskRedundancy(DiskRedundancy diskRedundancy) { - this.diskRedundancy = diskRedundancy; - this.__explicitlySet__.add("diskRedundancy"); - return this; - } - @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -159,15 +139,6 @@ public Builder initialDataStorageSizeInGB(Integer initialDataStorageSizeInGB) { return this; } - @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") - private LicenseModel licenseModel; - - public Builder licenseModel(LicenseModel licenseModel) { - this.licenseModel = licenseModel; - this.__explicitlySet__.add("licenseModel"); - return this; - } - @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") private Integer nodeCount; @@ -204,6 +175,42 @@ public Builder subnetId(String subnetId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private DatabaseEdition databaseEdition; + + public Builder databaseEdition(DatabaseEdition databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dbHome") + private CreateDbHomeDetails dbHome; + + public Builder dbHome(CreateDbHomeDetails dbHome) { + this.dbHome = dbHome; + this.__explicitlySet__.add("dbHome"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("diskRedundancy") + private DiskRedundancy diskRedundancy; + + public Builder diskRedundancy(DiskRedundancy diskRedundancy) { + this.diskRedundancy = diskRedundancy; + this.__explicitlySet__.add("diskRedundancy"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private LicenseModel licenseModel; + + public Builder licenseModel(LicenseModel licenseModel) { + this.licenseModel = licenseModel; + this.__explicitlySet__.add("licenseModel"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -216,20 +223,20 @@ public LaunchDbSystemDetails build() { compartmentId, cpuCoreCount, dataStoragePercentage, - databaseEdition, - dbHome, definedTags, - diskRedundancy, displayName, domain, freeformTags, hostname, initialDataStorageSizeInGB, - licenseModel, nodeCount, shape, sshPublicKeys, - subnetId); + subnetId, + databaseEdition, + dbHome, + diskRedundancy, + licenseModel); __instance__.__explicitlySet__.addAll(__explicitlySet__); return __instance__; } @@ -243,20 +250,20 @@ public Builder copy(LaunchDbSystemDetails o) { .compartmentId(o.getCompartmentId()) .cpuCoreCount(o.getCpuCoreCount()) .dataStoragePercentage(o.getDataStoragePercentage()) - .databaseEdition(o.getDatabaseEdition()) - .dbHome(o.getDbHome()) .definedTags(o.getDefinedTags()) - .diskRedundancy(o.getDiskRedundancy()) .displayName(o.getDisplayName()) .domain(o.getDomain()) .freeformTags(o.getFreeformTags()) .hostname(o.getHostname()) .initialDataStorageSizeInGB(o.getInitialDataStorageSizeInGB()) - .licenseModel(o.getLicenseModel()) .nodeCount(o.getNodeCount()) .shape(o.getShape()) .sshPublicKeys(o.getSshPublicKeys()) - .subnetId(o.getSubnetId()); + .subnetId(o.getSubnetId()) + .databaseEdition(o.getDatabaseEdition()) + .dbHome(o.getDbHome()) + .diskRedundancy(o.getDiskRedundancy()) + .licenseModel(o.getLicenseModel()); copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); return copiedBuilder; @@ -270,60 +277,52 @@ public static Builder builder() { return new Builder(); } - /** - * The Availability Domain where the DB System is located. - **/ - @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") - String availabilityDomain; - - /** - * The OCID of the backup network subnet the DB System is associated with. Applicable only to Exadata. - *

- **Subnet Restrictions:** See above subnetId's **Subnet Restriction**. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("backupSubnetId") - String backupSubnetId; - - /** - * Cluster name for Exadata and 2-node RAC DB Systems. The cluster name must begin with an an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("clusterName") - String clusterName; - - /** - * The Oracle Cloud ID (OCID) of the compartment the DB System belongs in. - **/ - @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") - String compartmentId; - - /** - * The number of CPU cores to enable. The valid values depend on the specified shape: - *

- * - BM.DenseIO1.36 and BM.HighIO1.36 - Specify a multiple of 2, from 2 to 36. - * - BM.RACLocalStorage1.72 - Specify a multiple of 4, from 4 to 72. - * - Exadata.Quarter1.84 - Specify a multiple of 2, from 22 to 84. - * - Exadata.Half1.168 - Specify a multiple of 4, from 44 to 168. - * - Exadata.Full1.336 - Specify a multiple of 8, from 88 to 336. - *

- * For VM DB systems, the core count is inferred from the specific VM shape chosen, so this parameter is not used. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") - Integer cpuCoreCount; + public LaunchDbSystemDetails( + String availabilityDomain, + String backupSubnetId, + String clusterName, + String compartmentId, + Integer cpuCoreCount, + Integer dataStoragePercentage, + java.util.Map> definedTags, + String displayName, + String domain, + java.util.Map freeformTags, + String hostname, + Integer initialDataStorageSizeInGB, + Integer nodeCount, + String shape, + java.util.List sshPublicKeys, + String subnetId, + DatabaseEdition databaseEdition, + CreateDbHomeDetails dbHome, + DiskRedundancy diskRedundancy, + LicenseModel licenseModel) { + super( + availabilityDomain, + backupSubnetId, + clusterName, + compartmentId, + cpuCoreCount, + dataStoragePercentage, + definedTags, + displayName, + domain, + freeformTags, + hostname, + initialDataStorageSizeInGB, + nodeCount, + shape, + sshPublicKeys, + subnetId); + this.databaseEdition = databaseEdition; + this.dbHome = dbHome; + this.diskRedundancy = diskRedundancy; + this.licenseModel = licenseModel; + } - /** - * The percentage assigned to DATA storage (user data and database files). - * The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). - * Specify 80 or 40. The default is 80 percent assigned to DATA storage. This is not applicable for VM based DB systems. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("dataStoragePercentage") - Integer dataStoragePercentage; /** * The Oracle Database Edition that applies to all the databases on the DB System. - *

* Exadata DB Systems and 2-node RAC DB Systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. * **/ @@ -363,7 +362,6 @@ public static DatabaseEdition create(String key) { }; /** * The Oracle Database Edition that applies to all the databases on the DB System. - *

* Exadata DB Systems and 2-node RAC DB Systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. * **/ @@ -372,16 +370,6 @@ public static DatabaseEdition create(String key) { @com.fasterxml.jackson.annotation.JsonProperty("dbHome") CreateDbHomeDetails dbHome; - - /** - * Defined tags for this resource. Each key is predefined and scoped to a namespace. - * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). - *

- * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}` - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("definedTags") - java.util.Map> definedTags; /** * The type of redundancy configured for the DB System. * Normal is 2-way redundancy, recommended for test and development systems. @@ -428,51 +416,6 @@ public static DiskRedundancy create(String key) { **/ @com.fasterxml.jackson.annotation.JsonProperty("diskRedundancy") DiskRedundancy diskRedundancy; - - /** - * The user-friendly name for the DB System. It does not have to be unique. - **/ - @com.fasterxml.jackson.annotation.JsonProperty("displayName") - String displayName; - - /** - * A domain name used for the DB System. If the Oracle-provided Internet and VCN - * Resolver is enabled for the specified subnet, the domain name for the subnet is used - * (don't provide one). Otherwise, provide a valid DNS domain name. Hyphens (-) are not permitted. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("domain") - String domain; - - /** - * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. - * For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm). - *

- * Example: `{\"Department\": \"Finance\"}` - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") - java.util.Map freeformTags; - - /** - * The host name for the DB System. The host name must begin with an alphabetic character and - * can contain a maximum of 30 alphanumeric characters, including hyphens (-). - *

- * The maximum length of the combined hostname and domain is 63 characters. - *

- **Note:** The hostname must be unique within the subnet. If it is not unique, - * the DB System will fail to provision. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("hostname") - String hostname; - - /** - * Size, in GBs, of the initial data volume that will be created and attached to VM-shape based DB system. This storage can later be scaled up if needed. Note that the total storage size attached will be more than what is requested, to account for REDO/RECO space and software volume. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("initialDataStorageSizeInGB") - Integer initialDataStorageSizeInGB; /** * The Oracle license model that applies to all the databases on the DB System. The default is LICENSE_INCLUDED. * @@ -516,40 +459,6 @@ public static LicenseModel create(String key) { @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") LicenseModel licenseModel; - /** - * Number of nodes to launch for a VM-shape based RAC DB system. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") - Integer nodeCount; - - /** - * The shape of the DB System. The shape determines resources allocated to the DB System - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the {@link #listDbSystemShapes(ListDbSystemShapesRequest) listDbSystemShapes} operation. - **/ - @com.fasterxml.jackson.annotation.JsonProperty("shape") - String shape; - - /** - * The public key portion of the key pair to use for SSH access to the DB System. Multiple public keys can be provided. The length of the combined keys cannot exceed 10,000 characters. - **/ - @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") - java.util.List sshPublicKeys; - - /** - * The OCID of the subnet the DB System is associated with. - *

- **Subnet Restrictions:** - * - For single node and 2-node (RAC) DB Systems, do not use a subnet that overlaps with 192.168.16.16/28 - * - For Exadata and VM-based RAC DB Systems, do not use a subnet that overlaps with 192.168.128.0/20 - *

- * These subnets are used by the Oracle Clusterware private interconnect on the database instance. - * Specifying an overlapping subnet will cause the private interconnect to malfunction. - * This restriction applies to both the client subnet and backup subnet. - * - **/ - @com.fasterxml.jackson.annotation.JsonProperty("subnetId") - String subnetId; - @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java new file mode 100644 index 00000000000..05ccd2e2a94 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java @@ -0,0 +1,464 @@ +/** + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. + */ +package com.oracle.bmc.database.model; + +/** + * + *
+ * Note: This model distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a set of all + * explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods + * are implemented to take {@link #__explicitlySet__} into account. The constructor, on the other hand, does not + * set {@link #__explicitlySet__} (since the constructor cannot distinguish explicit {@code null} from unset + * {@code null}). As a consequence, objects should always be created or deserialized using the {@link Builder}. + **/ +@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@lombok.Value +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = LaunchDbSystemFromBackupDetails.Builder.class +) +@lombok.ToString(callSuper = true) +@lombok.EqualsAndHashCode(callSuper = true) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "source" +) +@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) +public class LaunchDbSystemFromBackupDetails extends LaunchDbSystemBase { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + @lombok.experimental.Accessors(fluent = true) + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("backupSubnetId") + private String backupSubnetId; + + public Builder backupSubnetId(String backupSubnetId) { + this.backupSubnetId = backupSubnetId; + this.__explicitlySet__.add("backupSubnetId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("clusterName") + private String clusterName; + + public Builder clusterName(String clusterName) { + this.clusterName = clusterName; + this.__explicitlySet__.add("clusterName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") + private Integer cpuCoreCount; + + public Builder cpuCoreCount(Integer cpuCoreCount) { + this.cpuCoreCount = cpuCoreCount; + this.__explicitlySet__.add("cpuCoreCount"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataStoragePercentage") + private Integer dataStoragePercentage; + + public Builder dataStoragePercentage(Integer dataStoragePercentage) { + this.dataStoragePercentage = dataStoragePercentage; + this.__explicitlySet__.add("dataStoragePercentage"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("domain") + private String domain; + + public Builder domain(String domain) { + this.domain = domain; + this.__explicitlySet__.add("domain"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("hostname") + private String hostname; + + public Builder hostname(String hostname) { + this.hostname = hostname; + this.__explicitlySet__.add("hostname"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("initialDataStorageSizeInGB") + private Integer initialDataStorageSizeInGB; + + public Builder initialDataStorageSizeInGB(Integer initialDataStorageSizeInGB) { + this.initialDataStorageSizeInGB = initialDataStorageSizeInGB; + this.__explicitlySet__.add("initialDataStorageSizeInGB"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private Integer nodeCount; + + public Builder nodeCount(Integer nodeCount) { + this.nodeCount = nodeCount; + this.__explicitlySet__.add("nodeCount"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("shape") + private String shape; + + public Builder shape(String shape) { + this.shape = shape; + this.__explicitlySet__.add("shape"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private java.util.List sshPublicKeys; + + public Builder sshPublicKeys(java.util.List sshPublicKeys) { + this.sshPublicKeys = sshPublicKeys; + this.__explicitlySet__.add("sshPublicKeys"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") + private String subnetId; + + public Builder subnetId(String subnetId) { + this.subnetId = subnetId; + this.__explicitlySet__.add("subnetId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private DatabaseEdition databaseEdition; + + public Builder databaseEdition(DatabaseEdition databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dbHome") + private CreateDbHomeFromBackupDetails dbHome; + + public Builder dbHome(CreateDbHomeFromBackupDetails dbHome) { + this.dbHome = dbHome; + this.__explicitlySet__.add("dbHome"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("diskRedundancy") + private DiskRedundancy diskRedundancy; + + public Builder diskRedundancy(DiskRedundancy diskRedundancy) { + this.diskRedundancy = diskRedundancy; + this.__explicitlySet__.add("diskRedundancy"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private LicenseModel licenseModel; + + public Builder licenseModel(LicenseModel licenseModel) { + this.licenseModel = licenseModel; + this.__explicitlySet__.add("licenseModel"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public LaunchDbSystemFromBackupDetails build() { + LaunchDbSystemFromBackupDetails __instance__ = + new LaunchDbSystemFromBackupDetails( + availabilityDomain, + backupSubnetId, + clusterName, + compartmentId, + cpuCoreCount, + dataStoragePercentage, + definedTags, + displayName, + domain, + freeformTags, + hostname, + initialDataStorageSizeInGB, + nodeCount, + shape, + sshPublicKeys, + subnetId, + databaseEdition, + dbHome, + diskRedundancy, + licenseModel); + __instance__.__explicitlySet__.addAll(__explicitlySet__); + return __instance__; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(LaunchDbSystemFromBackupDetails o) { + Builder copiedBuilder = + availabilityDomain(o.getAvailabilityDomain()) + .backupSubnetId(o.getBackupSubnetId()) + .clusterName(o.getClusterName()) + .compartmentId(o.getCompartmentId()) + .cpuCoreCount(o.getCpuCoreCount()) + .dataStoragePercentage(o.getDataStoragePercentage()) + .definedTags(o.getDefinedTags()) + .displayName(o.getDisplayName()) + .domain(o.getDomain()) + .freeformTags(o.getFreeformTags()) + .hostname(o.getHostname()) + .initialDataStorageSizeInGB(o.getInitialDataStorageSizeInGB()) + .nodeCount(o.getNodeCount()) + .shape(o.getShape()) + .sshPublicKeys(o.getSshPublicKeys()) + .subnetId(o.getSubnetId()) + .databaseEdition(o.getDatabaseEdition()) + .dbHome(o.getDbHome()) + .diskRedundancy(o.getDiskRedundancy()) + .licenseModel(o.getLicenseModel()); + + copiedBuilder.__explicitlySet__.retainAll(o.__explicitlySet__); + return copiedBuilder; + } + } + + /** + * Create a new builder. + */ + public static Builder builder() { + return new Builder(); + } + + public LaunchDbSystemFromBackupDetails( + String availabilityDomain, + String backupSubnetId, + String clusterName, + String compartmentId, + Integer cpuCoreCount, + Integer dataStoragePercentage, + java.util.Map> definedTags, + String displayName, + String domain, + java.util.Map freeformTags, + String hostname, + Integer initialDataStorageSizeInGB, + Integer nodeCount, + String shape, + java.util.List sshPublicKeys, + String subnetId, + DatabaseEdition databaseEdition, + CreateDbHomeFromBackupDetails dbHome, + DiskRedundancy diskRedundancy, + LicenseModel licenseModel) { + super( + availabilityDomain, + backupSubnetId, + clusterName, + compartmentId, + cpuCoreCount, + dataStoragePercentage, + definedTags, + displayName, + domain, + freeformTags, + hostname, + initialDataStorageSizeInGB, + nodeCount, + shape, + sshPublicKeys, + subnetId); + this.databaseEdition = databaseEdition; + this.dbHome = dbHome; + this.diskRedundancy = diskRedundancy; + this.licenseModel = licenseModel; + } + + /** + * The Oracle Database Edition that applies to all the databases on the DB System. + * Exadata DB Systems and 2-node RAC DB Systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + **/ + public enum DatabaseEdition { + StandardEdition("STANDARD_EDITION"), + EnterpriseEdition("ENTERPRISE_EDITION"), + EnterpriseEditionExtremePerformance("ENTERPRISE_EDITION_EXTREME_PERFORMANCE"), + EnterpriseEditionHighPerformance("ENTERPRISE_EDITION_HIGH_PERFORMANCE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DatabaseEdition v : DatabaseEdition.values()) { + map.put(v.getValue(), v); + } + } + + DatabaseEdition(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DatabaseEdition create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid DatabaseEdition: " + key); + } + }; + /** + * The Oracle Database Edition that applies to all the databases on the DB System. + * Exadata DB Systems and 2-node RAC DB Systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + DatabaseEdition databaseEdition; + + @com.fasterxml.jackson.annotation.JsonProperty("dbHome") + CreateDbHomeFromBackupDetails dbHome; + /** + * The type of redundancy configured for the DB System. + * Normal is 2-way redundancy, recommended for test and development systems. + * High is 3-way redundancy, recommended for production systems. + * + **/ + public enum DiskRedundancy { + High("HIGH"), + Normal("NORMAL"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DiskRedundancy v : DiskRedundancy.values()) { + map.put(v.getValue(), v); + } + } + + DiskRedundancy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DiskRedundancy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid DiskRedundancy: " + key); + } + }; + /** + * The type of redundancy configured for the DB System. + * Normal is 2-way redundancy, recommended for test and development systems. + * High is 3-way redundancy, recommended for production systems. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("diskRedundancy") + DiskRedundancy diskRedundancy; + /** + * The Oracle license model that applies to all the databases on the DB System. The default is LICENSE_INCLUDED. + * + **/ + public enum LicenseModel { + LicenseIncluded("LICENSE_INCLUDED"), + BringYourOwnLicense("BRING_YOUR_OWN_LICENSE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LicenseModel v : LicenseModel.values()) { + map.put(v.getValue(), v); + } + } + + LicenseModel(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LicenseModel create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new RuntimeException("Invalid LicenseModel: " + key); + } + }; + /** + * The Oracle license model that applies to all the databases on the DB System. The default is LICENSE_INCLUDED. + * + **/ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + LicenseModel licenseModel; + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/LaunchDbSystemRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/LaunchDbSystemRequest.java index 64bb480e68a..55fc318d7f1 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/requests/LaunchDbSystemRequest.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/LaunchDbSystemRequest.java @@ -13,7 +13,7 @@ public class LaunchDbSystemRequest extends com.oracle.bmc.requests.BmcRequest { /** * Request to launch a DB System. */ - private LaunchDbSystemDetails launchDbSystemDetails; + private LaunchDbSystemBase launchDbSystemDetails; /** * A token that uniquely identifies a request so it can be retried in case of a timeout or diff --git a/bmc-dns/pom.xml b/bmc-dns/pom.xml index 1ce3194732b..bc783e3319b 100644 --- a/bmc-dns/pom.xml +++ b/bmc-dns/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-email/pom.xml b/bmc-email/pom.xml index 29386febcfe..b0ac3b10819 100644 --- a/bmc-email/pom.xml +++ b/bmc-email/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-examples/pom.xml b/bmc-examples/pom.xml index 3c6aded7077..4eca8b40484 100644 --- a/bmc-examples/pom.xml +++ b/bmc-examples/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -19,7 +19,7 @@ com.oracle.oci.sdk oci-java-sdk-bom - 1.2.37 + 1.2.38 pom import diff --git a/bmc-examples/src/main/java/GetInstancePublicIpExample.java b/bmc-examples/src/main/java/GetInstancePublicIpExample.java index e3e90eaefe3..e3f53ede3c3 100644 --- a/bmc-examples/src/main/java/GetInstancePublicIpExample.java +++ b/bmc-examples/src/main/java/GetInstancePublicIpExample.java @@ -1,19 +1,36 @@ /** * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. */ +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import com.oracle.bmc.Region; import com.oracle.bmc.auth.AuthenticationDetailsProvider; import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider; import com.oracle.bmc.core.ComputeClient; import com.oracle.bmc.core.VirtualNetworkClient; +import com.oracle.bmc.core.model.GetPublicIpByPrivateIpIdDetails; +import com.oracle.bmc.core.model.PrivateIp; import com.oracle.bmc.core.model.VnicAttachment; import com.oracle.bmc.core.requests.GetVnicRequest; +import com.oracle.bmc.core.requests.ListPrivateIpsRequest; import com.oracle.bmc.core.requests.ListVnicAttachmentsRequest; +import com.oracle.bmc.core.requests.GetPublicIpByPrivateIpIdRequest; import com.oracle.bmc.core.responses.GetVnicResponse; import com.oracle.bmc.core.responses.ListVnicAttachmentsResponse; +import com.oracle.bmc.core.responses.GetPublicIpByPrivateIpIdResponse; +import com.oracle.bmc.model.BmcException; +/** + * This class demonstrates how to retrieve the public IPs for an instance. An instance + * can have multiple public IP addresses: + *

    + *
  • A public IP address directly on the VNIC
  • + *
  • Public IP addresses assigned to any secondary private IP on the VNIC
  • + *
+ */ public class GetInstancePublicIpExample { public static void main(String[] args) throws Exception { @@ -34,28 +51,72 @@ public static void main(String[] args) throws Exception { computeClient.setRegion(Region.US_PHOENIX_1); vcnClient.setRegion(Region.US_PHOENIX_1); - // for the instance, list its vnic attachments - ListVnicAttachmentsResponse listVnicResponse = - computeClient.listVnicAttachments( - ListVnicAttachmentsRequest.builder() - .compartmentId(compartmentId) - .instanceId(instanceId) - .build()); - - // for each vnic attachment, get the vnic details from the virtualNetwork API - List vnics = listVnicResponse.getItems(); - for (int i = 0; i < vnics.size(); i++) { - - String vnicId = vnics.get(i).getVnicId(); + // Account for multiple VNICs being attached to the instance + Iterable vnicAttachmentsIterable = + computeClient + .getPaginators() + .listVnicAttachmentsRecordIterator( + ListVnicAttachmentsRequest.builder() + .compartmentId(compartmentId) + .instanceId(instanceId) + .build()); + List vnicIds = new ArrayList<>(); + for (VnicAttachment va : vnicAttachmentsIterable) { + vnicIds.add(va.getVnicId()); + } + final Set publicIps = new HashSet<>(); + for (String vnicId : vnicIds) { GetVnicResponse getVnicResponse = vcnClient.getVnic(GetVnicRequest.builder().vnicId(vnicId).build()); - // then check the vnic for a public IP - String publicIp = getVnicResponse.getVnic().getPublicIp(); - if (publicIp != null) { - System.out.println(publicIp); + if (getVnicResponse.getVnic().getPublicIp() != null) { + publicIps.add(getVnicResponse.getVnic().getPublicIp()); } + + /* + * Handles the scenario where public IP addresses are assigned to + * secondary private IPs on the VNIC. First we find all private IPs + * associated with the VNIC and for each of those try and find the + * public IP (if any) which has been associated with the private IP + */ + Iterable privateIpsIterable = + vcnClient + .getPaginators() + .listPrivateIpsRecordIterator( + ListPrivateIpsRequest.builder().vnicId(vnicId).build()); + for (PrivateIp privateIp : privateIpsIterable) { + try { + GetPublicIpByPrivateIpIdResponse getPublicIpResponse = + vcnClient.getPublicIpByPrivateIpId( + GetPublicIpByPrivateIpIdRequest.builder() + .getPublicIpByPrivateIpIdDetails( + GetPublicIpByPrivateIpIdDetails.builder() + .privateIpId(privateIp.getId()) + .build()) + .build()); + publicIps.add(getPublicIpResponse.getPublicIp().getIpAddress()); + } catch (BmcException e) { + // A 404 is expected if the private IP address does not have a public IP + if (e.getStatusCode() != 404) { + System.out.println( + String.format( + "Exception when retriving public IP for private IP %s (%s)", + privateIp.getId(), + privateIp.getIpAddress())); + } else { + System.out.println( + String.format( + "No public IP for private IP %s (%s)", + privateIp.getId(), + privateIp.getIpAddress())); + } + } + } + } + + for (String publicIp : publicIps) { + System.out.println(publicIp); } computeClient.close(); diff --git a/bmc-filestorage/pom.xml b/bmc-filestorage/pom.xml index 83acfc415a5..e9911f902d9 100644 --- a/bmc-filestorage/pom.xml +++ b/bmc-filestorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorage.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorage.java index 84d81f73b6f..bcdca2c6f8d 100644 --- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorage.java +++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorage.java @@ -219,8 +219,9 @@ public interface FileStorage extends AutoCloseable { ListExportSetsResponse listExportSets(ListExportSetsRequest request); /** - * Lists the export resources in the specified compartment. You must - * also specify an export set, a file system, or both. + * Lists export resources by compartment, file system, or export + * set. You must specify an export set ID, a file system ID, and + * / or a compartment ID. * * @param request The request object containing the details to send * @return A response object containing details about the completed operation diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsync.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsync.java index dccc453d67b..a8127ed8e70 100644 --- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsync.java +++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsync.java @@ -317,8 +317,9 @@ java.util.concurrent.Future listExportSets( handler); /** - * Lists the export resources in the specified compartment. You must - * also specify an export set, a file system, or both. + * Lists export resources by compartment, file system, or export + * set. You must specify an export set ID, a file system ID, and + * / or a compartment ID. * * * @param request The request object containing the details to send diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/internal/http/ListExportsConverter.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/internal/http/ListExportsConverter.java index 2a7865f66dc..f72bf46520f 100644 --- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/internal/http/ListExportsConverter.java +++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/internal/http/ListExportsConverter.java @@ -23,16 +23,17 @@ public static ListExportsRequest interceptRequest(ListExportsRequest request) { public static com.oracle.bmc.http.internal.WrappedInvocationBuilder fromRequest( com.oracle.bmc.http.internal.RestClient client, ListExportsRequest request) { Validate.notNull(request, "request instance is required"); - Validate.notNull(request.getCompartmentId(), "compartmentId is required"); com.oracle.bmc.http.internal.WrappedWebTarget target = client.getBaseTarget().path("/20171215").path("exports"); - target = - target.queryParam( - "compartmentId", - com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( - request.getCompartmentId())); + if (request.getCompartmentId() != null) { + target = + target.queryParam( + "compartmentId", + com.oracle.bmc.util.internal.HttpUtils.attemptEncodeQueryParam( + request.getCompartmentId())); + } if (request.getLimit() != null) { target = diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/Export.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/Export.java index 3fb0fc6cd96..cd6713f8659 100644 --- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/Export.java +++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/Export.java @@ -18,15 +18,16 @@ * sequence for the first export resource can't contain the * complete path element sequence of the second export resource. *

+ * * For example, the following are acceptable: *

- * /foo and /bar - * * /foo1 and /foo2 - * * /foo and /foo1 + * /example and /path + * * /example1 and /example2 + * * /example and /example1 *

* The following examples are not acceptable: - * * /foo and /foo/bar - * * / and /foo + * * /example and /example/path + * * / and /example *

* Paths may not end in a slash (/). No path element can be a period (.) * or two periods in sequence (..). All path elements must be 255 bytes or less. diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/FileSystemSummary.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/FileSystemSummary.java index 859885aad6c..fe73ee0d136 100644 --- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/FileSystemSummary.java +++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/model/FileSystemSummary.java @@ -141,8 +141,7 @@ public static Builder builder() { * The number of bytes consumed by the file system, including * any snapshots. This number reflects the metered size of the file * system and is updated asynchronously with respect to - * updates to the file system. For details on file system - * metering see [File System Metering](https://docs.us-phoenix-1.oraclecloud.com/Content/File/Concepts/metering.htm). + * updates to the file system. * **/ @com.fasterxml.jackson.annotation.JsonProperty("meteredBytes") diff --git a/bmc-full/pom.xml b/bmc-full/pom.xml index dba5e5a9a8f..d38d8020273 100644 --- a/bmc-full/pom.xml +++ b/bmc-full/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml oci-java-sdk-full @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-bom - 1.2.37 + 1.2.38 pom import diff --git a/bmc-identity/pom.xml b/bmc-identity/pom.xml index a9087815288..cb1ece7f5d9 100644 --- a/bmc-identity/pom.xml +++ b/bmc-identity/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-loadbalancer/pom.xml b/bmc-loadbalancer/pom.xml index 4e240f9e035..e9fb7083246 100644 --- a/bmc-loadbalancer/pom.xml +++ b/bmc-loadbalancer/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml b/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml index ac73da554c5..016cdf4e70a 100644 --- a/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml +++ b/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 1.2.37 + 1.2.38 diff --git a/bmc-objectstorage/bmc-objectstorage-generated/pom.xml b/bmc-objectstorage/bmc-objectstorage-generated/pom.xml index 6c2fa7dcb16..6912db35504 100644 --- a/bmc-objectstorage/bmc-objectstorage-generated/pom.xml +++ b/bmc-objectstorage/bmc-objectstorage-generated/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 diff --git a/bmc-objectstorage/pom.xml b/bmc-objectstorage/pom.xml index 34069eedfe9..6765c77244c 100644 --- a/bmc-objectstorage/pom.xml +++ b/bmc-objectstorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml @@ -19,17 +19,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 1.2.37 + 1.2.38 com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 1.2.37 + 1.2.38 com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 1.2.37 + 1.2.38 diff --git a/bmc-shaded/bmc-shaded-full/pom.xml b/bmc-shaded/bmc-shaded-full/pom.xml index 237459eec8d..c005aae737c 100644 --- a/bmc-shaded/bmc-shaded-full/pom.xml +++ b/bmc-shaded/bmc-shaded-full/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-shaded - 1.2.37 + 1.2.38 ../pom.xml oci-java-sdk-shaded-full diff --git a/bmc-shaded/pom.xml b/bmc-shaded/pom.xml index b68b1105612..e131dde6492 100644 --- a/bmc-shaded/pom.xml +++ b/bmc-shaded/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 ../pom.xml diff --git a/pom.xml b/pom.xml index 2f0da069b73..0eddeca485a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk - 1.2.37 + 1.2.38 pom Oracle Cloud Infrastructure SDK This project contains the SDK used for Oracle Cloud Infrastructure @@ -41,6 +41,7 @@ a breaking change. http://bouncy-castle.1462172.n4.nabble.com/Issues-when-migrating-to-1-53-td4657955.html https://github.com/box/box-java-sdk/issues/168 Has not been fixed as of 1.55. --> 1.52 + **/*IntegrationAutoTest.java @@ -315,7 +316,7 @@ 2.19.1 - bmc-integtests/**/*IntegrationAutoTest.java + ${excluded.testcases}