() {
@Override
public boolean apply(GetVolumeBackupResponse response) {
- return response.getVolumeBackup().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getVolumeBackup().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.VolumeBackup.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.VolumeBackup.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 13bd565b313..e9305dbc34b 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
@@ -294,8 +294,8 @@ GetInstanceConsoleConnectionResponse getInstanceConsoleConnection(
GetVolumeAttachmentResponse getVolumeAttachment(GetVolumeAttachmentRequest request);
/**
- * Gets the generated credentials for the instance. Only works for Windows instances. The returned credentials
- * are only valid for the initial login.
+ * Gets the generated credentials for the instance. Only works for instances that require password to log in (E.g. Windows).
+ * For certain OS'es, users will be forced to change the initial credentials.
*
* @param request The request object containing the details to send
* @return A response object containing details about the completed operation
@@ -403,7 +403,7 @@ ListBootVolumeAttachmentsResponse listBootVolumeAttachments(
/**
* Lists the console connections for the specified compartment or instance.
*
- * For more information about console access, see [Accessing the Instance Console](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/References/serialconsole.htm).
+ * For more information about console access, see [Accessing the Console](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/References/serialconsole.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 a77d3981faa..6294505aa2e 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
@@ -445,8 +445,8 @@ java.util.concurrent.Future getVolumeAttachment(
handler);
/**
- * Gets the generated credentials for the instance. Only works for Windows instances. The returned credentials
- * are only valid for the initial login.
+ * Gets the generated credentials for the instance. Only works for instances that require password to log in (E.g. Windows).
+ * For certain OS'es, users will be forced to change the initial credentials.
*
*
* @param request The request object containing the details to send
@@ -598,7 +598,7 @@ java.util.concurrent.Future listImages(
/**
* Lists the console connections for the specified compartment or instance.
*
- * For more information about console access, see [Accessing the Instance Console](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/References/serialconsole.htm).
+ * For more information about console access, see [Accessing the Console](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/References/serialconsole.htm).
*
*
* @param request The request object containing the details to send
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsyncClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsyncClient.java
index 5cac37f02ac..369d4a0a408 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsyncClient.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeAsyncClient.java
@@ -178,13 +178,16 @@ public ComputeAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeClient.java
index e91b47b82ca..c4ea04bb241 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeClient.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeClient.java
@@ -183,13 +183,16 @@ public ComputeClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeWaiters.java b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeWaiters.java
index afe25ef3ffa..58fb8362662 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeWaiters.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeWaiters.java
@@ -22,16 +22,21 @@ public class ComputeWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetBootVolumeAttachmentRequest, GetBootVolumeAttachmentResponse>
forBootVolumeAttachment(
GetBootVolumeAttachmentRequest request,
- com.oracle.bmc.core.model.BootVolumeAttachment.LifecycleState targetState) {
+ com.oracle.bmc.core.model.BootVolumeAttachment.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 forBootVolumeAttachment(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -50,20 +55,52 @@ public class ComputeWaiters {
com.oracle.bmc.core.model.BootVolumeAttachment.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 forBootVolumeAttachment(
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<
+ GetBootVolumeAttachmentRequest, GetBootVolumeAttachmentResponse>
+ forBootVolumeAttachment(
+ GetBootVolumeAttachmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.BootVolumeAttachment.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 forBootVolumeAttachment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for BootVolumeAttachment.
private com.oracle.bmc.waiter.Waiter<
GetBootVolumeAttachmentRequest, GetBootVolumeAttachmentResponse>
forBootVolumeAttachment(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetBootVolumeAttachmentRequest request,
- final com.oracle.bmc.core.model.BootVolumeAttachment.LifecycleState
- targetState) {
+ final com.oracle.bmc.core.model.BootVolumeAttachment.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(
@@ -79,8 +116,8 @@ public GetBootVolumeAttachmentResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetBootVolumeAttachmentResponse response) {
- return response.getBootVolumeAttachment().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getBootVolumeAttachment().getLifecycleState());
}
},
false),
@@ -91,15 +128,20 @@ public boolean apply(GetBootVolumeAttachmentResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forConsoleHistory(
GetConsoleHistoryRequest request,
- com.oracle.bmc.core.model.ConsoleHistory.LifecycleState targetState) {
+ com.oracle.bmc.core.model.ConsoleHistory.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 forConsoleHistory(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -117,18 +159,49 @@ public boolean apply(GetBootVolumeAttachmentResponse response) {
com.oracle.bmc.core.model.ConsoleHistory.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 forConsoleHistory(
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
+ forConsoleHistory(
+ GetConsoleHistoryRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.ConsoleHistory.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 forConsoleHistory(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for ConsoleHistory.
private com.oracle.bmc.waiter.Waiter
forConsoleHistory(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetConsoleHistoryRequest request,
- final com.oracle.bmc.core.model.ConsoleHistory.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.ConsoleHistory.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(
@@ -144,8 +217,8 @@ public GetConsoleHistoryResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetConsoleHistoryResponse response) {
- return response.getConsoleHistory().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getConsoleHistory().getLifecycleState());
}
},
false),
@@ -156,12 +229,19 @@ public boolean apply(GetConsoleHistoryResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forImage(
- GetImageRequest request, com.oracle.bmc.core.model.Image.LifecycleState targetState) {
- return forImage(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ GetImageRequest request,
+ com.oracle.bmc.core.model.Image.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 forImage(
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -178,17 +258,47 @@ public com.oracle.bmc.waiter.Waiter forImage(
com.oracle.bmc.core.model.Image.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 forImage(
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 forImage(
+ GetImageRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.Image.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 forImage(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Image.
private com.oracle.bmc.waiter.Waiter forImage(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetImageRequest request,
- final com.oracle.bmc.core.model.Image.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.Image.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(
@@ -202,10 +312,12 @@ public GetImageResponse apply(GetImageRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetImageResponse response) {
- return response.getImage().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getImage().getLifecycleState());
}
},
- targetState == com.oracle.bmc.core.model.Image.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.Image.LifecycleState.Deleted)),
request);
}
@@ -213,14 +325,19 @@ public boolean apply(GetImageResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forInstance(
GetInstanceRequest request,
- com.oracle.bmc.core.model.Instance.LifecycleState targetState) {
+ com.oracle.bmc.core.model.Instance.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 forInstance(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -237,17 +354,47 @@ public com.oracle.bmc.waiter.Waiter for
com.oracle.bmc.core.model.Instance.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 forInstance(
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 forInstance(
+ GetInstanceRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.Instance.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 forInstance(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Instance.
private com.oracle.bmc.waiter.Waiter forInstance(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetInstanceRequest request,
- final com.oracle.bmc.core.model.Instance.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.Instance.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(
@@ -262,11 +409,12 @@ public GetInstanceResponse apply(GetInstanceRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetInstanceResponse response) {
- return response.getInstance().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getInstance().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.Instance.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.Instance.LifecycleState.Terminated)),
request);
}
@@ -274,17 +422,22 @@ public boolean apply(GetInstanceResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetInstanceConsoleConnectionRequest, GetInstanceConsoleConnectionResponse>
forInstanceConsoleConnection(
GetInstanceConsoleConnectionRequest request,
- com.oracle.bmc.core.model.InstanceConsoleConnection.LifecycleState
- targetState) {
+ com.oracle.bmc.core.model.InstanceConsoleConnection.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 forInstanceConsoleConnection(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -303,20 +456,53 @@ public boolean apply(GetInstanceResponse response) {
com.oracle.bmc.core.model.InstanceConsoleConnection.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 forInstanceConsoleConnection(
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<
+ GetInstanceConsoleConnectionRequest, GetInstanceConsoleConnectionResponse>
+ forInstanceConsoleConnection(
+ GetInstanceConsoleConnectionRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.InstanceConsoleConnection.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 forInstanceConsoleConnection(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for InstanceConsoleConnection.
private com.oracle.bmc.waiter.Waiter<
GetInstanceConsoleConnectionRequest, GetInstanceConsoleConnectionResponse>
forInstanceConsoleConnection(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetInstanceConsoleConnectionRequest request,
- final com.oracle.bmc.core.model.InstanceConsoleConnection.LifecycleState
- targetState) {
+ final com.oracle.bmc.core.model.InstanceConsoleConnection.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(
@@ -334,13 +520,14 @@ public GetInstanceConsoleConnectionResponse apply(
GetInstanceConsoleConnectionResponse>() {
@Override
public boolean apply(GetInstanceConsoleConnectionResponse response) {
- return response.getInstanceConsoleConnection().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getInstanceConsoleConnection()
+ .getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.InstanceConsoleConnection
- .LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.InstanceConsoleConnection.LifecycleState
+ .Deleted)),
request);
}
@@ -348,15 +535,20 @@ public boolean apply(GetInstanceConsoleConnectionResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forVnicAttachment(
GetVnicAttachmentRequest request,
- com.oracle.bmc.core.model.VnicAttachment.LifecycleState targetState) {
+ com.oracle.bmc.core.model.VnicAttachment.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 forVnicAttachment(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -374,18 +566,49 @@ public boolean apply(GetInstanceConsoleConnectionResponse response) {
com.oracle.bmc.core.model.VnicAttachment.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 forVnicAttachment(
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
+ forVnicAttachment(
+ GetVnicAttachmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.VnicAttachment.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 forVnicAttachment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for VnicAttachment.
private com.oracle.bmc.waiter.Waiter
forVnicAttachment(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetVnicAttachmentRequest request,
- final com.oracle.bmc.core.model.VnicAttachment.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.VnicAttachment.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(
@@ -401,8 +624,8 @@ public GetVnicAttachmentResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetVnicAttachmentResponse response) {
- return response.getVnicAttachment().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getVnicAttachment().getLifecycleState());
}
},
false),
@@ -413,15 +636,20 @@ public boolean apply(GetVnicAttachmentResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forVolumeAttachment(
GetVolumeAttachmentRequest request,
- com.oracle.bmc.core.model.VolumeAttachment.LifecycleState targetState) {
+ com.oracle.bmc.core.model.VolumeAttachment.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 forVolumeAttachment(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -439,18 +667,50 @@ public boolean apply(GetVnicAttachmentResponse response) {
com.oracle.bmc.core.model.VolumeAttachment.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 forVolumeAttachment(
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
+ forVolumeAttachment(
+ GetVolumeAttachmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.VolumeAttachment.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 forVolumeAttachment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for VolumeAttachment.
private com.oracle.bmc.waiter.Waiter
forVolumeAttachment(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetVolumeAttachmentRequest request,
- final com.oracle.bmc.core.model.VolumeAttachment.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.VolumeAttachment.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(
@@ -466,8 +726,8 @@ public GetVolumeAttachmentResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetVolumeAttachmentResponse response) {
- return response.getVolumeAttachment().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getVolumeAttachment().getLifecycleState());
}
},
false),
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 b2b7e708fd7..82c4bb19d2d 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
@@ -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 (either ephemeral or reserved).
+ * * Change the display name 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 3e885cf5cb2..6abd13a8ec1 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
@@ -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 (either ephemeral or reserved).
+ * * Change the display name 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/VirtualNetworkAsyncClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java
index df9b512a1af..0f9f912bae7 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java
@@ -178,13 +178,16 @@ public VirtualNetworkAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java
index 65f03c8bca4..3f763c9da84 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java
@@ -183,13 +183,16 @@ public VirtualNetworkClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkWaiters.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkWaiters.java
index b20c30e67db..78bfff126a3 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkWaiters.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkWaiters.java
@@ -22,15 +22,20 @@ public class VirtualNetworkWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forCrossConnect(
GetCrossConnectRequest request,
- com.oracle.bmc.core.model.CrossConnect.LifecycleState targetState) {
+ com.oracle.bmc.core.model.CrossConnect.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 forCrossConnect(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -48,18 +53,49 @@ public class VirtualNetworkWaiters {
com.oracle.bmc.core.model.CrossConnect.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 forCrossConnect(
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
+ forCrossConnect(
+ GetCrossConnectRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.CrossConnect.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 forCrossConnect(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for CrossConnect.
private com.oracle.bmc.waiter.Waiter
forCrossConnect(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetCrossConnectRequest request,
- final com.oracle.bmc.core.model.CrossConnect.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.CrossConnect.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(
@@ -74,13 +110,12 @@ public GetCrossConnectResponse apply(GetCrossConnectRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetCrossConnectResponse response) {
- return response.getCrossConnect().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getCrossConnect().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.CrossConnect.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.CrossConnect.LifecycleState.Terminated)),
request);
}
@@ -88,15 +123,20 @@ public boolean apply(GetCrossConnectResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forCrossConnectGroup(
GetCrossConnectGroupRequest request,
- com.oracle.bmc.core.model.CrossConnectGroup.LifecycleState targetState) {
+ com.oracle.bmc.core.model.CrossConnectGroup.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 forCrossConnectGroup(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -114,18 +154,50 @@ public boolean apply(GetCrossConnectResponse response) {
com.oracle.bmc.core.model.CrossConnectGroup.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 forCrossConnectGroup(
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
+ forCrossConnectGroup(
+ GetCrossConnectGroupRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.CrossConnectGroup.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 forCrossConnectGroup(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for CrossConnectGroup.
private com.oracle.bmc.waiter.Waiter
forCrossConnectGroup(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetCrossConnectGroupRequest request,
- final com.oracle.bmc.core.model.CrossConnectGroup.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.CrossConnectGroup.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(
@@ -141,13 +213,13 @@ public GetCrossConnectGroupResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetCrossConnectGroupResponse response) {
- return response.getCrossConnectGroup().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getCrossConnectGroup().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.CrossConnectGroup.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.CrossConnectGroup.LifecycleState
+ .Terminated)),
request);
}
@@ -155,15 +227,20 @@ public boolean apply(GetCrossConnectGroupResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forDhcpOptions(
GetDhcpOptionsRequest request,
- com.oracle.bmc.core.model.DhcpOptions.LifecycleState targetState) {
+ com.oracle.bmc.core.model.DhcpOptions.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 forDhcpOptions(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -181,18 +258,49 @@ public boolean apply(GetCrossConnectGroupResponse response) {
com.oracle.bmc.core.model.DhcpOptions.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 forDhcpOptions(
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
+ forDhcpOptions(
+ GetDhcpOptionsRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.DhcpOptions.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 forDhcpOptions(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DhcpOptions.
private com.oracle.bmc.waiter.Waiter
forDhcpOptions(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDhcpOptionsRequest request,
- final com.oracle.bmc.core.model.DhcpOptions.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.DhcpOptions.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(
@@ -207,11 +315,12 @@ public GetDhcpOptionsResponse apply(GetDhcpOptionsRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDhcpOptionsResponse response) {
- return response.getDhcpOptions().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getDhcpOptions().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.DhcpOptions.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.DhcpOptions.LifecycleState.Terminated)),
request);
}
@@ -219,12 +328,17 @@ public boolean apply(GetDhcpOptionsResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forDrg(
- GetDrgRequest request, com.oracle.bmc.core.model.Drg.LifecycleState targetState) {
- return forDrg(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ GetDrgRequest request, com.oracle.bmc.core.model.Drg.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 forDrg(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -241,17 +355,47 @@ public com.oracle.bmc.waiter.Waiter forDrg(
com.oracle.bmc.core.model.Drg.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 forDrg(
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 forDrg(
+ GetDrgRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.Drg.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 forDrg(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Drg.
private com.oracle.bmc.waiter.Waiter forDrg(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDrgRequest request,
- final com.oracle.bmc.core.model.Drg.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.Drg.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(
@@ -265,10 +409,12 @@ public GetDrgResponse apply(GetDrgRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDrgResponse response) {
- return response.getDrg().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getDrg().getLifecycleState());
}
},
- targetState == com.oracle.bmc.core.model.Drg.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.Drg.LifecycleState.Terminated)),
request);
}
@@ -276,15 +422,20 @@ public boolean apply(GetDrgResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forDrgAttachment(
GetDrgAttachmentRequest request,
- com.oracle.bmc.core.model.DrgAttachment.LifecycleState targetState) {
+ com.oracle.bmc.core.model.DrgAttachment.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 forDrgAttachment(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -302,18 +453,49 @@ public boolean apply(GetDrgResponse response) {
com.oracle.bmc.core.model.DrgAttachment.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 forDrgAttachment(
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
+ forDrgAttachment(
+ GetDrgAttachmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.DrgAttachment.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 forDrgAttachment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DrgAttachment.
private com.oracle.bmc.waiter.Waiter
forDrgAttachment(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDrgAttachmentRequest request,
- final com.oracle.bmc.core.model.DrgAttachment.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.DrgAttachment.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(
@@ -328,12 +510,12 @@ public GetDrgAttachmentResponse apply(GetDrgAttachmentRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDrgAttachmentResponse response) {
- return response.getDrgAttachment().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getDrgAttachment().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.DrgAttachment.LifecycleState.Detached),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.DrgAttachment.LifecycleState.Detached)),
request);
}
@@ -341,15 +523,20 @@ public boolean apply(GetDrgAttachmentResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forIPSecConnection(
GetIPSecConnectionRequest request,
- com.oracle.bmc.core.model.IPSecConnection.LifecycleState targetState) {
+ com.oracle.bmc.core.model.IPSecConnection.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 forIPSecConnection(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -367,18 +554,50 @@ public boolean apply(GetDrgAttachmentResponse response) {
com.oracle.bmc.core.model.IPSecConnection.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 forIPSecConnection(
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
+ forIPSecConnection(
+ GetIPSecConnectionRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.IPSecConnection.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 forIPSecConnection(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for IPSecConnection.
private com.oracle.bmc.waiter.Waiter
forIPSecConnection(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetIPSecConnectionRequest request,
- final com.oracle.bmc.core.model.IPSecConnection.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.IPSecConnection.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(
@@ -394,13 +613,13 @@ public GetIPSecConnectionResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetIPSecConnectionResponse response) {
- return response.getIPSecConnection().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getIPSecConnection().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.IPSecConnection.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.IPSecConnection.LifecycleState
+ .Terminated)),
request);
}
@@ -408,15 +627,20 @@ public boolean apply(GetIPSecConnectionResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forInternetGateway(
GetInternetGatewayRequest request,
- com.oracle.bmc.core.model.InternetGateway.LifecycleState targetState) {
+ com.oracle.bmc.core.model.InternetGateway.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 forInternetGateway(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -434,18 +658,50 @@ public boolean apply(GetIPSecConnectionResponse response) {
com.oracle.bmc.core.model.InternetGateway.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 forInternetGateway(
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
+ forInternetGateway(
+ GetInternetGatewayRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.InternetGateway.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 forInternetGateway(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for InternetGateway.
private com.oracle.bmc.waiter.Waiter
forInternetGateway(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetInternetGatewayRequest request,
- final com.oracle.bmc.core.model.InternetGateway.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.InternetGateway.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(
@@ -461,13 +717,13 @@ public GetInternetGatewayResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetInternetGatewayResponse response) {
- return response.getInternetGateway().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getInternetGateway().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.InternetGateway.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.InternetGateway.LifecycleState
+ .Terminated)),
request);
}
@@ -475,16 +731,21 @@ public boolean apply(GetInternetGatewayResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetLocalPeeringGatewayRequest, GetLocalPeeringGatewayResponse>
forLocalPeeringGateway(
GetLocalPeeringGatewayRequest request,
- com.oracle.bmc.core.model.LocalPeeringGateway.LifecycleState targetState) {
+ com.oracle.bmc.core.model.LocalPeeringGateway.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 forLocalPeeringGateway(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -503,20 +764,52 @@ public boolean apply(GetInternetGatewayResponse response) {
com.oracle.bmc.core.model.LocalPeeringGateway.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 forLocalPeeringGateway(
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<
+ GetLocalPeeringGatewayRequest, GetLocalPeeringGatewayResponse>
+ forLocalPeeringGateway(
+ GetLocalPeeringGatewayRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.LocalPeeringGateway.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 forLocalPeeringGateway(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for LocalPeeringGateway.
private com.oracle.bmc.waiter.Waiter<
GetLocalPeeringGatewayRequest, GetLocalPeeringGatewayResponse>
forLocalPeeringGateway(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetLocalPeeringGatewayRequest request,
- final com.oracle.bmc.core.model.LocalPeeringGateway.LifecycleState
- targetState) {
+ final com.oracle.bmc.core.model.LocalPeeringGateway.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(
@@ -532,13 +825,13 @@ public GetLocalPeeringGatewayResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetLocalPeeringGatewayResponse response) {
- return response.getLocalPeeringGateway().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getLocalPeeringGateway().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.LocalPeeringGateway.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.LocalPeeringGateway.LifecycleState
+ .Terminated)),
request);
}
@@ -546,16 +839,21 @@ public boolean apply(GetLocalPeeringGatewayResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetLocalPeeringGatewayRequest, GetLocalPeeringGatewayResponse>
forLocalPeeringGateway(
GetLocalPeeringGatewayRequest request,
- com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus targetState) {
+ com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus... 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 forLocalPeeringGateway(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -574,19 +872,52 @@ public boolean apply(GetLocalPeeringGatewayResponse response) {
com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus 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 forLocalPeeringGateway(
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<
+ GetLocalPeeringGatewayRequest, GetLocalPeeringGatewayResponse>
+ forLocalPeeringGateway(
+ GetLocalPeeringGatewayRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus... 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 forLocalPeeringGateway(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for LocalPeeringGateway.
private com.oracle.bmc.waiter.Waiter<
GetLocalPeeringGatewayRequest, GetLocalPeeringGatewayResponse>
forLocalPeeringGateway(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetLocalPeeringGatewayRequest request,
- final com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus targetState) {
+ final com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus...
+ 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(
@@ -602,13 +933,13 @@ public GetLocalPeeringGatewayResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetLocalPeeringGatewayResponse response) {
- return response.getLocalPeeringGateway().getPeeringStatus()
- == targetState;
+ return targetStatesSet.contains(
+ response.getLocalPeeringGateway().getPeeringStatus());
}
},
- targetState
- == com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus
- .Revoked),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.LocalPeeringGateway.PeeringStatus
+ .Revoked)),
request);
}
@@ -616,14 +947,19 @@ public boolean apply(GetLocalPeeringGatewayResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forPublicIp(
GetPublicIpRequest request,
- com.oracle.bmc.core.model.PublicIp.LifecycleState targetState) {
+ com.oracle.bmc.core.model.PublicIp.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 forPublicIp(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -640,17 +976,47 @@ public com.oracle.bmc.waiter.Waiter for
com.oracle.bmc.core.model.PublicIp.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 forPublicIp(
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 forPublicIp(
+ GetPublicIpRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.PublicIp.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 forPublicIp(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for PublicIp.
private com.oracle.bmc.waiter.Waiter forPublicIp(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetPublicIpRequest request,
- final com.oracle.bmc.core.model.PublicIp.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.PublicIp.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(
@@ -665,11 +1031,12 @@ public GetPublicIpResponse apply(GetPublicIpRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetPublicIpResponse response) {
- return response.getPublicIp().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getPublicIp().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.PublicIp.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.PublicIp.LifecycleState.Terminated)),
request);
}
@@ -677,16 +1044,22 @@ public boolean apply(GetPublicIpResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetRemotePeeringConnectionRequest, GetRemotePeeringConnectionResponse>
forRemotePeeringConnection(
GetRemotePeeringConnectionRequest request,
- com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus targetState) {
+ com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus...
+ 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 forRemotePeeringConnection(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -705,20 +1078,53 @@ public boolean apply(GetPublicIpResponse response) {
com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus 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 forRemotePeeringConnection(
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<
+ GetRemotePeeringConnectionRequest, GetRemotePeeringConnectionResponse>
+ forRemotePeeringConnection(
+ GetRemotePeeringConnectionRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus...
+ 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 forRemotePeeringConnection(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for RemotePeeringConnection.
private com.oracle.bmc.waiter.Waiter<
GetRemotePeeringConnectionRequest, GetRemotePeeringConnectionResponse>
forRemotePeeringConnection(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetRemotePeeringConnectionRequest request,
- final com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus
- targetState) {
+ final com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus...
+ 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(
@@ -735,13 +1141,13 @@ public GetRemotePeeringConnectionResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetRemotePeeringConnectionResponse response) {
- return response.getRemotePeeringConnection().getPeeringStatus()
- == targetState;
+ return targetStatesSet.contains(
+ response.getRemotePeeringConnection().getPeeringStatus());
}
},
- targetState
- == com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus
- .Revoked),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.RemotePeeringConnection.PeeringStatus
+ .Revoked)),
request);
}
@@ -749,16 +1155,22 @@ public boolean apply(GetRemotePeeringConnectionResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetRemotePeeringConnectionRequest, GetRemotePeeringConnectionResponse>
forRemotePeeringConnection(
GetRemotePeeringConnectionRequest request,
- com.oracle.bmc.core.model.RemotePeeringConnection.LifecycleState targetState) {
+ com.oracle.bmc.core.model.RemotePeeringConnection.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 forRemotePeeringConnection(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -777,20 +1189,53 @@ public boolean apply(GetRemotePeeringConnectionResponse response) {
com.oracle.bmc.core.model.RemotePeeringConnection.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 forRemotePeeringConnection(
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<
+ GetRemotePeeringConnectionRequest, GetRemotePeeringConnectionResponse>
+ forRemotePeeringConnection(
+ GetRemotePeeringConnectionRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.RemotePeeringConnection.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 forRemotePeeringConnection(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for RemotePeeringConnection.
private com.oracle.bmc.waiter.Waiter<
GetRemotePeeringConnectionRequest, GetRemotePeeringConnectionResponse>
forRemotePeeringConnection(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetRemotePeeringConnectionRequest request,
- final com.oracle.bmc.core.model.RemotePeeringConnection.LifecycleState
- targetState) {
+ final com.oracle.bmc.core.model.RemotePeeringConnection.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(
@@ -807,13 +1252,13 @@ public GetRemotePeeringConnectionResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetRemotePeeringConnectionResponse response) {
- return response.getRemotePeeringConnection().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getRemotePeeringConnection().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.RemotePeeringConnection.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.RemotePeeringConnection.LifecycleState
+ .Terminated)),
request);
}
@@ -821,14 +1266,19 @@ public boolean apply(GetRemotePeeringConnectionResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forRouteTable(
GetRouteTableRequest request,
- com.oracle.bmc.core.model.RouteTable.LifecycleState targetState) {
+ com.oracle.bmc.core.model.RouteTable.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 forRouteTable(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -845,17 +1295,47 @@ public com.oracle.bmc.waiter.Waiter
com.oracle.bmc.core.model.RouteTable.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 forRouteTable(
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 forRouteTable(
+ GetRouteTableRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.RouteTable.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 forRouteTable(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for RouteTable.
private com.oracle.bmc.waiter.Waiter forRouteTable(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetRouteTableRequest request,
- final com.oracle.bmc.core.model.RouteTable.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.RouteTable.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(
@@ -870,11 +1350,12 @@ public GetRouteTableResponse apply(GetRouteTableRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetRouteTableResponse response) {
- return response.getRouteTable().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getRouteTable().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.RouteTable.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.RouteTable.LifecycleState.Terminated)),
request);
}
@@ -882,15 +1363,20 @@ public boolean apply(GetRouteTableResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forSecurityList(
GetSecurityListRequest request,
- com.oracle.bmc.core.model.SecurityList.LifecycleState targetState) {
+ com.oracle.bmc.core.model.SecurityList.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 forSecurityList(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -908,18 +1394,49 @@ public boolean apply(GetRouteTableResponse response) {
com.oracle.bmc.core.model.SecurityList.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 forSecurityList(
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
+ forSecurityList(
+ GetSecurityListRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.SecurityList.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 forSecurityList(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for SecurityList.
private com.oracle.bmc.waiter.Waiter
forSecurityList(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetSecurityListRequest request,
- final com.oracle.bmc.core.model.SecurityList.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.SecurityList.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(
@@ -934,13 +1451,12 @@ public GetSecurityListResponse apply(GetSecurityListRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetSecurityListResponse response) {
- return response.getSecurityList().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getSecurityList().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.SecurityList.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.SecurityList.LifecycleState.Terminated)),
request);
}
@@ -948,13 +1464,19 @@ public boolean apply(GetSecurityListResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forSubnet(
- GetSubnetRequest request, com.oracle.bmc.core.model.Subnet.LifecycleState targetState) {
+ GetSubnetRequest request,
+ com.oracle.bmc.core.model.Subnet.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 forSubnet(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -971,17 +1493,47 @@ public com.oracle.bmc.waiter.Waiter forSubn
com.oracle.bmc.core.model.Subnet.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 forSubnet(
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 forSubnet(
+ GetSubnetRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.Subnet.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 forSubnet(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Subnet.
private com.oracle.bmc.waiter.Waiter forSubnet(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetSubnetRequest request,
- final com.oracle.bmc.core.model.Subnet.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.Subnet.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(
@@ -995,10 +1547,12 @@ public GetSubnetResponse apply(GetSubnetRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetSubnetResponse response) {
- return response.getSubnet().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getSubnet().getLifecycleState());
}
},
- targetState == com.oracle.bmc.core.model.Subnet.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.Subnet.LifecycleState.Terminated)),
request);
}
@@ -1006,12 +1560,17 @@ public boolean apply(GetSubnetResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forVcn(
- GetVcnRequest request, com.oracle.bmc.core.model.Vcn.LifecycleState targetState) {
- return forVcn(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ GetVcnRequest request, com.oracle.bmc.core.model.Vcn.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 forVcn(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -1028,17 +1587,47 @@ public com.oracle.bmc.waiter.Waiter forVcn(
com.oracle.bmc.core.model.Vcn.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 forVcn(
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 forVcn(
+ GetVcnRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.Vcn.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 forVcn(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Vcn.
private com.oracle.bmc.waiter.Waiter forVcn(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetVcnRequest request,
- final com.oracle.bmc.core.model.Vcn.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.Vcn.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(
@@ -1052,10 +1641,12 @@ public GetVcnResponse apply(GetVcnRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetVcnResponse response) {
- return response.getVcn().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getVcn().getLifecycleState());
}
},
- targetState == com.oracle.bmc.core.model.Vcn.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.Vcn.LifecycleState.Terminated)),
request);
}
@@ -1063,15 +1654,20 @@ public boolean apply(GetVcnResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forVirtualCircuit(
GetVirtualCircuitRequest request,
- com.oracle.bmc.core.model.VirtualCircuit.LifecycleState targetState) {
+ com.oracle.bmc.core.model.VirtualCircuit.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 forVirtualCircuit(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -1089,18 +1685,49 @@ public boolean apply(GetVcnResponse response) {
com.oracle.bmc.core.model.VirtualCircuit.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 forVirtualCircuit(
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
+ forVirtualCircuit(
+ GetVirtualCircuitRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.VirtualCircuit.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 forVirtualCircuit(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for VirtualCircuit.
private com.oracle.bmc.waiter.Waiter
forVirtualCircuit(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetVirtualCircuitRequest request,
- final com.oracle.bmc.core.model.VirtualCircuit.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.VirtualCircuit.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(
@@ -1116,13 +1743,13 @@ public GetVirtualCircuitResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetVirtualCircuitResponse response) {
- return response.getVirtualCircuit().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getVirtualCircuit().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.core.model.VirtualCircuit.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.VirtualCircuit.LifecycleState
+ .Terminated)),
request);
}
@@ -1130,12 +1757,17 @@ public boolean apply(GetVirtualCircuitResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forVnic(
- GetVnicRequest request, com.oracle.bmc.core.model.Vnic.LifecycleState targetState) {
- return forVnic(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ GetVnicRequest request, com.oracle.bmc.core.model.Vnic.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 forVnic(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -1152,17 +1784,47 @@ public com.oracle.bmc.waiter.Waiter forVnic(
com.oracle.bmc.core.model.Vnic.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 forVnic(
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 forVnic(
+ GetVnicRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.core.model.Vnic.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 forVnic(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Vnic.
private com.oracle.bmc.waiter.Waiter forVnic(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetVnicRequest request,
- final com.oracle.bmc.core.model.Vnic.LifecycleState targetState) {
+ final com.oracle.bmc.core.model.Vnic.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(
@@ -1176,10 +1838,12 @@ public GetVnicResponse apply(GetVnicRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetVnicResponse response) {
- return response.getVnic().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getVnic().getLifecycleState());
}
},
- targetState == com.oracle.bmc.core.model.Vnic.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.core.model.Vnic.LifecycleState.Terminated)),
request);
}
}
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 9167f4fb97b..0b303aca075 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
@@ -4,7 +4,7 @@
package com.oracle.bmc.core.model;
/**
- * A detachable boot volume device that contains the image used to boot an Compute instance. For more information, see
+ * A detachable boot volume device that contains the image used to boot a Compute instance. For more information, see
* [Overview of Boot Volumes](https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/bootvolumes.htm).
*
* To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml
index e55f2fa88b7..63230194313 100644
--- a/bmc-database/pom.xml
+++ b/bmc-database/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 1.2.35
+ 1.2.37
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java
index 9736f9f9823..5d5c845a091 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java
@@ -178,13 +178,16 @@ public DatabaseAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java
index 968362933db..1dc178007fb 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java
@@ -183,13 +183,16 @@ public DatabaseClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java
index cde126ea10d..01a805f4bf1 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java
@@ -22,14 +22,19 @@ public class DatabaseWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forBackup(
GetBackupRequest request,
- com.oracle.bmc.database.model.Backup.LifecycleState targetState) {
+ com.oracle.bmc.database.model.Backup.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 forBackup(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -46,17 +51,47 @@ public com.oracle.bmc.waiter.Waiter forBack
com.oracle.bmc.database.model.Backup.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 forBackup(
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 forBackup(
+ GetBackupRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.database.model.Backup.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 forBackup(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Backup.
private com.oracle.bmc.waiter.Waiter forBackup(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetBackupRequest request,
- final com.oracle.bmc.database.model.Backup.LifecycleState targetState) {
+ final com.oracle.bmc.database.model.Backup.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(
@@ -70,10 +105,12 @@ public GetBackupResponse apply(GetBackupRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetBackupResponse response) {
- return response.getBackup().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getBackup().getLifecycleState());
}
},
- targetState == com.oracle.bmc.database.model.Backup.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.database.model.Backup.LifecycleState.Deleted)),
request);
}
@@ -81,16 +118,22 @@ public boolean apply(GetBackupResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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<
GetDataGuardAssociationRequest, GetDataGuardAssociationResponse>
forDataGuardAssociation(
GetDataGuardAssociationRequest request,
- com.oracle.bmc.database.model.DataGuardAssociation.LifecycleState targetState) {
+ com.oracle.bmc.database.model.DataGuardAssociation.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 forDataGuardAssociation(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -109,20 +152,53 @@ public boolean apply(GetBackupResponse response) {
com.oracle.bmc.database.model.DataGuardAssociation.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 forDataGuardAssociation(
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<
+ GetDataGuardAssociationRequest, GetDataGuardAssociationResponse>
+ forDataGuardAssociation(
+ GetDataGuardAssociationRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.database.model.DataGuardAssociation.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 forDataGuardAssociation(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DataGuardAssociation.
private com.oracle.bmc.waiter.Waiter<
GetDataGuardAssociationRequest, GetDataGuardAssociationResponse>
forDataGuardAssociation(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDataGuardAssociationRequest request,
- final com.oracle.bmc.database.model.DataGuardAssociation.LifecycleState
- targetState) {
+ final com.oracle.bmc.database.model.DataGuardAssociation.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(
@@ -138,13 +214,13 @@ public GetDataGuardAssociationResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDataGuardAssociationResponse response) {
- return response.getDataGuardAssociation().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getDataGuardAssociation().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.database.model.DataGuardAssociation.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.database.model.DataGuardAssociation.LifecycleState
+ .Terminated)),
request);
}
@@ -152,14 +228,19 @@ public boolean apply(GetDataGuardAssociationResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forDatabase(
GetDatabaseRequest request,
- com.oracle.bmc.database.model.Database.LifecycleState targetState) {
+ com.oracle.bmc.database.model.Database.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 forDatabase(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -176,17 +257,47 @@ public com.oracle.bmc.waiter.Waiter for
com.oracle.bmc.database.model.Database.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 forDatabase(
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 forDatabase(
+ GetDatabaseRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.database.model.Database.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 forDatabase(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Database.
private com.oracle.bmc.waiter.Waiter forDatabase(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDatabaseRequest request,
- final com.oracle.bmc.database.model.Database.LifecycleState targetState) {
+ final com.oracle.bmc.database.model.Database.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(
@@ -201,12 +312,12 @@ public GetDatabaseResponse apply(GetDatabaseRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDatabaseResponse response) {
- return response.getDatabase().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getDatabase().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.database.model.Database.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.database.model.Database.LifecycleState.Terminated)),
request);
}
@@ -214,14 +325,19 @@ public boolean apply(GetDatabaseResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forDbHome(
GetDbHomeRequest request,
- com.oracle.bmc.database.model.DbHome.LifecycleState targetState) {
+ com.oracle.bmc.database.model.DbHome.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 forDbHome(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -238,17 +354,47 @@ public com.oracle.bmc.waiter.Waiter forDbHo
com.oracle.bmc.database.model.DbHome.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 forDbHome(
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 forDbHome(
+ GetDbHomeRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.database.model.DbHome.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 forDbHome(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DbHome.
private com.oracle.bmc.waiter.Waiter forDbHome(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDbHomeRequest request,
- final com.oracle.bmc.database.model.DbHome.LifecycleState targetState) {
+ final com.oracle.bmc.database.model.DbHome.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(
@@ -262,11 +408,12 @@ public GetDbHomeResponse apply(GetDbHomeRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDbHomeResponse response) {
- return response.getDbHome().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getDbHome().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.database.model.DbHome.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.database.model.DbHome.LifecycleState.Terminated)),
request);
}
@@ -274,14 +421,19 @@ public boolean apply(GetDbHomeResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forDbNode(
GetDbNodeRequest request,
- com.oracle.bmc.database.model.DbNode.LifecycleState targetState) {
+ com.oracle.bmc.database.model.DbNode.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 forDbNode(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -298,17 +450,47 @@ public com.oracle.bmc.waiter.Waiter forDbNo
com.oracle.bmc.database.model.DbNode.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 forDbNode(
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 forDbNode(
+ GetDbNodeRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.database.model.DbNode.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 forDbNode(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DbNode.
private com.oracle.bmc.waiter.Waiter forDbNode(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDbNodeRequest request,
- final com.oracle.bmc.database.model.DbNode.LifecycleState targetState) {
+ final com.oracle.bmc.database.model.DbNode.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(
@@ -322,11 +504,12 @@ public GetDbNodeResponse apply(GetDbNodeRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDbNodeResponse response) {
- return response.getDbNode().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getDbNode().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.database.model.DbNode.LifecycleState.Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.database.model.DbNode.LifecycleState.Terminated)),
request);
}
@@ -334,14 +517,19 @@ public boolean apply(GetDbNodeResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forDbSystem(
GetDbSystemRequest request,
- com.oracle.bmc.database.model.DbSystem.LifecycleState targetState) {
+ com.oracle.bmc.database.model.DbSystem.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 forDbSystem(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -358,17 +546,47 @@ public com.oracle.bmc.waiter.Waiter for
com.oracle.bmc.database.model.DbSystem.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 forDbSystem(
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 forDbSystem(
+ GetDbSystemRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.database.model.DbSystem.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 forDbSystem(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DbSystem.
private com.oracle.bmc.waiter.Waiter forDbSystem(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDbSystemRequest request,
- final com.oracle.bmc.database.model.DbSystem.LifecycleState targetState) {
+ final com.oracle.bmc.database.model.DbSystem.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(
@@ -383,12 +601,12 @@ public GetDbSystemResponse apply(GetDbSystemRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDbSystemResponse response) {
- return response.getDbSystem().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getDbSystem().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.database.model.DbSystem.LifecycleState
- .Terminated),
+ targetStatesSet.contains(
+ com.oracle.bmc.database.model.DbSystem.LifecycleState.Terminated)),
request);
}
}
diff --git a/bmc-dns/pom.xml b/bmc-dns/pom.xml
index 029a400a88d..1ce3194732b 100644
--- a/bmc-dns/pom.xml
+++ b/bmc-dns/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 1.2.35
+ 1.2.37
diff --git a/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsAsyncClient.java b/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsAsyncClient.java
index c5750da7767..9151a4b70ea 100644
--- a/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsAsyncClient.java
+++ b/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsAsyncClient.java
@@ -178,13 +178,16 @@ public DnsAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsClient.java b/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsClient.java
index b8ec85ed6ed..4c7a1fef838 100644
--- a/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsClient.java
+++ b/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsClient.java
@@ -183,13 +183,16 @@ public DnsClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsWaiters.java b/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsWaiters.java
index 603c978c833..c41677974e1 100644
--- a/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsWaiters.java
+++ b/bmc-dns/src/main/java/com/oracle/bmc/dns/DnsWaiters.java
@@ -22,12 +22,17 @@ public class DnsWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forZone(
- GetZoneRequest request, com.oracle.bmc.dns.model.Zone.LifecycleState targetState) {
- return forZone(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ GetZoneRequest request, com.oracle.bmc.dns.model.Zone.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 forZone(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -44,17 +49,47 @@ public com.oracle.bmc.waiter.Waiter forZone(
com.oracle.bmc.dns.model.Zone.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 forZone(
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 forZone(
+ GetZoneRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.dns.model.Zone.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 forZone(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Zone.
private com.oracle.bmc.waiter.Waiter forZone(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetZoneRequest request,
- final com.oracle.bmc.dns.model.Zone.LifecycleState targetState) {
+ final com.oracle.bmc.dns.model.Zone.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(
@@ -68,10 +103,12 @@ public GetZoneResponse apply(GetZoneRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetZoneResponse response) {
- return response.getZone().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getZone().getLifecycleState());
}
},
- targetState == com.oracle.bmc.dns.model.Zone.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.dns.model.Zone.LifecycleState.Deleted)),
request);
}
}
diff --git a/bmc-email/pom.xml b/bmc-email/pom.xml
index ef459c9119b..29386febcfe 100644
--- a/bmc-email/pom.xml
+++ b/bmc-email/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 1.2.35
+ 1.2.37
diff --git a/bmc-email/src/main/java/com/oracle/bmc/email/EmailAsyncClient.java b/bmc-email/src/main/java/com/oracle/bmc/email/EmailAsyncClient.java
index b9a6d3125a5..f14a0adb0b8 100644
--- a/bmc-email/src/main/java/com/oracle/bmc/email/EmailAsyncClient.java
+++ b/bmc-email/src/main/java/com/oracle/bmc/email/EmailAsyncClient.java
@@ -178,13 +178,16 @@ public EmailAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-email/src/main/java/com/oracle/bmc/email/EmailClient.java b/bmc-email/src/main/java/com/oracle/bmc/email/EmailClient.java
index d612ff64eef..a6c34c42f26 100644
--- a/bmc-email/src/main/java/com/oracle/bmc/email/EmailClient.java
+++ b/bmc-email/src/main/java/com/oracle/bmc/email/EmailClient.java
@@ -183,13 +183,16 @@ public EmailClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-email/src/main/java/com/oracle/bmc/email/EmailWaiters.java b/bmc-email/src/main/java/com/oracle/bmc/email/EmailWaiters.java
index f8af41318eb..59a52e25e4a 100644
--- a/bmc-email/src/main/java/com/oracle/bmc/email/EmailWaiters.java
+++ b/bmc-email/src/main/java/com/oracle/bmc/email/EmailWaiters.java
@@ -22,14 +22,19 @@ public class EmailWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forSender(
GetSenderRequest request,
- com.oracle.bmc.email.model.Sender.LifecycleState targetState) {
+ com.oracle.bmc.email.model.Sender.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 forSender(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -46,17 +51,47 @@ public com.oracle.bmc.waiter.Waiter forSend
com.oracle.bmc.email.model.Sender.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 forSender(
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 forSender(
+ GetSenderRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.email.model.Sender.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 forSender(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Sender.
private com.oracle.bmc.waiter.Waiter forSender(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetSenderRequest request,
- final com.oracle.bmc.email.model.Sender.LifecycleState targetState) {
+ final com.oracle.bmc.email.model.Sender.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(
@@ -70,10 +105,12 @@ public GetSenderResponse apply(GetSenderRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetSenderResponse response) {
- return response.getSender().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getSender().getLifecycleState());
}
},
- targetState == com.oracle.bmc.email.model.Sender.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.email.model.Sender.LifecycleState.Deleted)),
request);
}
}
diff --git a/bmc-examples/pom.xml b/bmc-examples/pom.xml
index 9db0ecec0de..3c6aded7077 100644
--- a/bmc-examples/pom.xml
+++ b/bmc-examples/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
@@ -19,7 +19,7 @@
com.oracle.oci.sdk
oci-java-sdk-bom
- 1.2.35
+ 1.2.37
pom
import
diff --git a/bmc-examples/src/main/java/InstancePrincipalsAuthenticationDetailsProviderExample.java b/bmc-examples/src/main/java/InstancePrincipalsAuthenticationDetailsProviderExample.java
index 2808d40d262..326fe6bea06 100644
--- a/bmc-examples/src/main/java/InstancePrincipalsAuthenticationDetailsProviderExample.java
+++ b/bmc-examples/src/main/java/InstancePrincipalsAuthenticationDetailsProviderExample.java
@@ -2,16 +2,16 @@
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
*/
import com.google.common.base.Function;
-
import com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider;
import com.oracle.bmc.identity.IdentityAsyncClient;
import com.oracle.bmc.identity.IdentityClient;
import com.oracle.bmc.identity.model.AvailabilityDomain;
import com.oracle.bmc.identity.requests.ListAvailabilityDomainsRequest;
import com.oracle.bmc.identity.responses.ListAvailabilityDomainsResponse;
-import com.oracle.bmc.model.BmcException;
import com.oracle.bmc.responses.AsyncHandler;
+import java.net.ConnectException;
+import java.net.SocketTimeoutException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Future;
@@ -19,8 +19,18 @@ public class InstancePrincipalsAuthenticationDetailsProviderExample {
public static void main(String[] args) throws Exception {
- final InstancePrincipalsAuthenticationDetailsProvider provider =
- InstancePrincipalsAuthenticationDetailsProvider.builder().build();
+ final InstancePrincipalsAuthenticationDetailsProvider provider;
+ try {
+ provider = InstancePrincipalsAuthenticationDetailsProvider.builder().build();
+ } catch (Exception e) {
+ if (e.getCause() instanceof SocketTimeoutException
+ || e.getCause() instanceof ConnectException) {
+ System.out.println(
+ "This sample only works when running on an OCI instance. Are you sure you’re running on an OCI instance? For more info see: https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/callingservicesfrominstances.htm");
+ return;
+ }
+ throw e;
+ }
final IdentityClient identityClient = new IdentityClient(provider);
final IdentityAsyncClient identityAsyncClient = new IdentityAsyncClient(provider);
diff --git a/bmc-filestorage/pom.xml b/bmc-filestorage/pom.xml
index 95cd191e483..83acfc415a5 100644
--- a/bmc-filestorage/pom.xml
+++ b/bmc-filestorage/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 1.2.35
+ 1.2.37
diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsyncClient.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsyncClient.java
index 7539a41af3b..2a641664c31 100644
--- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsyncClient.java
+++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageAsyncClient.java
@@ -178,13 +178,16 @@ public FileStorageAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageClient.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageClient.java
index da63dc518cf..965ac60a3e4 100644
--- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageClient.java
+++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageClient.java
@@ -183,13 +183,16 @@ public FileStorageClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageWaiters.java b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageWaiters.java
index 9a87022046e..afdf9ea9ca9 100644
--- a/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageWaiters.java
+++ b/bmc-filestorage/src/main/java/com/oracle/bmc/filestorage/FileStorageWaiters.java
@@ -22,14 +22,19 @@ public class FileStorageWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forExport(
GetExportRequest request,
- com.oracle.bmc.filestorage.model.Export.LifecycleState targetState) {
+ com.oracle.bmc.filestorage.model.Export.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 forExport(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -46,17 +51,47 @@ public com.oracle.bmc.waiter.Waiter forExpo
com.oracle.bmc.filestorage.model.Export.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 forExport(
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 forExport(
+ GetExportRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.filestorage.model.Export.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 forExport(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Export.
private com.oracle.bmc.waiter.Waiter forExport(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetExportRequest request,
- final com.oracle.bmc.filestorage.model.Export.LifecycleState targetState) {
+ final com.oracle.bmc.filestorage.model.Export.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(
@@ -70,11 +105,12 @@ public GetExportResponse apply(GetExportRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetExportResponse response) {
- return response.getExport().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getExport().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.filestorage.model.Export.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.filestorage.model.Export.LifecycleState.Deleted)),
request);
}
@@ -82,14 +118,19 @@ public boolean apply(GetExportResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forExportSet(
GetExportSetRequest request,
- com.oracle.bmc.filestorage.model.ExportSet.LifecycleState targetState) {
+ com.oracle.bmc.filestorage.model.ExportSet.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 forExportSet(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -106,17 +147,47 @@ public com.oracle.bmc.waiter.Waiter f
com.oracle.bmc.filestorage.model.ExportSet.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 forExportSet(
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 forExportSet(
+ GetExportSetRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.filestorage.model.ExportSet.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 forExportSet(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for ExportSet.
private com.oracle.bmc.waiter.Waiter forExportSet(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetExportSetRequest request,
- final com.oracle.bmc.filestorage.model.ExportSet.LifecycleState targetState) {
+ final com.oracle.bmc.filestorage.model.ExportSet.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(
@@ -131,12 +202,12 @@ public GetExportSetResponse apply(GetExportSetRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetExportSetResponse response) {
- return response.getExportSet().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getExportSet().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.filestorage.model.ExportSet.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.filestorage.model.ExportSet.LifecycleState.Deleted)),
request);
}
@@ -144,14 +215,19 @@ public boolean apply(GetExportSetResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forFileSystem(
GetFileSystemRequest request,
- com.oracle.bmc.filestorage.model.FileSystem.LifecycleState targetState) {
+ com.oracle.bmc.filestorage.model.FileSystem.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 forFileSystem(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -168,17 +244,47 @@ public com.oracle.bmc.waiter.Waiter
com.oracle.bmc.filestorage.model.FileSystem.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 forFileSystem(
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 forFileSystem(
+ GetFileSystemRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.filestorage.model.FileSystem.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 forFileSystem(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for FileSystem.
private com.oracle.bmc.waiter.Waiter forFileSystem(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetFileSystemRequest request,
- final com.oracle.bmc.filestorage.model.FileSystem.LifecycleState targetState) {
+ final com.oracle.bmc.filestorage.model.FileSystem.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(
@@ -193,12 +299,13 @@ public GetFileSystemResponse apply(GetFileSystemRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetFileSystemResponse response) {
- return response.getFileSystem().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getFileSystem().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.filestorage.model.FileSystem.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.filestorage.model.FileSystem.LifecycleState
+ .Deleted)),
request);
}
@@ -206,15 +313,20 @@ public boolean apply(GetFileSystemResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forMountTarget(
GetMountTargetRequest request,
- com.oracle.bmc.filestorage.model.MountTarget.LifecycleState targetState) {
+ com.oracle.bmc.filestorage.model.MountTarget.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 forMountTarget(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -232,18 +344,50 @@ public boolean apply(GetFileSystemResponse response) {
com.oracle.bmc.filestorage.model.MountTarget.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 forMountTarget(
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
+ forMountTarget(
+ GetMountTargetRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.filestorage.model.MountTarget.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 forMountTarget(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for MountTarget.
private com.oracle.bmc.waiter.Waiter
forMountTarget(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetMountTargetRequest request,
- final com.oracle.bmc.filestorage.model.MountTarget.LifecycleState targetState) {
+ final com.oracle.bmc.filestorage.model.MountTarget.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(
@@ -258,12 +402,13 @@ public GetMountTargetResponse apply(GetMountTargetRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetMountTargetResponse response) {
- return response.getMountTarget().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getMountTarget().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.filestorage.model.MountTarget.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.filestorage.model.MountTarget.LifecycleState
+ .Deleted)),
request);
}
@@ -271,14 +416,19 @@ public boolean apply(GetMountTargetResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forSnapshot(
GetSnapshotRequest request,
- com.oracle.bmc.filestorage.model.Snapshot.LifecycleState targetState) {
+ com.oracle.bmc.filestorage.model.Snapshot.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 forSnapshot(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -295,17 +445,47 @@ public com.oracle.bmc.waiter.Waiter for
com.oracle.bmc.filestorage.model.Snapshot.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 forSnapshot(
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 forSnapshot(
+ GetSnapshotRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.filestorage.model.Snapshot.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 forSnapshot(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Snapshot.
private com.oracle.bmc.waiter.Waiter forSnapshot(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetSnapshotRequest request,
- final com.oracle.bmc.filestorage.model.Snapshot.LifecycleState targetState) {
+ final com.oracle.bmc.filestorage.model.Snapshot.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(
@@ -320,12 +500,12 @@ public GetSnapshotResponse apply(GetSnapshotRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetSnapshotResponse response) {
- return response.getSnapshot().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getSnapshot().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.filestorage.model.Snapshot.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.filestorage.model.Snapshot.LifecycleState.Deleted)),
request);
}
}
diff --git a/bmc-full/pom.xml b/bmc-full/pom.xml
index 5be775aa254..dba5e5a9a8f 100644
--- a/bmc-full/pom.xml
+++ b/bmc-full/pom.xml
@@ -4,154 +4,19 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
oci-java-sdk-full
Oracle Cloud Infrastructure SDK - Full SDK
This project contains the complete SDK distribution used for Oracle Cloud Infrastructure
https://docs.us-phoenix-1.oraclecloud.com/Content/API/SDKDocs/javasdk.htm
-
-
-
- ziponly
-
-
-
- maven-assembly-plugin
-
- true
- true
-
- src/main/assembly/assembly.xml
-
-
-
-
- package
-
- single
-
-
-
-
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 2.3
-
-
- package
-
- shade
-
-
- false
- false
- true
-
- ${java.io.tmpdir}/dependency-reduced-pom.xml
-
-
-
- com.oracle.oci.sdk:*
-
-
-
-
- *:*
-
- **/pom.xml
- **/pom.properties
-
-
-
-
-
-
-
-
-
-
- maven-javadoc-plugin
-
- true
- Oracle Cloud Infrastructure Java SDK - ${project.version}
- Oracle Cloud Infrastructure Java SDK - ${project.version}
- OCI Java SDK
-
- ../bmc-audit/target/generated-sources-for-docs/delombok;
- ../bmc-common/target/generated-sources-for-docs/delombok;
- ../bmc-core/target/generated-sources-for-docs/delombok;
- ../bmc-database/target/generated-sources-for-docs/delombok;
- ../bmc-dns/target/generated-sources-for-docs/delombok;
- ../bmc-email/target/generated-sources-for-docs/delombok;
- ../bmc-filestorage/target/generated-sources-for-docs/delombok;
- ../bmc-identity/target/generated-sources-for-docs/delombok;
- ../bmc-loadbalancer/target/generated-sources-for-docs/delombok;
- ../bmc-objectstorage/bmc-objectstorage-extensions/target/generated-sources-for-docs/delombok;
- ../bmc-objectstorage/bmc-objectstorage-generated/target/generated-sources-for-docs/delombok;
-
-
-
- Oracle Cloud Infrastructure Audit Service
- com.oracle.bmc.audit*
-
-
- Oracle Cloud Infrastructure Core Services (Compute/Virtual Network/Block Storage)
- com.oracle.bmc.core*
-
-
- Oracle Cloud Infrastructure Database Service
- com.oracle.bmc.database*
-
-
- Oracle Cloud Infrastructure DNS Service
- com.oracle.bmc.dns*
-
-
- Oracle Cloud Infrastructure Email Service
- com.oracle.bmc.email*
-
-
- Oracle Cloud Infrastructure File Storage
- com.oracle.bmc.filestorage*
-
-
- Oracle Cloud Infrastructure Identity Service
- com.oracle.bmc.identity*
-
-
- Oracle Cloud Infrastructure Load Balancer Service
- com.oracle.bmc.loadbalancer*
-
-
- Oracle Cloud Infrastructure Object Storage Service
- com.oracle.bmc.objectstorage*
-
-
- Oracle Cloud Infrastructure Common Runtime
- com.oracle.bmc*
-
-
- src/main/java/overview.html
-
-
-
-
com.oracle.oci.sdk
oci-java-sdk-bom
- 1.2.35
+ 1.2.37
pom
import
diff --git a/bmc-identity/pom.xml b/bmc-identity/pom.xml
index 5e3e8a7878c..a9087815288 100644
--- a/bmc-identity/pom.xml
+++ b/bmc-identity/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 1.2.35
+ 1.2.37
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 1.2.35
+ 1.2.37
diff --git a/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityAsyncClient.java b/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityAsyncClient.java
index 37caad3d3ba..4ffdabcd560 100644
--- a/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityAsyncClient.java
+++ b/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityAsyncClient.java
@@ -178,13 +178,16 @@ public IdentityAsyncClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
diff --git a/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityClient.java b/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityClient.java
index dbaa5bb8a2f..ac0f82f10a2 100644
--- a/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityClient.java
+++ b/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityClient.java
@@ -183,13 +183,16 @@ public IdentityClient(
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
- for (com.oracle.bmc.http.signing.SigningStrategy s :
- com.oracle.bmc.http.signing.SigningStrategy.values()) {
- requestSigners.put(
- s,
- signingStrategyRequestSignerFactories
- .get(s)
- .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
}
this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
// up to 50 (core) threads, time out after 60s idle, all daemon
diff --git a/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityWaiters.java b/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityWaiters.java
index 4df89649dae..11625760c64 100644
--- a/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityWaiters.java
+++ b/bmc-identity/src/main/java/com/oracle/bmc/identity/IdentityWaiters.java
@@ -22,15 +22,20 @@ public class IdentityWaiters {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forCompartment(
GetCompartmentRequest request,
- com.oracle.bmc.identity.model.Compartment.LifecycleState targetState) {
+ com.oracle.bmc.identity.model.Compartment.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 forCompartment(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -48,18 +53,50 @@ public class IdentityWaiters {
com.oracle.bmc.identity.model.Compartment.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 forCompartment(
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
+ forCompartment(
+ GetCompartmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.Compartment.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 forCompartment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Compartment.
private com.oracle.bmc.waiter.Waiter
forCompartment(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetCompartmentRequest request,
- final com.oracle.bmc.identity.model.Compartment.LifecycleState targetState) {
+ final com.oracle.bmc.identity.model.Compartment.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(
@@ -74,12 +111,12 @@ public GetCompartmentResponse apply(GetCompartmentRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetCompartmentResponse response) {
- return response.getCompartment().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getCompartment().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.identity.model.Compartment.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.identity.model.Compartment.LifecycleState.Deleted)),
request);
}
@@ -87,15 +124,20 @@ public boolean apply(GetCompartmentResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forDynamicGroup(
GetDynamicGroupRequest request,
- com.oracle.bmc.identity.model.DynamicGroup.LifecycleState targetState) {
+ com.oracle.bmc.identity.model.DynamicGroup.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 forDynamicGroup(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -113,18 +155,50 @@ public boolean apply(GetCompartmentResponse response) {
com.oracle.bmc.identity.model.DynamicGroup.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 forDynamicGroup(
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
+ forDynamicGroup(
+ GetDynamicGroupRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.DynamicGroup.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 forDynamicGroup(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for DynamicGroup.
private com.oracle.bmc.waiter.Waiter
forDynamicGroup(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetDynamicGroupRequest request,
- final com.oracle.bmc.identity.model.DynamicGroup.LifecycleState targetState) {
+ final com.oracle.bmc.identity.model.DynamicGroup.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(
@@ -139,13 +213,12 @@ public GetDynamicGroupResponse apply(GetDynamicGroupRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetDynamicGroupResponse response) {
- return response.getDynamicGroup().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getDynamicGroup().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.identity.model.DynamicGroup.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.identity.model.DynamicGroup.LifecycleState.Deleted)),
request);
}
@@ -153,13 +226,19 @@ public boolean apply(GetDynamicGroupResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forGroup(
GetGroupRequest request,
- com.oracle.bmc.identity.model.Group.LifecycleState targetState) {
- return forGroup(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.identity.model.Group.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 forGroup(
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -176,17 +255,47 @@ public com.oracle.bmc.waiter.Waiter forGroup(
com.oracle.bmc.identity.model.Group.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 forGroup(
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 forGroup(
+ GetGroupRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.Group.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 forGroup(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Group.
private com.oracle.bmc.waiter.Waiter forGroup(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetGroupRequest request,
- final com.oracle.bmc.identity.model.Group.LifecycleState targetState) {
+ final com.oracle.bmc.identity.model.Group.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(
@@ -200,10 +309,12 @@ public GetGroupResponse apply(GetGroupRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetGroupResponse response) {
- return response.getGroup().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getGroup().getLifecycleState());
}
},
- targetState == com.oracle.bmc.identity.model.Group.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.identity.model.Group.LifecycleState.Deleted)),
request);
}
@@ -211,15 +322,20 @@ public boolean apply(GetGroupResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forIdentityProvider(
GetIdentityProviderRequest request,
- com.oracle.bmc.identity.model.IdentityProvider.LifecycleState targetState) {
+ com.oracle.bmc.identity.model.IdentityProvider.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 forIdentityProvider(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -237,19 +353,50 @@ public boolean apply(GetGroupResponse response) {
com.oracle.bmc.identity.model.IdentityProvider.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 forIdentityProvider(
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
+ forIdentityProvider(
+ GetIdentityProviderRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.IdentityProvider.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 forIdentityProvider(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for IdentityProvider.
private com.oracle.bmc.waiter.Waiter
forIdentityProvider(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetIdentityProviderRequest request,
- final com.oracle.bmc.identity.model.IdentityProvider.LifecycleState
- targetState) {
+ final com.oracle.bmc.identity.model.IdentityProvider.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(
@@ -265,13 +412,13 @@ public GetIdentityProviderResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetIdentityProviderResponse response) {
- return response.getIdentityProvider().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getIdentityProvider().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.identity.model.IdentityProvider.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.identity.model.IdentityProvider.LifecycleState
+ .Deleted)),
request);
}
@@ -279,15 +426,20 @@ public boolean apply(GetIdentityProviderResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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
forIdpGroupMapping(
GetIdpGroupMappingRequest request,
- com.oracle.bmc.identity.model.IdpGroupMapping.LifecycleState targetState) {
+ com.oracle.bmc.identity.model.IdpGroupMapping.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 forIdpGroupMapping(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -305,19 +457,50 @@ public boolean apply(GetIdentityProviderResponse response) {
com.oracle.bmc.identity.model.IdpGroupMapping.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 forIdpGroupMapping(
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
+ forIdpGroupMapping(
+ GetIdpGroupMappingRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.IdpGroupMapping.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 forIdpGroupMapping(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for IdpGroupMapping.
private com.oracle.bmc.waiter.Waiter
forIdpGroupMapping(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetIdpGroupMappingRequest request,
- final com.oracle.bmc.identity.model.IdpGroupMapping.LifecycleState
- targetState) {
+ final com.oracle.bmc.identity.model.IdpGroupMapping.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(
@@ -333,13 +516,13 @@ public GetIdpGroupMappingResponse apply(
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetIdpGroupMappingResponse response) {
- return response.getIdpGroupMapping().getLifecycleState()
- == targetState;
+ return targetStatesSet.contains(
+ response.getIdpGroupMapping().getLifecycleState());
}
},
- targetState
- == com.oracle.bmc.identity.model.IdpGroupMapping.LifecycleState
- .Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.identity.model.IdpGroupMapping.LifecycleState
+ .Deleted)),
request);
}
@@ -347,14 +530,19 @@ public boolean apply(GetIdpGroupMappingResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forPolicy(
GetPolicyRequest request,
- com.oracle.bmc.identity.model.Policy.LifecycleState targetState) {
+ com.oracle.bmc.identity.model.Policy.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 forPolicy(
- com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -371,17 +559,47 @@ public com.oracle.bmc.waiter.Waiter forPoli
com.oracle.bmc.identity.model.Policy.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 forPolicy(
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 forPolicy(
+ GetPolicyRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.Policy.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 forPolicy(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for Policy.
private com.oracle.bmc.waiter.Waiter forPolicy(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetPolicyRequest request,
- final com.oracle.bmc.identity.model.Policy.LifecycleState targetState) {
+ final com.oracle.bmc.identity.model.Policy.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(
@@ -395,10 +613,12 @@ public GetPolicyResponse apply(GetPolicyRequest request) {
new com.google.common.base.Predicate() {
@Override
public boolean apply(GetPolicyResponse response) {
- return response.getPolicy().getLifecycleState() == targetState;
+ return targetStatesSet.contains(
+ response.getPolicy().getLifecycleState());
}
},
- targetState == com.oracle.bmc.identity.model.Policy.LifecycleState.Deleted),
+ targetStatesSet.contains(
+ com.oracle.bmc.identity.model.Policy.LifecycleState.Deleted)),
request);
}
@@ -406,12 +626,18 @@ public boolean apply(GetPolicyResponse response) {
* Creates a new {@link Waiter} using default configuration.
*
* @param request the request to send
- * @param targetState the desired state to wait for
+ * @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 forUser(
- GetUserRequest request, com.oracle.bmc.identity.model.User.LifecycleState targetState) {
- return forUser(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetState);
+ GetUserRequest request,
+ com.oracle.bmc.identity.model.User.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 forUser(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
/**
@@ -428,17 +654,47 @@ public com.oracle.bmc.waiter.Waiter forUser(
com.oracle.bmc.identity.model.User.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 forUser(
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 forUser(
+ GetUserRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.identity.model.User.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 forUser(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
// Helper method to create a new Waiter for User.
private com.oracle.bmc.waiter.Waiter forUser(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
final GetUserRequest request,
- final com.oracle.bmc.identity.model.User.LifecycleState targetState) {
+ final com.oracle.bmc.identity.model.User.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(
@@ -452,10 +708,12 @@ public GetUserResponse apply(GetUserRequest request) {
new com.google.common.base.Predicate