Skip to content

mmv1/list: Support default_value for optional list scope properties#18304

Draft
BBBmau wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
BBBmau:list-resource-default-value-support
Draft

mmv1/list: Support default_value for optional list scope properties#18304
BBBmau wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
BBBmau:list-resource-default-value-support

Conversation

@BBBmau

@BBBmau BBBmau commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

When a url_param_only parameter in a resource's collection URL is optional but has a default_value, the list resource machinery was previously treating an empty/omitted value as a blank string, resulting in malformed URLs like collections//engines/....

Fix this in three places:

  • list_resource.go.tmpl: fall back to the field's default_value when the user does not supply a value for an optional scope property
  • list_resource_method.go.tmpl: same fallback when setting the property on the temporary ResourceData used to build the list URL
  • query_test_file.go.tmpl: include optional fields that have a default_value in the generated list query test (capture + variable declaration + config) so the default is propagated to the list block

This unblocks generate_list_resource: true for resources like google_discovery_engine_control and google_discovery_engine_widget_config whose collectionId parameter defaults to "default_collection".

Release Note Template for Downstream PRs (will be copied)

See Write release notes for guidance.


When a url_param_only parameter in a resource's collection URL is optional
but has a default_value, the list resource machinery was previously treating
an empty/omitted value as a blank string, resulting in malformed URLs like
`collections//engines/...`.

Fix this in three places:

- list_resource.go.tmpl: fall back to the field's default_value when the
  user does not supply a value for an optional scope property
- list_resource_method.go.tmpl: same fallback when setting the property on
  the temporary ResourceData used to build the list URL
- query_test_file.go.tmpl: include optional fields that have a default_value
  in the generated list query test (capture + variable declaration + config)
  so the default is propagated to the list block

This unblocks generate_list_resource: true for resources like
google_discovery_engine_control and google_discovery_engine_widget_config
whose collectionId parameter defaults to "default_collection".

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@google-cla

google-cla Bot commented Jul 16, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@modular-magician

Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes for commit 1069817:

Diff report

Your PR hasn't generated any diffs, but I'll let you know if a future commit does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants