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

com.google.cloud.logging.spi.v2.LoggingServiceV2Settings Maven / Gradle / Ivy

There is a newer version: 0.2.8
Show newest version
/*
 * Copyright 2016 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

/*
 * EDITING INSTRUCTIONS
 * This file was generated from the file
 * https://github.com/google/googleapis/blob/master/google/logging/v2/logging.proto
 * and updates to that file get reflected here through a refresh process.
 * For the short term, the refresh process will only be runnable by Google engineers.
 * Manual additions are allowed because the refresh process performs
 * a 3-way merge in order to preserve those manual additions. In order to not
 * break the refresh process, only certain types of modifications are
 * allowed.
 *
 * Allowed modifications - currently these are the only types allowed:
 * 1. New methods (these should be added to the end of the class)
 * 2. New imports
 * 3. Additional documentation between "manual edit" demarcations
 *
 * Happy editing!
 */

package com.google.cloud.logging.spi.v2;

import com.google.api.MonitoredResourceDescriptor;
import com.google.api.gax.core.ConnectionSettings;
import com.google.api.gax.core.RetrySettings;
import com.google.api.gax.grpc.ApiCallSettings;
import com.google.api.gax.grpc.PageStreamingCallSettings;
import com.google.api.gax.grpc.PageStreamingDescriptor;
import com.google.api.gax.grpc.ServiceApiSettings;
import com.google.api.gax.grpc.SimpleCallSettings;
import com.google.auth.Credentials;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.google.logging.v2.DeleteLogRequest;
import com.google.logging.v2.ListLogEntriesRequest;
import com.google.logging.v2.ListLogEntriesResponse;
import com.google.logging.v2.ListMonitoredResourceDescriptorsRequest;
import com.google.logging.v2.ListMonitoredResourceDescriptorsResponse;
import com.google.logging.v2.LogEntry;
import com.google.logging.v2.LoggingServiceV2Grpc;
import com.google.logging.v2.WriteLogEntriesRequest;
import com.google.logging.v2.WriteLogEntriesResponse;
import com.google.protobuf.Empty;
import io.grpc.ManagedChannel;
import io.grpc.Status;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.ScheduledExecutorService;
import org.joda.time.Duration;

// Manually-added imports: add custom (non-generated) imports after this point.

