Skip to content

Add support for 'changes' to a ManagedZone's resource record sets#1145

Merged
tseaver merged 7 commits intogoogleapis:masterfrom
tseaver:dns-changes
Sep 21, 2015
Merged

Add support for 'changes' to a ManagedZone's resource record sets#1145
tseaver merged 7 commits intogoogleapis:masterfrom
tseaver:dns-changes

Conversation

@tseaver
Copy link
Contributor

@tseaver tseaver commented Sep 21, 2015

No description provided.

@tseaver tseaver added the api: dns Issues related to the Cloud DNS API. label Sep 21, 2015
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Sep 21, 2015
@tseaver tseaver changed the title Add support fo 'changes' Add support for 'changes' to a ManagedZone's resource record sets Sep 21, 2015

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@dhermes
Copy link
Contributor

dhermes commented Sep 21, 2015

LGTM pending Travis

tseaver added a commit that referenced this pull request Sep 21, 2015
Add support for 'changes' to a ManagedZone's resource record sets
@tseaver tseaver merged commit 724120a into googleapis:master Sep 21, 2015
@tseaver tseaver deleted the dns-changes branch September 21, 2015 21:28
parthea added a commit that referenced this pull request Nov 24, 2025
* feat: full diregapic LROs

WIP add test, test fails

* Style check

* Integrate reviews

* Failures

* Mypy

Co-authored-by: Anthonios Partheniou <[email protected]>
parthea pushed a commit that referenced this pull request Nov 24, 2025
🤖 I have created a release *beep* *boop*
---


## [0.62.0](googleapis/gapic-generator-python@v0.61.0...v0.62.0) (2022-01-28)


### Features

* adds REST server-streaming support. ([#1120](googleapis/gapic-generator-python#1120)) ([812cf3e](googleapis/gapic-generator-python@812cf3e))
* expose extended operations annotations within generator ([#1145](googleapis/gapic-generator-python#1145)) ([e7bee70](googleapis/gapic-generator-python@e7bee70))


### Bug Fixes

* add special method parameters to set of reserved module names ([#1168](googleapis/gapic-generator-python#1168)) ([8078961](googleapis/gapic-generator-python@8078961))
* fix snippetgen golden file ([#1170](googleapis/gapic-generator-python#1170)) ([13b2028](googleapis/gapic-generator-python@13b2028))
* **snippetgen:** remove special handling for resource paths ([#1134](googleapis/gapic-generator-python#1134)) ([4ea2d11](googleapis/gapic-generator-python@4ea2d11))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
parthea pushed a commit that referenced this pull request Nov 24, 2025
fix typo on credentials_info usage sample
parthea pushed a commit that referenced this pull request Mar 2, 2026
This PR addresses an issue where passing a `set` of scopes to
`Credentials` causes `to_json` to fail and introduces inconsistent
mutability behavior if handled via a property accessor.

Changes:
- Modified `google.oauth2.credentials.Credentials.__init__` to convert
`scopes` to a `list` if it is a `set`.
- Updated `google.oauth2.credentials.Credentials.scopes` property
docstring to `Optional[Sequence[str]]`.
- Added a regression test `test_init_with_set_scopes` in
`tests/oauth2/test_credentials.py` to verify the fix, ensuring type
conversion, object stability, and serialization support.
- Updated `tests/test__oauth2client.py` to relax strict equality checks
on `scopes` (comparing as `sets`) to accommodate the new behavior where
internal storage is enforced as a `list`.

This PR supercedes PR #1145 which potentially introduced a mutability
inconsistency and failed to address a type correctness issue. This PR
avoids both of those concerns.

1. Mutability Inconsistency: If `._scopes` is a `set`, the `scopes`
property returns a new `list` every time it is accessed.

* If the user modifies this list (e.g.
`creds.scopes.append("new_scope")`), the modification is lost because
the next access returns a fresh list **from the underlying set**.
* If `_scopes` was originally a list (passed in `__init__`),
`creds.scopes` returns the same list reference, so modifications are
preserved. This inconsistent behavior between "set-initialized" and
"list-initialized" credentials is a potential bug trap.

2. Type correctness: The scopes argument in `__init__` is documented as
`Sequence[str]`. A set is not a `Sequence` (it's not indexable/ordered).
While Python is lenient, it is better to normalize the input at the
boundary (`__init__`) rather than in the accessor.

Moving the conversion logic to `__init__` ensures:

* _scopes is always a list (or `None`).
* Access to .scopes always returns the stored list (consistent
mutability).
* `to_json` works correctly because it accesses `self.scopes` (or
self._scopes).

---
*PR created automatically by Jules for task
[15605314498929918698](https://jules.google.com/task/15605314498929918698)
started by @chalmerlowe*

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Chalmer Lowe <[email protected]>
parthea pushed a commit that referenced this pull request Mar 2, 2026
…n paused state (#1145)

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: dns Issues related to the Cloud DNS API. cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants