monitoring_dashboard: DashboardFilter adding new fields into proto.

Open
#17,951 1 comment 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
62/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python
Domain
api

Research direction

Start with packages/google-cloud-monitoring-dashboards/google/cloud/monitoring_dashboard_v1/types/dashboard_filter.py and compare DashboardFilter with the linked REST API documentation. Verify how the existing fields are defined and how generated types are tested; done means valueType and stringArrayValue can be constructed, serialized, parsed, and expose the expected STRING_ARRAY values.

Written by the indexing model from the issue text.

Description

api: monitoring priority: p3 type: feature request
Determine this is the right repository
  • I determined this is the correct repository in which to report this feature request.
Summary of the feature request

DashboardFilter only exposes label_key, template_variable, string_value, and filter_type:
https://github.com/googleapis/google-cloud-python/blob/google-cloud-monitoring-dashboards-v2.22.0/packages/google-cloud-monitoring-dashboards/google/cloud/monitoring_dashboard_v1/types/dashboard_filter.py

However:

The REST API supports valueType (STRING / STRING_ARRAY) and stringArrayValue for value-only dashboard variables that accept multiple values — documented here: https://docs.cloud.google.com/monitoring/api/ref_v3/rest/v1/projects.dashboards#DashboardFilter

This mismatch means the generated proto/client is behind the actual API surface, and there's no way to construct or parse a STRING_ARRAY-type dashboard filter/variable using the typed Python client — only via raw REST calls.

Desired code experience

file: dashboard_filter.py

class ValueType(proto.Enum):
        r"""The type of the filter value
        Values:
        VALUE_TYPE_UNSPECIFIED (0):
            Value type is unspecified
        STRING (1):
            String type
        STRING_ARRAY (2):
            String array type
        """

        VALUE_TYPE_UNSPECIFIED = 0
        STRING = 1
        STRING_ARRAY = 2

    value_type: ValueType = proto.Field(
        proto.ENUM,
        number=6,
        enum=ValueType,
    )
    stringArrayValue: StringArray = proto.Field(
        proto.MESSAGE,
        number=7,
        message=StringArray,
    )
Expected results

_e.g. dashboardFilter.stringArrayValue should return { values: [] }

API client name and version

google-cloud-monitoring-dashboards v2.22.0

Use case

This feature will allow users to retrieve stored values saved in Dashboard Settings -> Filters/Variables.

Additional context

No response

Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
2d 7h
Merged PRs (30d)
173

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from googleapis/google-cloud-python

All issues in googleapis/google-cloud-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.