@Override public CloudResourceManager getCloudResourceManagerClient( @Nullable HttpRequestInitializer httpRequestInitializer) { return new CloudResourceManager.Builder(httpTransport, jsonFactory, httpRequestInitializer) .setApplicationName(getApplicationName()) .build(); }
httpRequestInitializer, false); setBatchPath(DEFAULT_BATCH_PATH);
final CloudResourceManager crm = new CloudResourceManager.Builder( httpTransport, jsonFactory, credential.createScoped(IamScopes.all())) .setApplicationName(serviceName) .build();
/** * Constructor. * * <p> * Use {@link Builder} if you need to specify any of the optional parameters. * </p> * * @param transport HTTP transport, which should normally be: * <ul> * <li>Google App Engine: * {@code com.google.api.client.extensions.appengine.http.UrlFetchTransport}</li> * <li>Android: {@code newCompatibleTransport} from * {@code com.google.api.client.extensions.android.http.AndroidHttp}</li> * <li>Java: {@link com.google.api.client.googleapis.javanet.GoogleNetHttpTransport#newTrustedTransport()} * </li> * </ul> * @param jsonFactory JSON factory, which may be: * <ul> * <li>Jackson: {@code com.google.api.client.json.jackson2.JacksonFactory}</li> * <li>Google GSON: {@code com.google.api.client.json.gson.GsonFactory}</li> * <li>Android Honeycomb or higher: * {@code com.google.api.client.extensions.android.json.AndroidJsonFactory}</li> * </ul> * @param httpRequestInitializer HTTP request initializer or {@code null} for none * @since 1.7 */ public CloudResourceManager(com.google.api.client.http.HttpTransport transport, com.google.api.client.json.JsonFactory jsonFactory, com.google.api.client.http.HttpRequestInitializer httpRequestInitializer) { this(new Builder(transport, jsonFactory, httpRequestInitializer)); }
@Override @Nullable public String create(PipelineOptions options) { String tempLocation = options.getTempLocation(); if (isNullOrEmpty(tempLocation)) { tempLocation = tryCreateDefaultBucket( options, newCloudResourceManagerClient(options.as(CloudResourceManagerOptions.class)) .build()); options.setTempLocation(tempLocation); } else { try { PathValidator validator = options.as(GcsOptions.class).getPathValidator(); validator.validateOutputFilePrefixSupported(tempLocation); } catch (Exception e) { throw new IllegalArgumentException( String.format( "Error constructing default value for gcpTempLocation: tempLocation is not" + " a valid GCS path, %s. ", tempLocation), e); } } return tempLocation; }
/** * Returns a CloudResourceManager client builder using the specified {@link * CloudResourceManagerOptions}. */ @VisibleForTesting static CloudResourceManager.Builder newCloudResourceManagerClient( CloudResourceManagerOptions options) { Credentials credentials = options.getGcpCredential(); if (credentials == null) { NullCredentialInitializer.throwNullCredentialException(); } return new CloudResourceManager.Builder( Transport.getTransport(), Transport.getJsonFactory(), chainHttpRequestInitializer( credentials, // Do not log 404. It clutters the output and is possibly even required by the caller. new RetryHttpRequestInitializer(ImmutableList.of(404)))) .setApplicationName(options.getAppName()) .setGoogleClientRequestInitializer(options.getGoogleApiTrace()); }
@Test public void testMatchingAgainstClient() throws Exception { GcsOptions options = PipelineOptionsFactory.as(GcsOptions.class); options.setGcpCredential(new TestCredential()); options.setGoogleApiTrace( new GoogleApiTracer() .addTraceFor(Transport.newStorageClient(options).build(), "TraceDestination")); Storage.Objects.Get getRequest = Transport.newStorageClient(options).build().objects().get("testBucketId", "testObjectId"); assertEquals("TraceDestination", getRequest.get("$trace")); Delete deleteRequest = GcpOptions.GcpTempLocationFactory.newCloudResourceManagerClient( options.as(CloudResourceManagerOptions.class)) .build() .projects() .delete("testProjectId"); assertNull(deleteRequest.get("$trace")); }
@VisibleForTesting CloudResourceManager buildCloudResourceManager(HttpTransport httpTransport, JsonFactory jsonFactory, GoogleCredential credential, String service) { return new CloudResourceManager.Builder(httpTransport, jsonFactory, credential) .setApplicationName(service) .build(); }
public HttpResourceManagerRpc(ResourceManagerOptions options) { HttpTransportOptions transportOptions = (HttpTransportOptions) options.getTransportOptions(); HttpTransport transport = transportOptions.getHttpTransportFactory().create(); HttpRequestInitializer initializer = transportOptions.getHttpRequestInitializer(options); resourceManager = new CloudResourceManager.Builder(transport, new JacksonFactory(), initializer) .setRootUrl(options.getHost()) .setApplicationName(options.getApplicationName()) .build(); clock = options.getClock(); }