/** * Add {@code endpointLink} constraint to passed query builder depending on document class. */ public static Query.Builder addEndpointLink( Query.Builder qBuilder, Class<? extends ServiceDocument> stateClass, String endpointLink) { if (endpointLink == null || endpointLink.isEmpty()) { return qBuilder; } if (PhotonModelUtils.ENDPOINT_LINK_EXPLICIT_SUPPORT.contains(stateClass)) { return qBuilder.addFieldClause( PhotonModelConstants.FIELD_NAME_ENDPOINT_LINK, endpointLink); } if (PhotonModelUtils.ENDPOINT_LINK_CUSTOM_PROP_SUPPORT.contains(stateClass)) { return qBuilder.addCompositeFieldClause( ResourceState.FIELD_NAME_CUSTOM_PROPERTIES, PhotonModelConstants.CUSTOM_PROP_ENDPOINT_LINK, endpointLink); } return qBuilder; }
rpHelper.setAdditionalQueryClausesProvider(qb -> { qb.addInClause(ComputeState.FIELD_NAME_DESCRIPTION_LINK, computeDescriptionLinks); qb.addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, ComputeConstants.COMPUTE_CONTAINER_HOST_PROP_NAME, "true"); });
/** * Add {@code endpointLink} constraint to passed query builder depending on document class. */ public static Query.Builder addEndpointLink( Query.Builder qBuilder, Class<? extends ServiceDocument> stateClass, String endpointLink) { if (endpointLink == null || endpointLink.isEmpty()) { return qBuilder; } if (PhotonModelUtils.ENDPOINT_LINK_EXPLICIT_SUPPORT.contains(stateClass)) { qBuilder.addClause(Query.Builder.create() .addFieldClause( PhotonModelConstants.FIELD_NAME_ENDPOINT_LINK, endpointLink, Query.Occurance.SHOULD_OCCUR) .addCollectionItemClause( PhotonModelConstants.FIELD_NAME_ENDPOINT_LINKS, endpointLink, Query.Occurance.SHOULD_OCCUR) .build()); } else if (PhotonModelUtils.ENDPOINT_LINK_CUSTOM_PROP_SUPPORT.contains(stateClass)) { qBuilder.addCompositeFieldClause( ResourceState.FIELD_NAME_CUSTOM_PROPERTIES, PhotonModelConstants.CUSTOM_PROP_ENDPOINT_LINK, endpointLink); } return qBuilder; }
.addCompositeFieldClause(ExampleServiceState.FIELD_NAME_KEY_VALUES, "exampleKey", "exampleValue", Occurance.SHOULD_OCCUR) .addCompositeFieldClause(ExampleServiceState.FIELD_NAME_KEY_VALUES, "exampleKey", "exampleValue", Occurance.SHOULD_OCCUR)
.addCompositeFieldClause(ExampleServiceState.FIELD_NAME_KEY_VALUES, "exampleKey", "exampleValue", Occurance.SHOULD_OCCUR) .addCompositeFieldClause(ExampleServiceState.FIELD_NAME_KEY_VALUES, "exampleKey", "exampleValue", Occurance.SHOULD_OCCUR)
helper.setExpandComputes(true); helper.setAdditionalQueryClausesProvider(qb -> { qb.addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, ComputeConstants.COMPUTE_CONTAINER_HOST_PROP_NAME, "true"); });
Query.Builder queryBuilder = Query.Builder.create() .addClause(currentRpState.query) .addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, ComputeConstants.COMPUTE_CONTAINER_HOST_PROP_NAME, "true"); if (projectLink != null && !projectLink.isEmpty()) {
.setQuery(Query.Builder.create() .addKindFieldClause(ResourceMetrics.class) .addCompositeFieldClause(ResourceMetrics.FIELD_NAME_CUSTOM_PROPERTIES, ResourceMetrics.PROPERTY_RESOURCE_LINK, resourceLink) .addRangeClause(QuerySpecification.buildCompositeFieldName(
.addKindFieldClause(ResourceGroupState.class) .addInClause(ResourceGroupState.FIELD_NAME_SELF_LINK, groupLinks) .addCompositeFieldClause(ResourceGroupState.FIELD_NAME_CUSTOM_PROPERTIES, ComputeProperties.RESOURCE_TYPE_KEY, COMPUTE_DEPLOYMENT_TYPE_VALUE); QueryUtils.QueryByPages<ResourceGroupState> query = new QueryUtils.QueryByPages<>(
.addKindFieldClause(ComputeState.class) .addFieldClause(ComputeState.FIELD_NAME_RESOURCE_POOL_LINK, resourcePoolLink) .addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, ComputeConstants.COMPUTE_CONTAINER_HOST_PROP_NAME, "true") .addFieldClause(
/** * Create a QueryTask to fetch an endpoint based on account ID for the given account type. */ public static QueryTask createAccountQuery(String accountId, String accountType, List<String> tenantLinks) { Query.Builder qBuilder = Query.Builder.create() .addKindFieldClause(ComputeState.class) .addFieldClause(ComputeState.FIELD_NAME_TYPE, ComputeType.ENDPOINT_HOST) .addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, "__endpointType", accountType) .addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, PhotonModelConstants.CLOUD_ACCOUNT_ID, accountId) .addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, PhotonModelConstants.AUTO_DISCOVERED_ENTITY, Boolean.TRUE.toString(), Occurance.MUST_NOT_OCCUR) .addFieldClause("endpointLinks.item", "*", MatchType.WILDCARD, Occurance.MUST_OCCUR); // it must match all tenantLinks in order to determine whether a compute host already // exists. addTenantLinks(qBuilder, tenantLinks); QueryTask queryTask = QueryTask.Builder.createDirectTask() .setQuery(qBuilder.build()) .addOption(QueryOption.EXPAND_CONTENT) .addOption(QueryOption.TOP_RESULTS) .setResultLimit(100) .build(); return queryTask; }
private static DeferredResult<Void> verifyZoneContainsSingleSchedulerOrNoHost( String resourcePoolLink, Operation op, Service service) { if (resourcePoolLink == null) { // there is no placement zone to verify return null; } Query query = Query.Builder.create() .addKindFieldClause(ComputeState.class) .addFieldClause(ComputeState.FIELD_NAME_RESOURCE_POOL_LINK, resourcePoolLink) .addCompositeFieldClause(ComputeState.FIELD_NAME_CUSTOM_PROPERTIES, ComputeConstants.COMPUTE_CONTAINER_HOST_PROP_NAME, "true") .build(); QueryUtils.QueryByPages<ComputeState> queryHelper = new QueryUtils.QueryByPages<>( service.getHost(), query, ComputeState.class, null); return queryHelper.collectDocuments(Collectors.toList()).thenAccept(computes -> { if (computes.size() > 1) { throw new LocalizableValidationException( MULTIPLE_HOSTS_IN_PLACEMENT_ZONE_MESSAGE, MULTIPLE_HOSTS_IN_PLACEMENT_ZONE_MESSAGE_CODE); } if (!computes.isEmpty() && !ContainerHostUtil.isTreatedLikeSchedulerHost(computes.get(0))) { throw new LocalizableValidationException( NON_SCHEDULER_HOST_IN_PLACEMENT_ZONE_MESSAGE, NON_SCHEDULER_HOST_IN_PLACEMENT_ZONE_MESSAGE_CODE); } }); }
private Query.Builder endpointsByTypeQuery(SendImageEnumerationAdapterContext ctx) { Query.Builder endpointsByTypeQuery = Query.Builder.create() .addKindFieldClause(EndpointState.class) .addCaseInsensitiveFieldClause( EndpointState.FIELD_NAME_ENDPOINT_TYPE, ctx.taskState.endpointType, MatchType.TERM, Occurance.MUST_OCCUR); if (!isNullOrEmpty(ctx.taskState.regionId)) { endpointsByTypeQuery.addCompositeFieldClause( EndpointState.FIELD_NAME_ENDPOINT_PROPERTIES, EndpointConfigRequest.REGION_KEY, ctx.taskState.regionId); } return endpointsByTypeQuery; }
Query createWithCompositeField() { return Query.Builder.create().addCompositeFieldClause("nc1", "ns1", "v1").build(); }
private DeferredResult<List<ContainerDescription>> retrieveContainerDescriptions() { logFine("Retrieve all container descriptions which have autoredeploy option enabled." + "System container is excluded."); Builder builder = Builder.create() .addKindFieldClause(ContainerDescription.class) .addFieldClause(ContainerDescription.FIELD_NAME_SELF_LINK, SystemContainerDescriptions.AGENT_CONTAINER_DESCRIPTION_LINK, Occurance.MUST_NOT_OCCUR) .addCompositeFieldClause(ContainerDescription.FIELD_NAME_HEALTH_CONFIG, HealthConfig.FIELD_NAME_AUTOREDEPLOY, Boolean.TRUE.toString(), Occurance .MUST_OCCUR); QueryByPages<ContainerDescription> query = new QueryByPages<>(getHost(), builder.build(), ContainerDescription.class, null); return query.collectDocuments(Collectors.toList()); }
private Query getAssociatedDocumentsQuery(EndpointRemovalTaskState state, Collection<String> documentKinds) { Query resourceQuery = Query.Builder.create() .addInClause(ServiceDocument.FIELD_NAME_KIND, documentKinds) .addClause(Query.Builder.create() .addFieldClause(FIELD_NAME_ENDPOINT_LINK, state.endpoint.documentSelfLink, QueryTask.Query.Occurance.SHOULD_OCCUR) .addCompositeFieldClause(FIELD_NAME_CUSTOM_PROPERTIES, ComputeProperties.ENDPOINT_LINK_PROP_NAME, state.endpoint.documentSelfLink, QueryTask.Query.Occurance.SHOULD_OCCUR) .build()) .build(); return resourceQuery; }
private void queryComputesToUnassign(EpzComputeEnumerationTaskState state) { Query mustBeOut = Utils.clone(state.resourcePoolQuery) .setOccurance(Occurance.MUST_NOT_OCCUR); Query areIn = Query.Builder.create() .addKindFieldClause(ComputeState.class) .addCompositeFieldClause(ResourceState.FIELD_NAME_CUSTOM_PROPERTIES, EPZ_CUSTOM_PROP_NAME_PREFIX + extractRpId(state), EPZ_CUSTOM_PROP_VALUE) .build(); Query combinedQuery = Query.Builder.create().addClauses(mustBeOut, areIn).build(); queryComputes(state, combinedQuery, EpzComputeEnumerationTaskState.SubStage.UNASSIGN_COMPUTES, EpzComputeEnumerationTaskState.SubStage.QUERY_COMPUTES_TO_ASSIGN); }
Query createWithCompositeField() { return Query.Builder.create().addCompositeFieldClause("nc1", "ns1", "v1").build(); }