use of com.vmware.xenon.services.common.QueryTask.Query in project photon-model by vmware.
the class TestVSphereOvfImport method importOvfAsDescriptions.
@Test
public void importOvfAsDescriptions() throws Throwable {
this.resourcePool = createResourcePool();
this.auth = createAuth();
this.computeHostDescription = createComputeDescription();
createComputeHost();
ComputeDescription computeDesc = new ComputeDescription();
computeDesc.supportedChildren = new ArrayList<>();
computeDesc.instanceAdapterReference = UriUtils.buildUri(this.host, VSphereUriPaths.INSTANCE_SERVICE);
computeDesc.authCredentialsLink = this.auth.documentSelfLink;
computeDesc.name = computeDesc.id;
computeDesc.dataStoreId = this.dataStoreId;
ImportOvfRequest req = new ImportOvfRequest();
req.ovfUri = new File("src/test/resources/vcenter.ovf").toURI();
req.template = computeDesc;
Operation op = Operation.createPatch(this.host, OvfImporterService.SELF_LINK).setBody(req).setReferer(this.host.getPublicUri());
op = this.host.waitForResponse(op);
assertEquals(Operation.STATUS_CODE_OK, op.getStatusCode());
Query q = Query.Builder.create().addFieldClause(ComputeState.FIELD_NAME_ID, "ovf-", MatchType.PREFIX).build();
QueryTask task = QueryTask.Builder.createDirectTask().setQuery(q).build();
QueryUtils.createQueryTaskOperation(this.host, task, ServiceTypeCluster.INVENTORY_SERVICE);
task = this.host.waitForResponse(op).getBody(QueryTask.class);
assertTrue(task.results.documentLinks.size() > 5);
snapshotFactoryState("ovf", ComputeDescriptionService.class);
}
use of com.vmware.xenon.services.common.QueryTask.Query in project photon-model by vmware.
the class TestVSphereEnumerationTask method findRandomHost.
private ComputeState findRandomHost() throws InterruptedException, TimeoutException, ExecutionException {
Query q = Query.Builder.create().addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, CustomProperties.TYPE, VimNames.TYPE_HOST).addKindFieldClause(ComputeState.class).build();
QueryTask qt = QueryTask.Builder.createDirectTask().setQuery(q).addOption(QueryOption.EXPAND_CONTENT).build();
Operation op = QueryUtils.createQueryTaskOperation(this.host, qt, ServiceTypeCluster.INVENTORY_SERVICE);
QueryTask result = this.host.waitForResponse(op).getBody(QueryTask.class);
Object firstResult = result.results.documents.values().iterator().next();
return Utils.fromJson(firstResult, ComputeState.class);
}
use of com.vmware.xenon.services.common.QueryTask.Query in project photon-model by vmware.
the class TestVSphereEnumerationTask method findRandomVm.
private ComputeState findRandomVm() throws InterruptedException, TimeoutException, ExecutionException {
Query q = Query.Builder.create().addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, CustomProperties.TYPE, VimNames.TYPE_VM).addKindFieldClause(ComputeState.class).build();
QueryTask qt = QueryTask.Builder.createDirectTask().setQuery(q).addOption(QueryOption.EXPAND_CONTENT).build();
Operation op = QueryUtils.createQueryTaskOperation(this.host, qt, ServiceTypeCluster.INVENTORY_SERVICE);
QueryTask result = this.host.waitForResponse(op).getBody(QueryTask.class);
Object firstResult = result.results.documents.values().iterator().next();
return Utils.fromJson(firstResult, ComputeState.class);
}
use of com.vmware.xenon.services.common.QueryTask.Query in project photon-model by vmware.
the class ResourceGroomerTaskServiceTest method getComputeCount.
/**
* Query count of computes with all given endpointLinks in a set and tenantLink.
*/
public long getComputeCount(Set<String> endpointLinks, String tenantLink) {
Query.Builder query = Query.Builder.create().addCollectionItemClause(ResourceState.FIELD_NAME_TENANT_LINKS, tenantLink);
for (String endpointLink : endpointLinks) {
query.addCollectionItemClause(ResourceState.FIELD_NAME_ENDPOINT_LINKS, endpointLink);
}
QueryTask queryTask = QueryTask.Builder.createDirectTask().setQuery(query.build()).addOption(QueryOption.COUNT).build();
Operation postQuery = Operation.createPost(UriUtils.buildUri(this.host, ServiceUriPaths.CORE_LOCAL_QUERY_TASKS)).setBody(queryTask).setReferer(this.host.getUri());
Operation queryResponse = this.host.waitForResponse(postQuery);
if (queryResponse.getStatusCode() != 200) {
return -1;
}
QueryTask response = queryResponse.getBody(QueryTask.class);
return response.results.documentCount;
}
use of com.vmware.xenon.services.common.QueryTask.Query in project photon-model by vmware.
the class ResourceGroomerTaskServiceTest method getComputeCount.
/**
* Query count of computes with all given endpointLinks in a set and tenantLink.
*/
public long getComputeCount(String endpointLink, String tenantLink) {
Query.Builder query = Query.Builder.create().addFieldClause(ResourceState.FIELD_NAME_ENDPOINT_LINK, endpointLink).addCollectionItemClause(ResourceState.FIELD_NAME_TENANT_LINKS, tenantLink);
QueryTask queryTask = QueryTask.Builder.createDirectTask().setQuery(query.build()).addOption(QueryOption.COUNT).build();
Operation postQuery = Operation.createPost(UriUtils.buildUri(this.host, ServiceUriPaths.CORE_LOCAL_QUERY_TASKS)).setBody(queryTask).setReferer(this.host.getUri());
Operation queryResponse = this.host.waitForResponse(postQuery);
if (queryResponse.getStatusCode() != 200) {
return -1;
}
QueryTask response = queryResponse.getBody(QueryTask.class);
return response.results.documentCount;
}
Aggregations