Class Report.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<Report.Builder>
com.google.cloud.appoptimize.v1beta.Report.Builder
All Implemented Interfaces:
ReportOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Report

public static final class Report.Builder extends com.google.protobuf.GeneratedMessage.Builder<Report.Builder> implements ReportOrBuilder
 A configuration that defines the parameters for the data represented by a
 report.
 
Protobuf type google.cloud.appoptimize.v1beta.Report
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<Report.Builder>
    • clear

      public Report.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<Report.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<Report.Builder>
    • getDefaultInstanceForType

      public Report getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public Report build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public Report buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public Report.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Report.Builder>
    • mergeFrom

      public Report.Builder mergeFrom(Report other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<Report.Builder>
    • mergeFrom

      public Report.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Report.Builder>
      Throws:
      IOException
    • getExpirationCase

      public Report.ExpirationCase getExpirationCase()
      Specified by:
      getExpirationCase in interface ReportOrBuilder
    • clearExpiration

      public Report.Builder clearExpiration()
    • hasExpireTime

      public boolean hasExpireTime()
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      hasExpireTime in interface ReportOrBuilder
      Returns:
      Whether the expireTime field is set.
    • getExpireTime

      public com.google.protobuf.Timestamp getExpireTime()
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getExpireTime in interface ReportOrBuilder
      Returns:
      The expireTime.
    • setExpireTime

      public Report.Builder setExpireTime(com.google.protobuf.Timestamp value)
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    • setExpireTime

      public Report.Builder setExpireTime(com.google.protobuf.Timestamp.Builder builderForValue)
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    • mergeExpireTime

      public Report.Builder mergeExpireTime(com.google.protobuf.Timestamp value)
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    • clearExpireTime

      public Report.Builder clearExpireTime()
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    • getExpireTimeBuilder

      public com.google.protobuf.Timestamp.Builder getExpireTimeBuilder()
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    • getExpireTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder()
       Output only. Timestamp in UTC of when this report expires. Once the
       report expires, it will no longer be accessible and the report's
       underlying data will be deleted.
       
      .google.protobuf.Timestamp expire_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getExpireTimeOrBuilder in interface ReportOrBuilder
    • getName

      public String getName()
       Identifier. The name of this report.
       
      string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
      Specified by:
      getName in interface ReportOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       Identifier. The name of this report.
       
      string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
      Specified by:
      getNameBytes in interface ReportOrBuilder
      Returns:
      The bytes for name.
    • setName

      public Report.Builder setName(String value)
       Identifier. The name of this report.
       
      string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

      public Report.Builder clearName()
       Identifier. The name of this report.
       
      string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
      Returns:
      This builder for chaining.
    • setNameBytes

      public Report.Builder setNameBytes(com.google.protobuf.ByteString value)
       Identifier. The name of this report.
       
      string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • getDimensionsList

      public com.google.protobuf.ProtocolStringList getDimensionsList()
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getDimensionsList in interface ReportOrBuilder
      Returns:
      A list containing the dimensions.
    • getDimensionsCount

      public int getDimensionsCount()
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getDimensionsCount in interface ReportOrBuilder
      Returns:
      The count of dimensions.
    • getDimensions

      public String getDimensions(int index)
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getDimensions in interface ReportOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The dimensions at the given index.
    • getDimensionsBytes

      public com.google.protobuf.ByteString getDimensionsBytes(int index)
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getDimensionsBytes in interface ReportOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the dimensions at the given index.
    • setDimensions

      public Report.Builder setDimensions(int index, String value)
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      index - The index to set the value at.
      value - The dimensions to set.
      Returns:
      This builder for chaining.
    • addDimensions

      public Report.Builder addDimensions(String value)
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The dimensions to add.
      Returns:
      This builder for chaining.
    • addAllDimensions

      public Report.Builder addAllDimensions(Iterable<String> values)
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      values - The dimensions to add.
      Returns:
      This builder for chaining.
    • clearDimensions

      public Report.Builder clearDimensions()
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Returns:
      This builder for chaining.
    • addDimensionsBytes

      public Report.Builder addDimensionsBytes(com.google.protobuf.ByteString value)
       Required. A list of dimensions to include in the report. Supported values:
      
       * `project`
       * `application`
       * `service_or_workload`
       * `resource`
       * `resource_type`
       * `location`
       * `product_display_name`
       * `sku`
       * `month`
       * `day`
       * `hour`
      
       To aggregate results by time, specify at least one time dimension
       (`month`, `day`, or `hour`). All time dimensions use Pacific Time,
       respect Daylight Saving Time (DST), and follow these ISO 8601 formats:
      
       * `month`: `YYYY-MM` (e.g., `2024-01`)
       * `day`: `YYYY-MM-DD` (e.g., `2024-01-10`)
       * `hour`: `YYYY-MM-DDTHH` (e.g., `2024-01-10T00`)
      
       If the time range filter does not align with the selected time dimension,
       the range is expanded to encompass the full period of the finest-grained
       time dimension.
      
       For example, if the filter is `2026-01-10` through `2026-01-12` and the
       `month` dimension is selected, the effective time range expands to include
       all of January (`2026-01-01` to `2026-02-01`).
       
      repeated string dimensions = 2 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The bytes of the dimensions to add.
      Returns:
      This builder for chaining.
    • getMetricsList

      public com.google.protobuf.ProtocolStringList getMetricsList()
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMetricsList in interface ReportOrBuilder
      Returns:
      A list containing the metrics.
    • getMetricsCount

      public int getMetricsCount()
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMetricsCount in interface ReportOrBuilder
      Returns:
      The count of metrics.
    • getMetrics

      public String getMetrics(int index)
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMetrics in interface ReportOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The metrics at the given index.
    • getMetricsBytes

      public com.google.protobuf.ByteString getMetricsBytes(int index)
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMetricsBytes in interface ReportOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the metrics at the given index.
    • setMetrics

      public Report.Builder setMetrics(int index, String value)
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      index - The index to set the value at.
      value - The metrics to set.
      Returns:
      This builder for chaining.
    • addMetrics

      public Report.Builder addMetrics(String value)
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The metrics to add.
      Returns:
      This builder for chaining.
    • addAllMetrics

      public Report.Builder addAllMetrics(Iterable<String> values)
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      values - The metrics to add.
      Returns:
      This builder for chaining.
    • clearMetrics

      public Report.Builder clearMetrics()
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Returns:
      This builder for chaining.
    • addMetricsBytes

      public Report.Builder addMetricsBytes(com.google.protobuf.ByteString value)
       Required. A list of metrics to include in the report. Supported values:
      
       * `cost`
       * `cpu_mean_utilization`
       * `cpu_usage_core_seconds`
       * `cpu_allocation_core_seconds`
       * `cpu_p95_utilization`
       * `memory_mean_utilization`
       * `memory_usage_byte_seconds`
       * `memory_allocation_byte_seconds`
       * `memory_p95_utilization`
       
      repeated string metrics = 7 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The bytes of the metrics to add.
      Returns:
      This builder for chaining.
    • getScopesList

      public List<Scope> getScopesList()
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getScopesList in interface ReportOrBuilder
    • getScopesCount

      public int getScopesCount()
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getScopesCount in interface ReportOrBuilder
    • getScopes

      public Scope getScopes(int index)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getScopes in interface ReportOrBuilder
    • setScopes

      public Report.Builder setScopes(int index, Scope value)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • setScopes

      public Report.Builder setScopes(int index, Scope.Builder builderForValue)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • addScopes

      public Report.Builder addScopes(Scope value)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • addScopes

      public Report.Builder addScopes(int index, Scope value)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • addScopes

      public Report.Builder addScopes(Scope.Builder builderForValue)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • addScopes

      public Report.Builder addScopes(int index, Scope.Builder builderForValue)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • addAllScopes

      public Report.Builder addAllScopes(Iterable<? extends Scope> values)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • clearScopes

      public Report.Builder clearScopes()
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • removeScopes

      public Report.Builder removeScopes(int index)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • getScopesBuilder

      public Scope.Builder getScopesBuilder(int index)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • getScopesOrBuilder

      public ScopeOrBuilder getScopesOrBuilder(int index)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getScopesOrBuilder in interface ReportOrBuilder
    • getScopesOrBuilderList

      public List<? extends ScopeOrBuilder> getScopesOrBuilderList()
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getScopesOrBuilderList in interface ReportOrBuilder
    • addScopesBuilder

      public Scope.Builder addScopesBuilder()
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • addScopesBuilder

      public Scope.Builder addScopesBuilder(int index)
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • getScopesBuilderList

      public List<Scope.Builder> getScopesBuilderList()
       Optional. The resource containers for which to fetch data. Default is the
       project specified in the report's parent.
       
      repeated .google.cloud.appoptimize.v1beta.Scope scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
    • getFilter

      public String getFilter()
       Optional. A Common Expression Language (CEL) expression used to filter the
       data for the report.
      
       Predicates may refer to any dimension. Filtering must conform to these
       constraints:
      
       * All string field predicates must use exact string matches.
       * Multiple predicates referring to the same string field must be joined
       using the logical OR operator ('||').
       * All other predicates must be joined using the logical AND operator
       (`&&`).
       * A predicate on a time dimension (e.g., `day`) specifying the start time
       must use a greater-than-or-equal-to comparison (`>=`).
       * A predicate on a time dimension specifying the end time must use a
       less-than comparison (`<`).
      
       Examples:
      
       1. Filter by a specific resource type:
       `"resource_type == 'compute.googleapis.com/Instance'"`
      
       2. Filter data points that fall within a specific absolute time interval:
       `"hour >= timestamp('2024-01-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       3. Filter data points that fall within the past 72 hours:
       `"hour >= now - duration('72h')"`
      
       4. Combine string predicate with time interval predicate:
       `"(location == 'us-east1' || location == 'us-west1') &&
       hour >= timestamp('2023-12-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       If the filter omits time dimensions (`month`, `day`, `hour`), the report
       defaults to a 7-day range ending at the previous Pacific Time midnight,
       with Daylight Saving Time (DST) applied.
      
       For example, if the current Pacific Time is `2026-01-05T12:00:00`,
       the default range is `2025-12-29T00:00:00` to `2026-01-05T00:00:00` Pacific
       time.
       
      string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getFilter in interface ReportOrBuilder
      Returns:
      The filter.
    • getFilterBytes

      public com.google.protobuf.ByteString getFilterBytes()
       Optional. A Common Expression Language (CEL) expression used to filter the
       data for the report.
      
       Predicates may refer to any dimension. Filtering must conform to these
       constraints:
      
       * All string field predicates must use exact string matches.
       * Multiple predicates referring to the same string field must be joined
       using the logical OR operator ('||').
       * All other predicates must be joined using the logical AND operator
       (`&&`).
       * A predicate on a time dimension (e.g., `day`) specifying the start time
       must use a greater-than-or-equal-to comparison (`>=`).
       * A predicate on a time dimension specifying the end time must use a
       less-than comparison (`<`).
      
       Examples:
      
       1. Filter by a specific resource type:
       `"resource_type == 'compute.googleapis.com/Instance'"`
      
       2. Filter data points that fall within a specific absolute time interval:
       `"hour >= timestamp('2024-01-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       3. Filter data points that fall within the past 72 hours:
       `"hour >= now - duration('72h')"`
      
       4. Combine string predicate with time interval predicate:
       `"(location == 'us-east1' || location == 'us-west1') &&
       hour >= timestamp('2023-12-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       If the filter omits time dimensions (`month`, `day`, `hour`), the report
       defaults to a 7-day range ending at the previous Pacific Time midnight,
       with Daylight Saving Time (DST) applied.
      
       For example, if the current Pacific Time is `2026-01-05T12:00:00`,
       the default range is `2025-12-29T00:00:00` to `2026-01-05T00:00:00` Pacific
       time.
       
      string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getFilterBytes in interface ReportOrBuilder
      Returns:
      The bytes for filter.
    • setFilter

      public Report.Builder setFilter(String value)
       Optional. A Common Expression Language (CEL) expression used to filter the
       data for the report.
      
       Predicates may refer to any dimension. Filtering must conform to these
       constraints:
      
       * All string field predicates must use exact string matches.
       * Multiple predicates referring to the same string field must be joined
       using the logical OR operator ('||').
       * All other predicates must be joined using the logical AND operator
       (`&&`).
       * A predicate on a time dimension (e.g., `day`) specifying the start time
       must use a greater-than-or-equal-to comparison (`>=`).
       * A predicate on a time dimension specifying the end time must use a
       less-than comparison (`<`).
      
       Examples:
      
       1. Filter by a specific resource type:
       `"resource_type == 'compute.googleapis.com/Instance'"`
      
       2. Filter data points that fall within a specific absolute time interval:
       `"hour >= timestamp('2024-01-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       3. Filter data points that fall within the past 72 hours:
       `"hour >= now - duration('72h')"`
      
       4. Combine string predicate with time interval predicate:
       `"(location == 'us-east1' || location == 'us-west1') &&
       hour >= timestamp('2023-12-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       If the filter omits time dimensions (`month`, `day`, `hour`), the report
       defaults to a 7-day range ending at the previous Pacific Time midnight,
       with Daylight Saving Time (DST) applied.
      
       For example, if the current Pacific Time is `2026-01-05T12:00:00`,
       the default range is `2025-12-29T00:00:00` to `2026-01-05T00:00:00` Pacific
       time.
       
      string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The filter to set.
      Returns:
      This builder for chaining.
    • clearFilter

      public Report.Builder clearFilter()
       Optional. A Common Expression Language (CEL) expression used to filter the
       data for the report.
      
       Predicates may refer to any dimension. Filtering must conform to these
       constraints:
      
       * All string field predicates must use exact string matches.
       * Multiple predicates referring to the same string field must be joined
       using the logical OR operator ('||').
       * All other predicates must be joined using the logical AND operator
       (`&&`).
       * A predicate on a time dimension (e.g., `day`) specifying the start time
       must use a greater-than-or-equal-to comparison (`>=`).
       * A predicate on a time dimension specifying the end time must use a
       less-than comparison (`<`).
      
       Examples:
      
       1. Filter by a specific resource type:
       `"resource_type == 'compute.googleapis.com/Instance'"`
      
       2. Filter data points that fall within a specific absolute time interval:
       `"hour >= timestamp('2024-01-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       3. Filter data points that fall within the past 72 hours:
       `"hour >= now - duration('72h')"`
      
       4. Combine string predicate with time interval predicate:
       `"(location == 'us-east1' || location == 'us-west1') &&
       hour >= timestamp('2023-12-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       If the filter omits time dimensions (`month`, `day`, `hour`), the report
       defaults to a 7-day range ending at the previous Pacific Time midnight,
       with Daylight Saving Time (DST) applied.
      
       For example, if the current Pacific Time is `2026-01-05T12:00:00`,
       the default range is `2025-12-29T00:00:00` to `2026-01-05T00:00:00` Pacific
       time.
       
      string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
      Returns:
      This builder for chaining.
    • setFilterBytes

      public Report.Builder setFilterBytes(com.google.protobuf.ByteString value)
       Optional. A Common Expression Language (CEL) expression used to filter the
       data for the report.
      
       Predicates may refer to any dimension. Filtering must conform to these
       constraints:
      
       * All string field predicates must use exact string matches.
       * Multiple predicates referring to the same string field must be joined
       using the logical OR operator ('||').
       * All other predicates must be joined using the logical AND operator
       (`&&`).
       * A predicate on a time dimension (e.g., `day`) specifying the start time
       must use a greater-than-or-equal-to comparison (`>=`).
       * A predicate on a time dimension specifying the end time must use a
       less-than comparison (`<`).
      
       Examples:
      
       1. Filter by a specific resource type:
       `"resource_type == 'compute.googleapis.com/Instance'"`
      
       2. Filter data points that fall within a specific absolute time interval:
       `"hour >= timestamp('2024-01-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       3. Filter data points that fall within the past 72 hours:
       `"hour >= now - duration('72h')"`
      
       4. Combine string predicate with time interval predicate:
       `"(location == 'us-east1' || location == 'us-west1') &&
       hour >= timestamp('2023-12-01T00:00:00Z') &&
       hour < timestamp('2024-02-01T00:00:00Z')"`
      
       If the filter omits time dimensions (`month`, `day`, `hour`), the report
       defaults to a 7-day range ending at the previous Pacific Time midnight,
       with Daylight Saving Time (DST) applied.
      
       For example, if the current Pacific Time is `2026-01-05T12:00:00`,
       the default range is `2025-12-29T00:00:00` to `2026-01-05T00:00:00` Pacific
       time.
       
      string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The bytes for filter to set.
      Returns:
      This builder for chaining.