// AUTO-GENERATED DOCUMENTATION AND CLASS - see instructions at the top of the file for editing.
/**
 * Settings class to configure an instance of {@link LoggingServiceV2Api}.
 *
 * 

The default instance has everything set to sensible defaults: * *

    *
  • The default service address (logging.googleapis.com) and default port (443) * are used. *
  • Credentials are acquired automatically through Application Default Credentials. *
  • Retries are configured for idempotent methods but not for non-idempotent methods. *
* *

The builder of this class is recursive, so contained classes are themselves builders. * When build() is called, the tree of builders is called to create the complete settings * object. For example, to set the total timeout of DeleteLog to 30 seconds: * *

 * 
 * LoggingServiceV2Settings.Builder loggingServiceV2SettingsBuilder =
 *     LoggingServiceV2Settings.defaultBuilder();
 * loggingServiceV2SettingsBuilder.DeleteLogSettings().getRetrySettingsBuilder()
 *     .setTotalTimeout(Duration.standardSeconds(30));
 * LoggingServiceV2Settings loggingServiceV2Settings = loggingServiceV2SettingsBuilder.build();
 * 
 * 
*/ @javax.annotation.Generated("by GAPIC") public class LoggingServiceV2Settings extends ServiceApiSettings { /** * The default address of the service. * * * */ public static final String DEFAULT_SERVICE_ADDRESS = "logging.googleapis.com"; /** * The default port of the service. * * * */ public static final int DEFAULT_SERVICE_PORT = 443; /** * The default scopes of the service. */ public static final ImmutableList DEFAULT_SERVICE_SCOPES = ImmutableList.builder() .add("https://www.googleapis.com/auth/logging.write") .add("https://www.googleapis.com/auth/logging.admin") .add("https://www.googleapis.com/auth/logging.read") .add("https://www.googleapis.com/auth/cloud-platform.read-only") .add("https://www.googleapis.com/auth/cloud-platform") .build(); /** * The default connection settings of the service. */ public static final ConnectionSettings DEFAULT_CONNECTION_SETTINGS = ConnectionSettings.newBuilder() .setServiceAddress(DEFAULT_SERVICE_ADDRESS) .setPort(DEFAULT_SERVICE_PORT) .provideCredentialsWith(DEFAULT_SERVICE_SCOPES) .build(); private final SimpleCallSettings deleteLogSettings; private final SimpleCallSettings writeLogEntriesSettings; private final PageStreamingCallSettings listLogEntriesSettings; private final PageStreamingCallSettings< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse, MonitoredResourceDescriptor> listMonitoredResourceDescriptorsSettings; /** * Returns the object with the settings used for calls to deleteLog. */ public SimpleCallSettings deleteLogSettings() { return deleteLogSettings; } /** * Returns the object with the settings used for calls to writeLogEntries. */ public SimpleCallSettings writeLogEntriesSettings() { return writeLogEntriesSettings; } /** * Returns the object with the settings used for calls to listLogEntries. */ public PageStreamingCallSettings listLogEntriesSettings() { return listLogEntriesSettings; } /** * Returns the object with the settings used for calls to listMonitoredResourceDescriptors. */ public PageStreamingCallSettings< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse, MonitoredResourceDescriptor> listMonitoredResourceDescriptorsSettings() { return listMonitoredResourceDescriptorsSettings; } /** * Returns a builder for this class with recommended defaults. */ public static Builder defaultBuilder() { return Builder.createDefault(); } /** * Returns a new builder for this class. */ public static Builder newBuilder() { return new Builder(); } /** * Returns a builder containing all the values of this settings class. */ public Builder toBuilder() { return new Builder(this); } private LoggingServiceV2Settings(Builder settingsBuilder) throws IOException { super( settingsBuilder.getChannelProvider(), settingsBuilder.getExecutorProvider(), settingsBuilder.getGeneratorName(), settingsBuilder.getGeneratorVersion(), settingsBuilder.getClientLibName(), settingsBuilder.getClientLibVersion()); deleteLogSettings = settingsBuilder.deleteLogSettings().build(); writeLogEntriesSettings = settingsBuilder.writeLogEntriesSettings().build(); listLogEntriesSettings = settingsBuilder.listLogEntriesSettings().build(); listMonitoredResourceDescriptorsSettings = settingsBuilder.listMonitoredResourceDescriptorsSettings().build(); } private static PageStreamingDescriptor LIST_LOG_ENTRIES_PAGE_STR_DESC = new PageStreamingDescriptor() { @Override public Object emptyToken() { return ""; } @Override public ListLogEntriesRequest injectToken(ListLogEntriesRequest payload, Object token) { return ListLogEntriesRequest.newBuilder(payload).setPageToken((String) token).build(); } @Override public Object extractNextToken(ListLogEntriesResponse payload) { return payload.getNextPageToken(); } @Override public Iterable extractResources(ListLogEntriesResponse payload) { return payload.getEntriesList(); } }; private static PageStreamingDescriptor< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse, MonitoredResourceDescriptor> LIST_MONITORED_RESOURCE_DESCRIPTORS_PAGE_STR_DESC = new PageStreamingDescriptor< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse, MonitoredResourceDescriptor>() { @Override public Object emptyToken() { return ""; } @Override public ListMonitoredResourceDescriptorsRequest injectToken( ListMonitoredResourceDescriptorsRequest payload, Object token) { return ListMonitoredResourceDescriptorsRequest.newBuilder(payload) .setPageToken((String) token) .build(); } @Override public Object extractNextToken(ListMonitoredResourceDescriptorsResponse payload) { return payload.getNextPageToken(); } @Override public Iterable extractResources( ListMonitoredResourceDescriptorsResponse payload) { return payload.getResourceDescriptorsList(); } }; /** * Builder for LoggingServiceV2Settings. */ public static class Builder extends ServiceApiSettings.Builder { private final ImmutableList methodSettingsBuilders; private SimpleCallSettings.Builder deleteLogSettings; private SimpleCallSettings.Builder writeLogEntriesSettings; private PageStreamingCallSettings.Builder< ListLogEntriesRequest, ListLogEntriesResponse, LogEntry> listLogEntriesSettings; private PageStreamingCallSettings.Builder< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse, MonitoredResourceDescriptor> listMonitoredResourceDescriptorsSettings; private static final ImmutableMap> RETRYABLE_CODE_DEFINITIONS; static { ImmutableMap.Builder> definitions = ImmutableMap.builder(); definitions.put( "idempotent", Sets.immutableEnumSet( Lists.newArrayList( Status.Code.DEADLINE_EXCEEDED, Status.Code.UNAVAILABLE))); definitions.put("non_idempotent", Sets.immutableEnumSet(Lists.newArrayList())); RETRYABLE_CODE_DEFINITIONS = definitions.build(); } private static final ImmutableMap RETRY_PARAM_DEFINITIONS; static { ImmutableMap.Builder definitions = ImmutableMap.builder(); RetrySettings.Builder settingsBuilder = null; settingsBuilder = RetrySettings.newBuilder() .setInitialRetryDelay(Duration.millis(100L)) .setRetryDelayMultiplier(1.2) .setMaxRetryDelay(Duration.millis(1000L)) .setInitialRpcTimeout(Duration.millis(2000L)) .setRpcTimeoutMultiplier(1.5) .setMaxRpcTimeout(Duration.millis(30000L)) .setTotalTimeout(Duration.millis(45000L)); definitions.put("default", settingsBuilder); settingsBuilder = RetrySettings.newBuilder() .setInitialRetryDelay(Duration.millis(100L)) .setRetryDelayMultiplier(1.2) .setMaxRetryDelay(Duration.millis(1000L)) .setInitialRpcTimeout(Duration.millis(7000L)) .setRpcTimeoutMultiplier(1.5) .setMaxRpcTimeout(Duration.millis(30000L)) .setTotalTimeout(Duration.millis(45000L)); definitions.put("list", settingsBuilder); RETRY_PARAM_DEFINITIONS = definitions.build(); } private Builder() { super(DEFAULT_CONNECTION_SETTINGS); deleteLogSettings = SimpleCallSettings.newBuilder(LoggingServiceV2Grpc.METHOD_DELETE_LOG); writeLogEntriesSettings = SimpleCallSettings.newBuilder(LoggingServiceV2Grpc.METHOD_WRITE_LOG_ENTRIES); listLogEntriesSettings = PageStreamingCallSettings.newBuilder( LoggingServiceV2Grpc.METHOD_LIST_LOG_ENTRIES, LIST_LOG_ENTRIES_PAGE_STR_DESC); listMonitoredResourceDescriptorsSettings = PageStreamingCallSettings.newBuilder( LoggingServiceV2Grpc.METHOD_LIST_MONITORED_RESOURCE_DESCRIPTORS, LIST_MONITORED_RESOURCE_DESCRIPTORS_PAGE_STR_DESC); methodSettingsBuilders = ImmutableList.of( deleteLogSettings, writeLogEntriesSettings, listLogEntriesSettings, listMonitoredResourceDescriptorsSettings); } private static Builder createDefault() { Builder builder = new Builder(); builder .deleteLogSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); builder .writeLogEntriesSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); builder .listLogEntriesSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("list")); builder .listMonitoredResourceDescriptorsSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); return builder; } private Builder(LoggingServiceV2Settings settings) { super(settings); deleteLogSettings = settings.deleteLogSettings.toBuilder(); writeLogEntriesSettings = settings.writeLogEntriesSettings.toBuilder(); listLogEntriesSettings = settings.listLogEntriesSettings.toBuilder(); listMonitoredResourceDescriptorsSettings = settings.listMonitoredResourceDescriptorsSettings.toBuilder(); methodSettingsBuilders = ImmutableList.of( deleteLogSettings, writeLogEntriesSettings, listLogEntriesSettings, listMonitoredResourceDescriptorsSettings); } @Override protected ConnectionSettings getDefaultConnectionSettings() { return DEFAULT_CONNECTION_SETTINGS; } @Override public Builder provideExecutorWith(ScheduledExecutorService executor, boolean shouldAutoClose) { super.provideExecutorWith(executor, shouldAutoClose); return this; } @Override public Builder provideChannelWith(ManagedChannel channel, boolean shouldAutoClose) { super.provideChannelWith(channel, shouldAutoClose); return this; } @Override public Builder provideChannelWith(ConnectionSettings settings) { super.provideChannelWith(settings); return this; } @Override public Builder provideChannelWith(Credentials credentials) { super.provideChannelWith(credentials); return this; } @Override public Builder provideChannelWith(List scopes) { super.provideChannelWith(scopes); return this; } @Override public Builder setGeneratorHeader(String name, String version) { super.setGeneratorHeader(name, version); return this; } @Override public Builder setClientLibHeader(String name, String version) { super.setClientLibHeader(name, version); return this; } /** * Applies the given settings to all of the API methods in this service. Only * values that are non-null will be applied, so this method is not capable * of un-setting any values. */ public Builder applyToAllApiMethods(ApiCallSettings.Builder apiCallSettings) throws Exception { super.applyToAllApiMethods(methodSettingsBuilders, apiCallSettings); return this; } /** * Returns the builder for the settings used for calls to deleteLog. */ public SimpleCallSettings.Builder deleteLogSettings() { return deleteLogSettings; } /** * Returns the builder for the settings used for calls to writeLogEntries. */ public SimpleCallSettings.Builder writeLogEntriesSettings() { return writeLogEntriesSettings; } /** * Returns the builder for the settings used for calls to listLogEntries. */ public PageStreamingCallSettings.Builder< ListLogEntriesRequest, ListLogEntriesResponse, LogEntry> listLogEntriesSettings() { return listLogEntriesSettings; } /** * Returns the builder for the settings used for calls to listMonitoredResourceDescriptors. */ public PageStreamingCallSettings.Builder< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse, MonitoredResourceDescriptor> listMonitoredResourceDescriptorsSettings() { return listMonitoredResourceDescriptorsSettings; } @Override public LoggingServiceV2Settings build() throws IOException { return new LoggingServiceV2Settings(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy