
com.oracle.bmc.mysql.DbSystemClient Maven / Gradle / Ivy
/**
* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
* This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
*/
package com.oracle.bmc.mysql;
import com.oracle.bmc.mysql.internal.http.*;
import com.oracle.bmc.mysql.requests.*;
import com.oracle.bmc.mysql.responses.*;
@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190415")
@lombok.extern.slf4j.Slf4j
public class DbSystemClient implements DbSystem {
/**
* Service instance for DbSystem.
*/
public static final com.oracle.bmc.Service SERVICE =
com.oracle.bmc.Services.serviceBuilder()
.serviceName("DBSYSTEM")
.serviceEndpointPrefix("")
.serviceEndpointTemplate("https://mysql.{region}.ocp.{secondLevelDomain}")
.build();
// attempt twice if it's instance principals, immediately failures will try to refresh the token
private static final int MAX_IMMEDIATE_RETRIES_IF_USING_INSTANCE_PRINCIPALS = 2;
private final DbSystemWaiters waiters;
private final DbSystemPaginators paginators;
@lombok.Getter(value = lombok.AccessLevel.PACKAGE)
private final com.oracle.bmc.http.internal.RestClient client;
private final com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider
authenticationDetailsProvider;
private final com.oracle.bmc.retrier.RetryConfiguration retryConfiguration;
/**
* Creates a new service instance using the given authentication provider.
* @param authenticationDetailsProvider The authentication details provider, required.
*/
public DbSystemClient(
com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) {
this(authenticationDetailsProvider, null);
}
/**
* Creates a new service instance using the given authentication provider and client configuration.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
*/
public DbSystemClient(
com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration) {
this(authenticationDetailsProvider, configuration, null);
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
*/
public DbSystemClient(
com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator) {
this(
authenticationDetailsProvider,
configuration,
clientConfigurator,
new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory(
com.oracle.bmc.http.signing.SigningStrategy.STANDARD));
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
*
* This is an advanced constructor for clients that want to take control over how requests are signed.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
* @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
*/
public DbSystemClient(
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator,
com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) {
this(
authenticationDetailsProvider,
configuration,
clientConfigurator,
defaultRequestSignerFactory,
new java.util.ArrayList());
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
*
* This is an advanced constructor for clients that want to take control over how requests are signed.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
* @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
*/
public DbSystemClient(
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator,
com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
java.util.List additionalClientConfigurators) {
this(
authenticationDetailsProvider,
configuration,
clientConfigurator,
defaultRequestSignerFactory,
additionalClientConfigurators,
null);
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
*
* This is an advanced constructor for clients that want to take control over how requests are signed.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
* @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
* @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
*/
public DbSystemClient(
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator,
com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
java.util.List additionalClientConfigurators,
String endpoint) {
this(
authenticationDetailsProvider,
configuration,
clientConfigurator,
defaultRequestSignerFactory,
com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory
.createDefaultRequestSignerFactories(),
additionalClientConfigurators,
endpoint);
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
*
* This is an advanced constructor for clients that want to take control over how requests are signed.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
* @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
* @param signingStrategyRequestSignerFactories The request signer factories for each signing strategy used to create the request signer
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
* @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
*/
public DbSystemClient(
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator,
com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
java.util.Map<
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSignerFactory>
signingStrategyRequestSignerFactories,
java.util.List additionalClientConfigurators,
String endpoint) {
this(
authenticationDetailsProvider,
configuration,
clientConfigurator,
defaultRequestSignerFactory,
signingStrategyRequestSignerFactories,
additionalClientConfigurators,
endpoint,
null);
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
*
* This is an advanced constructor for clients that want to take control over how requests are signed.
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
* @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
* @param signingStrategyRequestSignerFactories The request signer factories for each signing strategy used to create the request signer
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
* @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
* @param executorService ExecutorService used by the client, or null to use the default configured ThreadPoolExecutor
*/
public DbSystemClient(
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator,
com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
java.util.Map<
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSignerFactory>
signingStrategyRequestSignerFactories,
java.util.List additionalClientConfigurators,
String endpoint,
java.util.concurrent.ExecutorService executorService) {
this(
authenticationDetailsProvider,
configuration,
clientConfigurator,
defaultRequestSignerFactory,
signingStrategyRequestSignerFactories,
additionalClientConfigurators,
endpoint,
executorService,
com.oracle.bmc.http.internal.RestClientFactoryBuilder.builder());
}
/**
* Creates a new service instance using the given authentication provider and client configuration. Additionally,
* a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
*
* This is an advanced constructor for clients that want to take control over how requests are signed.
* Use the {@link Builder} to get access to all these parameters.
*
* @param authenticationDetailsProvider The authentication details provider, required.
* @param configuration The client configuration, optional.
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
* @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
* @param signingStrategyRequestSignerFactories The request signer factories for each signing strategy used to create the request signer
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
* @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
* @param executorService ExecutorService used by the client, or null to use the default configured ThreadPoolExecutor
* @param restClientFactoryBuilder the builder for the {@link com.oracle.bmc.http.internal.RestClientFactory}
*/
protected DbSystemClient(
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration,
com.oracle.bmc.http.ClientConfigurator clientConfigurator,
com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
java.util.Map<
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSignerFactory>
signingStrategyRequestSignerFactories,
java.util.List additionalClientConfigurators,
String endpoint,
java.util.concurrent.ExecutorService executorService,
com.oracle.bmc.http.internal.RestClientFactoryBuilder restClientFactoryBuilder) {
this.authenticationDetailsProvider = authenticationDetailsProvider;
java.util.List authenticationDetailsConfigurators =
new java.util.ArrayList<>();
if (this.authenticationDetailsProvider
instanceof com.oracle.bmc.auth.ProvidesClientConfigurators) {
authenticationDetailsConfigurators.addAll(
((com.oracle.bmc.auth.ProvidesClientConfigurators)
this.authenticationDetailsProvider)
.getClientConfigurators());
}
java.util.List allConfigurators =
new java.util.ArrayList<>(additionalClientConfigurators);
allConfigurators.addAll(authenticationDetailsConfigurators);
com.oracle.bmc.http.internal.RestClientFactory restClientFactory =
restClientFactoryBuilder
.clientConfigurator(clientConfigurator)
.additionalClientConfigurators(allConfigurators)
.build();
com.oracle.bmc.http.signing.RequestSigner defaultRequestSigner =
defaultRequestSignerFactory.createRequestSigner(
SERVICE, this.authenticationDetailsProvider);
java.util.Map<
com.oracle.bmc.http.signing.SigningStrategy,
com.oracle.bmc.http.signing.RequestSigner>
requestSigners = new java.util.HashMap<>();
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));
}
}
final com.oracle.bmc.ClientConfiguration clientConfigurationToUse =
(configuration != null)
? configuration
: com.oracle.bmc.ClientConfiguration.builder().build();
this.retryConfiguration = clientConfigurationToUse.getRetryConfiguration();
this.client =
restClientFactory.create(
defaultRequestSigner, requestSigners, clientConfigurationToUse);
if (executorService == null) {
// up to 50 (core) threads, time out after 60s idle, all daemon
java.util.concurrent.ThreadPoolExecutor threadPoolExecutor =
new java.util.concurrent.ThreadPoolExecutor(
50,
50,
60L,
java.util.concurrent.TimeUnit.SECONDS,
new java.util.concurrent.LinkedBlockingQueue(),
new com.google.common.util.concurrent.ThreadFactoryBuilder()
.setDaemon(true)
.setNameFormat("DbSystem-waiters-%d")
.build());
threadPoolExecutor.allowCoreThreadTimeOut(true);
executorService = threadPoolExecutor;
}
this.waiters = new DbSystemWaiters(executorService, this);
this.paginators = new DbSystemPaginators(this);
if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.RegionProvider) {
com.oracle.bmc.auth.RegionProvider provider =
(com.oracle.bmc.auth.RegionProvider) this.authenticationDetailsProvider;
if (provider.getRegion() != null) {
this.setRegion(provider.getRegion());
if (endpoint != null) {
LOG.info(
"Authentication details provider configured for region '{}', but endpoint specifically set to '{}'. Using endpoint setting instead of region.",
provider.getRegion(),
endpoint);
}
}
}
if (endpoint != null) {
setEndpoint(endpoint);
}
}
/**
* Create a builder for this client.
* @return builder
*/
public static Builder builder() {
return new Builder(SERVICE);
}
/**
* Builder class for this client. The "authenticationDetailsProvider" is required and must be passed to the
* {@link #build(AbstractAuthenticationDetailsProvider)} method.
*/
public static class Builder
extends com.oracle.bmc.common.RegionalClientBuilder {
private java.util.concurrent.ExecutorService executorService;
private Builder(com.oracle.bmc.Service service) {
super(service);
requestSignerFactory =
new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory(
com.oracle.bmc.http.signing.SigningStrategy.STANDARD);
}
/**
* Set the ExecutorService for the client to be created.
* @param executorService executorService
* @return this builder
*/
public Builder executorService(java.util.concurrent.ExecutorService executorService) {
this.executorService = executorService;
return this;
}
/**
* Build the client.
* @param authenticationDetailsProvider authentication details provider
* @return the client
*/
public DbSystemClient build(
@lombok.NonNull
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider
authenticationDetailsProvider) {
return new DbSystemClient(
authenticationDetailsProvider,
configuration,
clientConfigurator,
requestSignerFactory,
signingStrategyRequestSignerFactories,
additionalClientConfigurators,
endpoint,
executorService);
}
}
@Override
public void setEndpoint(String endpoint) {
LOG.info("Setting endpoint to {}", endpoint);
client.setEndpoint(endpoint);
}
@Override
public String getEndpoint() {
String endpoint = null;
java.net.URI uri = client.getBaseTarget().getUri();
if (uri != null) {
endpoint = uri.toString();
}
return endpoint;
}
@Override
public void setRegion(com.oracle.bmc.Region region) {
com.google.common.base.Optional endpoint = region.getEndpoint(SERVICE);
if (endpoint.isPresent()) {
setEndpoint(endpoint.get());
} else {
throw new IllegalArgumentException(
"Endpoint for " + SERVICE + " is not known in region " + region);
}
}
@Override
public void setRegion(String regionId) {
regionId = regionId.toLowerCase(java.util.Locale.ENGLISH);
try {
com.oracle.bmc.Region region = com.oracle.bmc.Region.fromRegionId(regionId);
setRegion(region);
} catch (IllegalArgumentException e) {
LOG.info("Unknown regionId '{}', falling back to default endpoint format", regionId);
String endpoint = com.oracle.bmc.Region.formatDefaultRegionEndpoint(SERVICE, regionId);
setEndpoint(endpoint);
}
}
@Override
public void close() {
client.close();
}
@Override
public AddAnalyticsClusterResponse addAnalyticsCluster(AddAnalyticsClusterRequest request) {
LOG.trace("Called addAnalyticsCluster");
final AddAnalyticsClusterRequest interceptedRequest =
AddAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
AddAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = AddAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(
ib,
retriedRequest.getAddAnalyticsClusterDetails(),
retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public CreateDbSystemResponse createDbSystem(CreateDbSystemRequest request) {
LOG.trace("Called createDbSystem");
final CreateDbSystemRequest interceptedRequest =
CreateDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
CreateDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = CreateDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(
ib,
retriedRequest.getCreateDbSystemDetails(),
retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public DeleteAnalyticsClusterResponse deleteAnalyticsCluster(
DeleteAnalyticsClusterRequest request) {
LOG.trace("Called deleteAnalyticsCluster");
final DeleteAnalyticsClusterRequest interceptedRequest =
DeleteAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
DeleteAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = DeleteAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.delete(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public DeleteDbSystemResponse deleteDbSystem(DeleteDbSystemRequest request) {
LOG.trace("Called deleteDbSystem");
final DeleteDbSystemRequest interceptedRequest =
DeleteDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
DeleteDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = DeleteDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.delete(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public GenerateAnalyticsClusterMemoryEstimateResponse generateAnalyticsClusterMemoryEstimate(
GenerateAnalyticsClusterMemoryEstimateRequest request) {
LOG.trace("Called generateAnalyticsClusterMemoryEstimate");
final GenerateAnalyticsClusterMemoryEstimateRequest interceptedRequest =
GenerateAnalyticsClusterMemoryEstimateConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
GenerateAnalyticsClusterMemoryEstimateConverter.fromRequest(
client, interceptedRequest);
com.google.common.base.Function<
javax.ws.rs.core.Response, GenerateAnalyticsClusterMemoryEstimateResponse>
transformer = GenerateAnalyticsClusterMemoryEstimateConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public GetAnalyticsClusterResponse getAnalyticsCluster(GetAnalyticsClusterRequest request) {
LOG.trace("Called getAnalyticsCluster");
final GetAnalyticsClusterRequest interceptedRequest =
GetAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
GetAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = GetAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response = client.get(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public GetAnalyticsClusterMemoryEstimateResponse getAnalyticsClusterMemoryEstimate(
GetAnalyticsClusterMemoryEstimateRequest request) {
LOG.trace("Called getAnalyticsClusterMemoryEstimate");
final GetAnalyticsClusterMemoryEstimateRequest interceptedRequest =
GetAnalyticsClusterMemoryEstimateConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
GetAnalyticsClusterMemoryEstimateConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function<
javax.ws.rs.core.Response, GetAnalyticsClusterMemoryEstimateResponse>
transformer = GetAnalyticsClusterMemoryEstimateConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response = client.get(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public GetDbSystemResponse getDbSystem(GetDbSystemRequest request) {
LOG.trace("Called getDbSystem");
final GetDbSystemRequest interceptedRequest =
GetDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
GetDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = GetDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response = client.get(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public ListDbSystemsResponse listDbSystems(ListDbSystemsRequest request) {
LOG.trace("Called listDbSystems");
final ListDbSystemsRequest interceptedRequest =
ListDbSystemsConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
ListDbSystemsConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = ListDbSystemsConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response = client.get(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public RestartAnalyticsClusterResponse restartAnalyticsCluster(
RestartAnalyticsClusterRequest request) {
LOG.trace("Called restartAnalyticsCluster");
final RestartAnalyticsClusterRequest interceptedRequest =
RestartAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
RestartAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = RestartAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public RestartDbSystemResponse restartDbSystem(RestartDbSystemRequest request) {
LOG.trace("Called restartDbSystem");
final RestartDbSystemRequest interceptedRequest =
RestartDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
RestartDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = RestartDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(
ib,
retriedRequest.getRestartDbSystemDetails(),
retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public StartAnalyticsClusterResponse startAnalyticsCluster(
StartAnalyticsClusterRequest request) {
LOG.trace("Called startAnalyticsCluster");
final StartAnalyticsClusterRequest interceptedRequest =
StartAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
StartAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = StartAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public StartDbSystemResponse startDbSystem(StartDbSystemRequest request) {
LOG.trace("Called startDbSystem");
final StartDbSystemRequest interceptedRequest =
StartDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
StartDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = StartDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public StopAnalyticsClusterResponse stopAnalyticsCluster(StopAnalyticsClusterRequest request) {
LOG.trace("Called stopAnalyticsCluster");
final StopAnalyticsClusterRequest interceptedRequest =
StopAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
StopAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = StopAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(ib, retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public StopDbSystemResponse stopDbSystem(StopDbSystemRequest request) {
LOG.trace("Called stopDbSystem");
final StopDbSystemRequest interceptedRequest =
StopDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
StopDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = StopDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
com.oracle.bmc.http.internal.RetryTokenUtils.addRetryToken(ib);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.post(
ib,
retriedRequest.getStopDbSystemDetails(),
retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public UpdateAnalyticsClusterResponse updateAnalyticsCluster(
UpdateAnalyticsClusterRequest request) {
LOG.trace("Called updateAnalyticsCluster");
final UpdateAnalyticsClusterRequest interceptedRequest =
UpdateAnalyticsClusterConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
UpdateAnalyticsClusterConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = UpdateAnalyticsClusterConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.put(
ib,
retriedRequest.getUpdateAnalyticsClusterDetails(),
retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public UpdateDbSystemResponse updateDbSystem(UpdateDbSystemRequest request) {
LOG.trace("Called updateDbSystem");
final UpdateDbSystemRequest interceptedRequest =
UpdateDbSystemConverter.interceptRequest(request);
com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
UpdateDbSystemConverter.fromRequest(client, interceptedRequest);
com.google.common.base.Function
transformer = UpdateDbSystemConverter.fromResponse();
final com.oracle.bmc.retrier.BmcGenericRetrier retrier =
com.oracle.bmc.retrier.Retriers.createPreferredRetrier(
interceptedRequest.getRetryConfiguration(), retryConfiguration);
return retrier.execute(
interceptedRequest,
retryRequest -> {
final com.oracle.bmc.retrier.TokenRefreshRetrier tokenRefreshRetrier =
new com.oracle.bmc.retrier.TokenRefreshRetrier(
authenticationDetailsProvider);
return tokenRefreshRetrier.execute(
retryRequest,
retriedRequest -> {
javax.ws.rs.core.Response response =
client.put(
ib,
retriedRequest.getUpdateDbSystemDetails(),
retriedRequest);
return transformer.apply(response);
});
});
}
@Override
public DbSystemWaiters getWaiters() {
return waiters;
}
@Override
public DbSystemPaginators getPaginators() {
return paginators;
}
}