use of com.google.api.client.http.HttpTransport in project cloudbreak by hortonworks.
the class GcpCreateVirtualNetworkTest method createNetwork.
@Test
@Parameters({ "networkName", "description", "publicInAccount", "resourceGroupName", "vpcName", "vpcSubnet", "subnetCIDR", "networkType" })
public void createNetwork(String networkName, @Optional("") String description, @Optional("false") boolean publicInAccount, @Optional("europe-west1") String subnetRegion, @Optional("it-vpc") String vpcName, @Optional("it-vpc-subnet") String vpcSubnet, @Optional("10.0.36.0/24") String subnetCIDR, NetworkType networkType) throws Exception {
String serviceAccountPrivateKey = ResourceUtil.readBase64EncodedContentFromResource(applicationContext, defaultP12File);
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
PrivateKey privateKey = SecurityUtils.loadPrivateKeyFromKeyStore(SecurityUtils.getPkcs12KeyStore(), new ByteArrayInputStream(Base64.decodeBase64(serviceAccountPrivateKey)), "notasecret", "privatekey", "notasecret");
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
GoogleCredential googleCredential = new GoogleCredential.Builder().setTransport(httpTransport).setJsonFactory(jsonFactory).setServiceAccountId(defaultServiceAccountId).setServiceAccountScopes(Collections.singletonList(ComputeScopes.COMPUTE)).setServiceAccountPrivateKey(privateKey).build();
Compute compute = new Builder(httpTransport, jsonFactory, null).setApplicationName(defaultName).setHttpRequestInitializer(googleCredential).build();
Network gcpNetwork = new Network();
gcpNetwork.setName(vpcName);
if (!LAGACY_NETWORK.equals(networkType)) {
gcpNetwork.setAutoCreateSubnetworks(false);
}
Networks.Insert networkInsert = compute.networks().insert(defaultProjectId, gcpNetwork);
Operation networkInsertResponse = networkInsert.execute();
if (networkInsertResponse.getHttpErrorStatusCode() != null) {
throw new IllegalStateException("gcp network operation failed: " + networkInsertResponse.getHttpErrorMessage());
}
waitOperation(compute, networkInsertResponse);
if (EXISTING_SUBNET_IN_EXISTING_NETWORK.equals(networkType)) {
Subnetwork gcpSubnet = new Subnetwork();
gcpSubnet.setName(vpcSubnet);
gcpSubnet.setIpCidrRange(subnetCIDR);
gcpSubnet.setNetwork(String.format("https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s", defaultProjectId, vpcName));
Insert subNetworkInsert = compute.subnetworks().insert(defaultProjectId, subnetRegion, gcpSubnet);
Operation subNetInsertResponse = subNetworkInsert.execute();
if (subNetInsertResponse.getHttpErrorStatusCode() != null) {
throw new IllegalStateException("gcp subnetwork operation failed: " + subNetInsertResponse.getHttpErrorMessage());
}
}
NetworkRequest networkRequest = new NetworkRequest();
networkRequest.setName(networkName);
networkRequest.setDescription(description);
if (NEW_SUBNET_IN_EXISTING_NETWORK.equals(networkType)) {
networkRequest.setSubnetCIDR(subnetCIDR);
}
Map<String, Object> map = new HashMap<>();
map.put("networkId", vpcName);
if (EXISTING_SUBNET_IN_EXISTING_NETWORK.equals(networkType)) {
map.put("subnetId", vpcSubnet);
}
networkRequest.setParameters(map);
networkRequest.setCloudPlatform("GCP");
String id = getCloudbreakClient().networkEndpoint().postPrivate(networkRequest).getId().toString();
getItContext().putContextParam(CloudbreakITContextConstants.NETWORK_ID, id, true);
}
use of com.google.api.client.http.HttpTransport in project beam by apache.
the class GcsUtilTest method googleJsonResponseException.
/**
* Builds a fake GoogleJsonResponseException for testing API error handling.
*/
private static GoogleJsonResponseException googleJsonResponseException(final int status, final String reason, final String message) throws IOException {
final JsonFactory jsonFactory = new JacksonFactory();
HttpTransport transport = new MockHttpTransport() {
@Override
public LowLevelHttpRequest buildRequest(String method, String url) throws IOException {
ErrorInfo errorInfo = new ErrorInfo();
errorInfo.setReason(reason);
errorInfo.setMessage(message);
errorInfo.setFactory(jsonFactory);
GenericJson error = new GenericJson();
error.set("code", status);
error.set("errors", Arrays.asList(errorInfo));
error.setFactory(jsonFactory);
GenericJson errorResponse = new GenericJson();
errorResponse.set("error", error);
errorResponse.setFactory(jsonFactory);
return new MockLowLevelHttpRequest().setResponse(new MockLowLevelHttpResponse().setContent(errorResponse.toPrettyString()).setContentType(Json.MEDIA_TYPE).setStatusCode(status));
}
};
HttpRequest request = transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL);
request.setThrowExceptionOnExecuteError(false);
HttpResponse response = request.execute();
return GoogleJsonResponseException.from(jsonFactory, response);
}
use of com.google.api.client.http.HttpTransport in project beam by apache.
the class LatencyRecordingHttpRequestInitializerTest method setUp.
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
HttpTransport lowLevelTransport = new HttpTransport() {
@Override
protected LowLevelHttpRequest buildRequest(String method, String url) throws IOException {
return mockLowLevelRequest;
}
};
LatencyRecordingHttpRequestInitializer initializer = new LatencyRecordingHttpRequestInitializer(mockHistogram);
storage = new Storage.Builder(lowLevelTransport, jsonFactory, initializer).setApplicationName("test").build();
}
use of com.google.api.client.http.HttpTransport in project beam by apache.
the class BigqueryClient method getNewBigqueryClient.
public static Bigquery getNewBigqueryClient(String applicationName) {
HttpTransport transport = Transport.getTransport();
JsonFactory jsonFactory = Transport.getJsonFactory();
Credentials credential = getDefaultCredential();
return new Bigquery.Builder(transport, jsonFactory, new HttpCredentialsAdapter(credential)).setApplicationName(applicationName).build();
}
use of com.google.api.client.http.HttpTransport in project zeppelin by apache.
the class BigQueryInterpreter method createAuthorizedClient.
// Function that Creates an authorized client to Google Bigquery.
private static Bigquery createAuthorizedClient() throws IOException {
HttpTransport transport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = GoogleCredential.getApplicationDefault(transport, jsonFactory);
if (credential.createScopedRequired()) {
Collection<String> bigqueryScopes = BigqueryScopes.all();
credential = credential.createScoped(bigqueryScopes);
}
return new Bigquery.Builder(transport, jsonFactory, credential).setApplicationName("Zeppelin/1.0 (GPN:Apache Zeppelin;)").build();
}
Aggregations