All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy