use of org.geosdi.geoplatform.xml.ows.v100.Operation in project java-docs-samples by GoogleCloudPlatform.
the class CreateInstanceFromTemplateWithOverrides method createInstanceFromTemplateWithOverrides.
// Creates a Compute Engine VM instance from an instance template,
// but overrides the disk and machine type options in the template.
public static void createInstanceFromTemplateWithOverrides(String projectId, String zone, String instanceName, String instanceTemplateName) throws IOException, ExecutionException, InterruptedException {
try (InstancesClient instancesClient = InstancesClient.create();
InstanceTemplatesClient instanceTemplatesClient = InstanceTemplatesClient.create()) {
String machineType = "n1-standard-1";
String newDiskSourceImage = "projects/debian-cloud/global/images/family/debian-10";
// Retrieve an instance template.
InstanceTemplate instanceTemplate = instanceTemplatesClient.get(projectId, instanceTemplateName);
AttachedDisk newdisk = AttachedDisk.newBuilder().setInitializeParams(AttachedDiskInitializeParams.newBuilder().setDiskSizeGb(10).setSourceImage(newDiskSourceImage).build()).setAutoDelete(true).setBoot(false).setType(AttachedDisk.Type.PERSISTENT.toString()).build();
Instance instance = Instance.newBuilder().setName(instanceName).setMachineType(String.format("zones/%s/machineTypes/%s", zone, machineType)).addAllDisks(instanceTemplate.getProperties().getDisksList()).addDisks(newdisk).build();
InsertInstanceRequest insertInstanceRequest = InsertInstanceRequest.newBuilder().setProject(projectId).setZone(zone).setInstanceResource(instance).setSourceInstanceTemplate(instanceTemplate.getSelfLink()).build();
Operation response = instancesClient.insertAsync(insertInstanceRequest).get();
if (response.hasError()) {
System.out.println("Instance creation from template with overrides failed ! ! " + response);
return;
}
System.out.printf("Instance creation from template with overrides: Operation Status %s: %s ", instanceName, response.getStatus());
}
}
use of org.geosdi.geoplatform.xml.ows.v100.Operation in project java-docs-samples by GoogleCloudPlatform.
the class DeleteInstance method deleteInstance.
// Delete the instance specified by `instanceName`
// if it's present in the given project and zone.
public static void deleteInstance(String project, String zone, String instanceName) throws IOException, InterruptedException, ExecutionException {
// clean up any remaining background resources.
try (InstancesClient instancesClient = InstancesClient.create()) {
System.out.printf("Deleting instance: %s ", instanceName);
// Describe which instance is to be deleted.
DeleteInstanceRequest deleteInstanceRequest = DeleteInstanceRequest.newBuilder().setProject(project).setZone(zone).setInstance(instanceName).build();
OperationFuture<Operation, Operation> operation = instancesClient.deleteAsync(deleteInstanceRequest);
// Wait for the operation to complete.
Operation response = operation.get();
if (response.hasError()) {
System.out.println("Instance deletion failed ! ! " + response);
return;
}
System.out.println("Operation Status: " + response.getStatus());
}
}
use of org.geosdi.geoplatform.xml.ows.v100.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);
}
use of org.geosdi.geoplatform.xml.ows.v100.Operation in project java-docs-samples by GoogleCloudPlatform.
the class CreateInstanceWithCustomHostname method createInstanceWithCustomHostname.
// Creates an instance with custom hostname.
public static void createInstanceWithCustomHostname(String projectId, String zone, String instanceName, String hostName) throws IOException, ExecutionException, InterruptedException {
// machineType - Machine type for the VM instance specified in the 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 by using this gcloud command:
// * $ gcloud compute machine-types list
// sourceImage - Path of the disk image you want to use for your boot
// * disk. This image can be one of the public images
// * eg: "projects/...
// * or a private image you have access to.
// * You can check the list of available public images using:
// * $ gcloud compute images list
// networkName - Name of the network you want the new instance to use.
// * For example: global/networks/default - if you want to use the default network.
String machineType = "n1-standard-1";
String sourceImage = String.format("projects/%s/global/images/family/%s", "debian-cloud", "debian-11");
String networkName = "global/networks/default";
try (InstancesClient instancesClient = InstancesClient.create()) {
System.out.printf("Creating the %s instance in %s with hostname %s...", instanceName, zone, hostName);
AttachedDisk disk = AttachedDisk.newBuilder().setBoot(true).setAutoDelete(true).setType(AttachedDisk.Type.PERSISTENT.toString()).setInitializeParams(// Describe the size and source image of the boot disk to attach to the instance.
AttachedDiskInitializeParams.newBuilder().setSourceImage(sourceImage).setDiskSizeGb(10).build()).build();
// Use the network interface provided in the networkName argument.
NetworkInterface networkInterface = NetworkInterface.newBuilder().setName(networkName).build();
Instance instanceResource = Instance.newBuilder().setName(instanceName).setHostname(hostName).addDisks(disk).setMachineType(String.format("zones/%s/machineTypes/%s", zone, machineType)).addNetworkInterfaces(networkInterface).build();
InsertInstanceRequest request = InsertInstanceRequest.newBuilder().setProject(projectId).setZone(zone).setInstanceResource(instanceResource).build();
// Wait for the create operation to complete.
Operation response = instancesClient.insertAsync(request).get();
if (response.hasError()) {
System.out.printf("Instance creation failed for instance: %s ; Response: %s ! ! ", instanceName, response);
return;
}
System.out.printf("Instance created : %s", instanceName);
System.out.printf("Operation Status for instance %s is %s: ", instanceName, response.getStatus());
}
}
use of org.geosdi.geoplatform.xml.ows.v100.Operation in project java-docs-samples by GoogleCloudPlatform.
the class CreateInstanceDeleteProtection method createInstanceDeleteProtection.
// Send an instance creation request to the Compute Engine API and wait for it to complete.
public static void createInstanceDeleteProtection(String projectId, String zone, String instanceName, boolean deleteProtection) throws IOException, ExecutionException, InterruptedException {
String machineType = String.format("zones/%s/machineTypes/e2-small", zone);
String sourceImage = String.format("projects/debian-cloud/global/images/family/%s", "debian-11");
long diskSizeGb = 10L;
String networkName = "default";
// Instance creation requires at least one persistent disk and one network interface.
try (InstancesClient instancesClient = InstancesClient.create()) {
AttachedDisk disk = AttachedDisk.newBuilder().setBoot(true).setAutoDelete(true).setType(AttachedDisk.Type.PERSISTENT.toString()).setInitializeParams(// Describe the size and source image of the boot disk to attach to the instance.
AttachedDiskInitializeParams.newBuilder().setSourceImage(sourceImage).setDiskSizeGb(diskSizeGb).build()).build();
// Use the default VPC network.
NetworkInterface networkInterface = NetworkInterface.newBuilder().setName(networkName).build();
// Collect information into the Instance object.
Instance instanceResource = Instance.newBuilder().setName(instanceName).setMachineType(machineType).addDisks(disk).addNetworkInterfaces(networkInterface).setDeletionProtection(deleteProtection).build();
System.out.printf("Creating instance: %s at %s %n", instanceName, zone);
// Prepare the request to insert an instance.
InsertInstanceRequest insertInstanceRequest = InsertInstanceRequest.newBuilder().setProject(projectId).setZone(zone).setInstanceResource(instanceResource).build();
// Wait for the create operation to complete.
Operation response = instancesClient.insertAsync(insertInstanceRequest).get();
if (response.hasError()) {
System.out.println("Instance creation failed ! ! " + response);
return;
}
System.out.printf("Instance created : %s", instanceName);
System.out.println("Operation Status: " + response.getStatus());
}
}
Aggregations