Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.googlenative.apigee.v1.QueryArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.googlenative.apigee.v1;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1QueryMetricArgs;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class QueryArgs extends com.pulumi.resources.ResourceArgs {
public static final QueryArgs Empty = new QueryArgs();
/**
* Delimiter used in the CSV file, if `outputFormat` is set to `csv`. Defaults to the `,` (comma) character. Supported delimiter characters include comma (`,`), pipe (`|`), and tab (`\t`).
*
*/
@Import(name="csvDelimiter")
private @Nullable Output csvDelimiter;
/**
* @return Delimiter used in the CSV file, if `outputFormat` is set to `csv`. Defaults to the `,` (comma) character. Supported delimiter characters include comma (`,`), pipe (`|`), and tab (`\t`).
*
*/
public Optional> csvDelimiter() {
return Optional.ofNullable(this.csvDelimiter);
}
/**
* A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions
*
*/
@Import(name="dimensions")
private @Nullable Output> dimensions;
/**
* @return A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions
*
*/
public Optional>> dimensions() {
return Optional.ofNullable(this.dimensions);
}
/**
* Hostname needs to be specified if query intends to run at host level. This field is only allowed when query is submitted by CreateHostAsyncQuery where analytics data will be grouped by organization and hostname.
*
*/
@Import(name="envgroupHostname")
private @Nullable Output envgroupHostname;
/**
* @return Hostname needs to be specified if query intends to run at host level. This field is only allowed when query is submitted by CreateHostAsyncQuery where analytics data will be grouped by organization and hostname.
*
*/
public Optional> envgroupHostname() {
return Optional.ofNullable(this.envgroupHostname);
}
@Import(name="environmentId", required=true)
private Output environmentId;
public Output environmentId() {
return this.environmentId;
}
/**
* Boolean expression that can be used to filter data. Filter expressions can be combined using AND/OR terms and should be fully parenthesized to avoid ambiguity. See Analytics metrics, dimensions, and filters reference https://docs.apigee.com/api-platform/analytics/analytics-reference for more information on the fields available to filter on. For more information on the tokens that you use to build filter expressions, see Filter expression syntax. https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax
*
*/
@Import(name="filter")
private @Nullable Output filter;
/**
* @return Boolean expression that can be used to filter data. Filter expressions can be combined using AND/OR terms and should be fully parenthesized to avoid ambiguity. See Analytics metrics, dimensions, and filters reference https://docs.apigee.com/api-platform/analytics/analytics-reference for more information on the fields available to filter on. For more information on the tokens that you use to build filter expressions, see Filter expression syntax. https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax
*
*/
public Optional> filter() {
return Optional.ofNullable(this.filter);
}
/**
* Time unit used to group the result set. Valid values include: second, minute, hour, day, week, or month. If a query includes groupByTimeUnit, then the result is an aggregation based on the specified time unit and the resultant timestamp does not include milliseconds precision. If a query omits groupByTimeUnit, then the resultant timestamp includes milliseconds precision.
*
*/
@Import(name="groupByTimeUnit")
private @Nullable Output groupByTimeUnit;
/**
* @return Time unit used to group the result set. Valid values include: second, minute, hour, day, week, or month. If a query includes groupByTimeUnit, then the result is an aggregation based on the specified time unit and the resultant timestamp does not include milliseconds precision. If a query omits groupByTimeUnit, then the resultant timestamp includes milliseconds precision.
*
*/
public Optional> groupByTimeUnit() {
return Optional.ofNullable(this.groupByTimeUnit);
}
/**
* Maximum number of rows that can be returned in the result.
*
*/
@Import(name="limit")
private @Nullable Output limit;
/**
* @return Maximum number of rows that can be returned in the result.
*
*/
public Optional> limit() {
return Optional.ofNullable(this.limit);
}
/**
* A list of Metrics.
*
*/
@Import(name="metrics")
private @Nullable Output> metrics;
/**
* @return A list of Metrics.
*
*/
public Optional>> metrics() {
return Optional.ofNullable(this.metrics);
}
/**
* Asynchronous Query Name.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Asynchronous Query Name.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
@Import(name="organizationId", required=true)
private Output organizationId;
public Output organizationId() {
return this.organizationId;
}
/**
* Valid values include: `csv` or `json`. Defaults to `json`. Note: Configure the delimiter for CSV output using the csvDelimiter property.
*
*/
@Import(name="outputFormat")
private @Nullable Output outputFormat;
/**
* @return Valid values include: `csv` or `json`. Defaults to `json`. Note: Configure the delimiter for CSV output using the csvDelimiter property.
*
*/
public Optional> outputFormat() {
return Optional.ofNullable(this.outputFormat);
}
/**
* Asynchronous Report ID.
*
*/
@Import(name="reportDefinitionId")
private @Nullable Output reportDefinitionId;
/**
* @return Asynchronous Report ID.
*
*/
public Optional> reportDefinitionId() {
return Optional.ofNullable(this.reportDefinitionId);
}
/**
* Time range for the query. Can use the following predefined strings to specify the time range: `last60minutes` `last24hours` `last7days` Or, specify the timeRange as a structure describing start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" }
*
*/
@Import(name="timeRange", required=true)
private Output timeRange;
/**
* @return Time range for the query. Can use the following predefined strings to specify the time range: `last60minutes` `last24hours` `last7days` Or, specify the timeRange as a structure describing start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" }
*
*/
public Output timeRange() {
return this.timeRange;
}
private QueryArgs() {}
private QueryArgs(QueryArgs $) {
this.csvDelimiter = $.csvDelimiter;
this.dimensions = $.dimensions;
this.envgroupHostname = $.envgroupHostname;
this.environmentId = $.environmentId;
this.filter = $.filter;
this.groupByTimeUnit = $.groupByTimeUnit;
this.limit = $.limit;
this.metrics = $.metrics;
this.name = $.name;
this.organizationId = $.organizationId;
this.outputFormat = $.outputFormat;
this.reportDefinitionId = $.reportDefinitionId;
this.timeRange = $.timeRange;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(QueryArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private QueryArgs $;
public Builder() {
$ = new QueryArgs();
}
public Builder(QueryArgs defaults) {
$ = new QueryArgs(Objects.requireNonNull(defaults));
}
/**
* @param csvDelimiter Delimiter used in the CSV file, if `outputFormat` is set to `csv`. Defaults to the `,` (comma) character. Supported delimiter characters include comma (`,`), pipe (`|`), and tab (`\t`).
*
* @return builder
*
*/
public Builder csvDelimiter(@Nullable Output csvDelimiter) {
$.csvDelimiter = csvDelimiter;
return this;
}
/**
* @param csvDelimiter Delimiter used in the CSV file, if `outputFormat` is set to `csv`. Defaults to the `,` (comma) character. Supported delimiter characters include comma (`,`), pipe (`|`), and tab (`\t`).
*
* @return builder
*
*/
public Builder csvDelimiter(String csvDelimiter) {
return csvDelimiter(Output.of(csvDelimiter));
}
/**
* @param dimensions A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions
*
* @return builder
*
*/
public Builder dimensions(@Nullable Output> dimensions) {
$.dimensions = dimensions;
return this;
}
/**
* @param dimensions A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions
*
* @return builder
*
*/
public Builder dimensions(List dimensions) {
return dimensions(Output.of(dimensions));
}
/**
* @param dimensions A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions
*
* @return builder
*
*/
public Builder dimensions(String... dimensions) {
return dimensions(List.of(dimensions));
}
/**
* @param envgroupHostname Hostname needs to be specified if query intends to run at host level. This field is only allowed when query is submitted by CreateHostAsyncQuery where analytics data will be grouped by organization and hostname.
*
* @return builder
*
*/
public Builder envgroupHostname(@Nullable Output envgroupHostname) {
$.envgroupHostname = envgroupHostname;
return this;
}
/**
* @param envgroupHostname Hostname needs to be specified if query intends to run at host level. This field is only allowed when query is submitted by CreateHostAsyncQuery where analytics data will be grouped by organization and hostname.
*
* @return builder
*
*/
public Builder envgroupHostname(String envgroupHostname) {
return envgroupHostname(Output.of(envgroupHostname));
}
public Builder environmentId(Output environmentId) {
$.environmentId = environmentId;
return this;
}
public Builder environmentId(String environmentId) {
return environmentId(Output.of(environmentId));
}
/**
* @param filter Boolean expression that can be used to filter data. Filter expressions can be combined using AND/OR terms and should be fully parenthesized to avoid ambiguity. See Analytics metrics, dimensions, and filters reference https://docs.apigee.com/api-platform/analytics/analytics-reference for more information on the fields available to filter on. For more information on the tokens that you use to build filter expressions, see Filter expression syntax. https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax
*
* @return builder
*
*/
public Builder filter(@Nullable Output filter) {
$.filter = filter;
return this;
}
/**
* @param filter Boolean expression that can be used to filter data. Filter expressions can be combined using AND/OR terms and should be fully parenthesized to avoid ambiguity. See Analytics metrics, dimensions, and filters reference https://docs.apigee.com/api-platform/analytics/analytics-reference for more information on the fields available to filter on. For more information on the tokens that you use to build filter expressions, see Filter expression syntax. https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax
*
* @return builder
*
*/
public Builder filter(String filter) {
return filter(Output.of(filter));
}
/**
* @param groupByTimeUnit Time unit used to group the result set. Valid values include: second, minute, hour, day, week, or month. If a query includes groupByTimeUnit, then the result is an aggregation based on the specified time unit and the resultant timestamp does not include milliseconds precision. If a query omits groupByTimeUnit, then the resultant timestamp includes milliseconds precision.
*
* @return builder
*
*/
public Builder groupByTimeUnit(@Nullable Output groupByTimeUnit) {
$.groupByTimeUnit = groupByTimeUnit;
return this;
}
/**
* @param groupByTimeUnit Time unit used to group the result set. Valid values include: second, minute, hour, day, week, or month. If a query includes groupByTimeUnit, then the result is an aggregation based on the specified time unit and the resultant timestamp does not include milliseconds precision. If a query omits groupByTimeUnit, then the resultant timestamp includes milliseconds precision.
*
* @return builder
*
*/
public Builder groupByTimeUnit(String groupByTimeUnit) {
return groupByTimeUnit(Output.of(groupByTimeUnit));
}
/**
* @param limit Maximum number of rows that can be returned in the result.
*
* @return builder
*
*/
public Builder limit(@Nullable Output limit) {
$.limit = limit;
return this;
}
/**
* @param limit Maximum number of rows that can be returned in the result.
*
* @return builder
*
*/
public Builder limit(Integer limit) {
return limit(Output.of(limit));
}
/**
* @param metrics A list of Metrics.
*
* @return builder
*
*/
public Builder metrics(@Nullable Output> metrics) {
$.metrics = metrics;
return this;
}
/**
* @param metrics A list of Metrics.
*
* @return builder
*
*/
public Builder metrics(List metrics) {
return metrics(Output.of(metrics));
}
/**
* @param metrics A list of Metrics.
*
* @return builder
*
*/
public Builder metrics(GoogleCloudApigeeV1QueryMetricArgs... metrics) {
return metrics(List.of(metrics));
}
/**
* @param name Asynchronous Query Name.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Asynchronous Query Name.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
public Builder organizationId(Output organizationId) {
$.organizationId = organizationId;
return this;
}
public Builder organizationId(String organizationId) {
return organizationId(Output.of(organizationId));
}
/**
* @param outputFormat Valid values include: `csv` or `json`. Defaults to `json`. Note: Configure the delimiter for CSV output using the csvDelimiter property.
*
* @return builder
*
*/
public Builder outputFormat(@Nullable Output outputFormat) {
$.outputFormat = outputFormat;
return this;
}
/**
* @param outputFormat Valid values include: `csv` or `json`. Defaults to `json`. Note: Configure the delimiter for CSV output using the csvDelimiter property.
*
* @return builder
*
*/
public Builder outputFormat(String outputFormat) {
return outputFormat(Output.of(outputFormat));
}
/**
* @param reportDefinitionId Asynchronous Report ID.
*
* @return builder
*
*/
public Builder reportDefinitionId(@Nullable Output reportDefinitionId) {
$.reportDefinitionId = reportDefinitionId;
return this;
}
/**
* @param reportDefinitionId Asynchronous Report ID.
*
* @return builder
*
*/
public Builder reportDefinitionId(String reportDefinitionId) {
return reportDefinitionId(Output.of(reportDefinitionId));
}
/**
* @param timeRange Time range for the query. Can use the following predefined strings to specify the time range: `last60minutes` `last24hours` `last7days` Or, specify the timeRange as a structure describing start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" }
*
* @return builder
*
*/
public Builder timeRange(Output timeRange) {
$.timeRange = timeRange;
return this;
}
/**
* @param timeRange Time range for the query. Can use the following predefined strings to specify the time range: `last60minutes` `last24hours` `last7days` Or, specify the timeRange as a structure describing start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" }
*
* @return builder
*
*/
public Builder timeRange(Object timeRange) {
return timeRange(Output.of(timeRange));
}
public QueryArgs build() {
$.environmentId = Objects.requireNonNull($.environmentId, "expected parameter 'environmentId' to be non-null");
$.organizationId = Objects.requireNonNull($.organizationId, "expected parameter 'organizationId' to be non-null");
$.timeRange = Objects.requireNonNull($.timeRange, "expected parameter 'timeRange' to be non-null");
return $;
}
}
}