Search in sources :

Example 1 with InstanceGroupManagersClient

use of com.google.cloud.compute.v1.InstanceGroupManagersClient in project java-compute by googleapis.

the class ITSmokeInstancesTest method testResizeGroupToZero.

@Test
public void testResizeGroupToZero() throws IOException, ExecutionException, InterruptedException {
    // We test here: 1)set body field to zero
    // 2)set query param to zero
    List<String> instanceGroupManagersToClean = new ArrayList<>();
    List<String> instanceTemplatesToClean = new ArrayList<>();
    InstanceTemplatesClient instanceTemplatesClient = InstanceTemplatesClient.create();
    InstanceGroupManagersClient instanceGroupManagersClient = InstanceGroupManagersClient.create();
    String templateName = generateRandomName("template");
    String instanceGroupManagerName = generateRandomName("igm");
    Instance instance = insertInstance();
    InstanceTemplate instanceTemplate = InstanceTemplate.newBuilder().setSourceInstance(instance.getSelfLink()).setName(templateName).build();
    Operation insertOperation = instanceTemplatesClient.insertAsync(DEFAULT_PROJECT, instanceTemplate).get();
    instanceTemplatesToClean.add(templateName);
    try {
        InstanceGroupManager instanceGroupManager = InstanceGroupManager.newBuilder().setName(instanceGroupManagerName).setBaseInstanceName("java-gapic").setInstanceTemplate(insertOperation.getTargetLink()).setTargetSize(0).build();
        instanceGroupManagersClient.insertAsync(DEFAULT_PROJECT, DEFAULT_ZONE, instanceGroupManager).get();
        instanceGroupManagersToClean.add(instanceGroupManagerName);
        InstanceGroupManager fetched = instanceGroupManagersClient.get(DEFAULT_PROJECT, DEFAULT_ZONE, instanceGroupManagerName);
        Assert.assertEquals(0, fetched.getTargetSize());
        instanceGroupManagersClient.resizeAsync(DEFAULT_PROJECT, DEFAULT_ZONE, instanceGroupManagerName, 1).get();
        InstanceGroupManager resizedIGM = instanceGroupManagersClient.get(DEFAULT_PROJECT, DEFAULT_ZONE, instanceGroupManagerName);
        Assert.assertEquals(1, resizedIGM.getTargetSize());
        instanceGroupManagersClient.resizeAsync(DEFAULT_PROJECT, DEFAULT_ZONE, instanceGroupManagerName, 0).get();
        InstanceGroupManager instanceGroupManagerResized = instanceGroupManagersClient.get(DEFAULT_PROJECT, DEFAULT_ZONE, instanceGroupManagerName);
        Assert.assertEquals(0, instanceGroupManagerResized.getTargetSize());
    } finally {
        for (String name : instanceGroupManagersToClean) {
            instanceGroupManagersClient.deleteAsync(DEFAULT_PROJECT, DEFAULT_ZONE, name).get();
        }
        for (String name : instanceTemplatesToClean) {
            instanceTemplatesClient.deleteAsync(DEFAULT_PROJECT, name).get();
        }
    }
}
Also used : InstanceGroupManager(com.google.cloud.compute.v1.InstanceGroupManager) InstanceGroupManagersClient(com.google.cloud.compute.v1.InstanceGroupManagersClient) Instance(com.google.cloud.compute.v1.Instance) ArrayList(java.util.ArrayList) Operation(com.google.cloud.compute.v1.Operation) InstanceTemplatesClient(com.google.cloud.compute.v1.InstanceTemplatesClient) InstanceTemplate(com.google.cloud.compute.v1.InstanceTemplate) Test(org.junit.Test)

Aggregations

Instance (com.google.cloud.compute.v1.Instance)1 InstanceGroupManager (com.google.cloud.compute.v1.InstanceGroupManager)1 InstanceGroupManagersClient (com.google.cloud.compute.v1.InstanceGroupManagersClient)1 InstanceTemplate (com.google.cloud.compute.v1.InstanceTemplate)1 InstanceTemplatesClient (com.google.cloud.compute.v1.InstanceTemplatesClient)1 Operation (com.google.cloud.compute.v1.Operation)1 ArrayList (java.util.ArrayList)1 Test (org.junit.Test)1