use of com.google.cloud.compute.v1.Operation in project java-docs-samples by GoogleCloudPlatform.
the class CreateFirewallRuleForWindowsActivationHost method createFirewallRuleForWindowsActivationHost.
// Creates a new allow egress firewall rule with the highest priority for host
// kms.windows.googlecloud.com (35.190.247.13) for Windows activation.
public static void createFirewallRuleForWindowsActivationHost(String projectId, String firewallRuleName, String networkName) throws IOException, ExecutionException, InterruptedException, TimeoutException {
// Instantiates a client.
try (FirewallsClient firewallsClient = FirewallsClient.create()) {
Firewall firewall = Firewall.newBuilder().setName(firewallRuleName).addAllowed(Allowed.newBuilder().setIPProtocol("tcp").addPorts("1688").build()).setDirection("EGRESS").setNetwork(networkName).addDestinationRanges("35.190.247.13/32").setPriority(0).build();
InsertFirewallRequest request = InsertFirewallRequest.newBuilder().setProject(projectId).setFirewallResource(firewall).build();
// Wait for the operation to complete.
Operation operation = firewallsClient.insertAsync(request).get(3, TimeUnit.MINUTES);
if (operation.hasError()) {
System.out.println("Firewall rule creation failed ! ! " + operation.getError());
return;
}
System.out.printf("Firewall rule created %s", firewallRuleName);
}
}
use of com.google.cloud.compute.v1.Operation in project java-docs-samples by GoogleCloudPlatform.
the class CreateRouteToWindowsActivationHost method createRouteToWindowsActivationHost.
// Creates a new route to kms.windows.googlecloud.com (35.190.247.13) for Windows activation.
public static void createRouteToWindowsActivationHost(String projectId, String routeName, String networkName) throws IOException, ExecutionException, InterruptedException, TimeoutException {
// Instantiates a client.
try (RoutesClient routesClient = RoutesClient.create()) {
// If you have Windows instances without external IP addresses,
// you must also enable Private Google Access so that instances
// with only internal IP addresses can send traffic to the external
// IP address for kms.windows.googlecloud.com.
// More information: https://cloud.google.com/vpc/docs/configure-private-google-access#enabling
Route route = Route.newBuilder().setName(routeName).setDestRange("35.190.247.13/32").setNetwork(networkName).setNextHopGateway(String.format("projects/%s/global/gateways/default-internet-gateway", projectId)).build();
InsertRouteRequest request = InsertRouteRequest.newBuilder().setProject(projectId).setRouteResource(route).build();
// Wait for the operation to complete.
Operation operation = routesClient.insertAsync(request).get(3, TimeUnit.MINUTES);
if (operation.hasError()) {
System.out.printf("Error in creating route %s", operation.getError());
return;
}
System.out.printf("Route created %s", routeName);
}
}
use of com.google.cloud.compute.v1.Operation in project java-docs-samples by GoogleCloudPlatform.
the class CreateWindowsServerInstanceExternalIp method createWindowsServerInstanceExternalIp.
// Creates a new Windows Server instance that has an external IP address.
public static void createWindowsServerInstanceExternalIp(String projectId, String zone, String instanceName) throws IOException, ExecutionException, InterruptedException, TimeoutException {
// machineType - Machine type you want to create in following format:
// * "zones/{zone}/machineTypes/{type_name}". For example:
// * "zones/europe-west3-c/machineTypes/f1-micro"
// * You can find the list of available machine types using:
// * https://cloud.google.com/sdk/gcloud/reference/compute/machine-types/list
String machineType = "n1-standard-1";
// sourceImageFamily - Name of the public image family for Windows Server or SQL Server images.
// * https://cloud.google.com/compute/docs/images#os-compute-support
String sourceImageFamily = "windows-2012-r2";
// Instantiates a client.
try (InstancesClient instancesClient = InstancesClient.create()) {
AttachedDisk attachedDisk = AttachedDisk.newBuilder().setInitializeParams(AttachedDiskInitializeParams.newBuilder().setDiskSizeGb(64).setSourceImage(String.format("projects/windows-cloud/global/images/family/%s", sourceImageFamily)).build()).setAutoDelete(true).setBoot(true).setType(AttachedDisk.Type.PERSISTENT.toString()).build();
Instance instance = Instance.newBuilder().setName(instanceName).setMachineType(String.format("zones/%s/machineTypes/%s", zone, machineType)).addDisks(attachedDisk).addNetworkInterfaces(NetworkInterface.newBuilder().addAccessConfigs(AccessConfig.newBuilder().setType("ONE_TO_ONE_NAT").setName("External NAT").build()).setName("global/networks/default").build()).build();
InsertInstanceRequest request = InsertInstanceRequest.newBuilder().setProject(projectId).setZone(zone).setInstanceResource(instance).build();
// Wait for the operation to complete.
Operation operation = instancesClient.insertAsync(request).get(3, TimeUnit.MINUTES);
if (operation.hasError()) {
System.out.printf("Error in creating instance %s", operation.getError());
return;
}
System.out.printf("Instance created %s", instanceName);
}
}
use of com.google.cloud.compute.v1.Operation in project java-docs-samples by GoogleCloudPlatform.
the class InstancesAdvancedIT method deleteDisk.
private static void deleteDisk(Disk disk) throws IOException, InterruptedException, ExecutionException, TimeoutException {
try (DisksClient disksClient = DisksClient.create()) {
OperationFuture<Operation, Operation> operation = disksClient.deleteAsync(PROJECT_ID, ZONE, disk.getName());
operation.get(3, TimeUnit.MINUTES);
}
}
use of com.google.cloud.compute.v1.Operation in project java-docs-samples by GoogleCloudPlatform.
the class WaitForOperation method main.
public static void main(String[] args) throws IOException, InterruptedException {
// TODO(developer): Replace these variables before running the sample.
// operation: Specify the operation to wait.
String project = "your-project-id";
Operation operation = Operation.newBuilder().build();
waitForOperation(project, operation);
}
Aggregations