Skip to content

feat(Storage): add support for Bucket IP filter configuration#9

Open
salilg-eng wants to merge 10 commits into
mainfrom
feat/bucketip-filter
Open

feat(Storage): add support for Bucket IP filter configuration#9
salilg-eng wants to merge 10 commits into
mainfrom
feat/bucketip-filter

Conversation

@salilg-eng

@salilg-eng salilg-eng commented Jun 8, 2026

Copy link
Copy Markdown
Owner

This PR adds support for Bucket IP Filters to the PHP Cloud Storage client library. This lets developers restrict bucket access to specific IP addresses or VPC networks, which is a big win for security.

Changes :

Schema: Updated storage-v1.json with the ipFilter definition (covering mode, public/VPC sources, and service agent access) so the REST client handles serialization correctly.
Documentation: Added the $ipFilter array structure to the docblocks for StorageClient::createBucket() and Bucket::update().
System Tests: Added comprehensive E2E verification in ManageBucketsTest.php under the @group bucket-ipfilter tag. This covers CRUD operations, invalid CIDR handling, and safely confirms 403 Forbidden denials for unauthorized access.
Unit Tests: Added extensive unit test coverage in StorageClientTest.php and BucketTest.php to ensure the new configuration passes perfectly through the client down to the underlying connections.

gemini-code-assist[bot]

This comment was marked as off-topic.

@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch 2 times, most recently from 4b71613 to 87180a4 Compare June 8, 2026 13:10
@salilg-eng
salilg-eng marked this pull request as ready for review June 8, 2026 14:41
@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch from f4470e0 to ae44c36 Compare June 10, 2026 09:29
@thiyaguk09 thiyaguk09 removed their assignment Jun 12, 2026
@thiyaguk09
thiyaguk09 self-requested a review June 12, 2026 14:29
Comment thread Storage/src/Connection/ServiceDefinition/storage-v1.json Outdated
Comment thread Storage/tests/System/ManageBucketsTest.php Outdated
Comment thread Storage/tests/System/ManageBucketsTest.php Outdated
Comment thread Storage/tests/System/ManageBucketsTest.php
Comment thread Storage/tests/Unit/BucketTest.php
@salilg-eng
salilg-eng requested a review from thiyaguk09 June 12, 2026 18:31
Comment thread Storage/tests/System/ManageBucketsTest.php
Comment thread Storage/tests/Unit/BucketTest.php
Comment thread Storage/tests/Unit/BucketTest.php Outdated
Comment thread Storage/tests/System/ManageBucketsTest.php Outdated
@salilg-eng
salilg-eng requested a review from thiyaguk09 June 15, 2026 10:24
@thiyaguk09

Copy link
Copy Markdown
Collaborator

@salilg-eng have you tested all test cases passing in your local env?

@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch 2 times, most recently from c72cae1 to 6d0f403 Compare June 16, 2026 05:14
@salilg-eng

Copy link
Copy Markdown
Owner Author

@thiyaguk09 I've addressed all of your feedback and thoroughly re-tested everything. It's all working perfectly now!

@thiyaguk09

Copy link
Copy Markdown
Collaborator

@salilg-eng please add testDisableBucketIpFilter & testDeleteBucketIpFilter this system test

@salilg-eng

Copy link
Copy Markdown
Owner Author

@thiyaguk09 I added testDeleteBucketIpFilter to test removing the IP from the range as specified. I also skipped adding a separate system test for disabling the filter, since testCreateBucketWithIpFilterDisabled already covers that functionality.

@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch 2 times, most recently from a0604ba to 976d286 Compare June 16, 2026 13:50
Comment thread Storage/tests/System/ManageBucketsTest.php Outdated
Comment thread Storage/tests/Unit/BucketTest.php Outdated
@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch from 976d286 to 8affcd4 Compare June 18, 2026 07:27
@salilg-eng
salilg-eng requested a review from thiyaguk09 June 18, 2026 08:26
@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch from 8affcd4 to 7576e88 Compare June 18, 2026 10:01
Comment thread Storage/tests/Unit/BucketTest.php
@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch from 7576e88 to bdf53da Compare June 18, 2026 10:19
@salilg-eng
salilg-eng requested a review from thiyaguk09 June 18, 2026 10:19

@thiyaguk09 thiyaguk09 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

*Please avoid force-pushing, as it makes code reviews and tracking changes difficult.

@salilg-eng

Copy link
Copy Markdown
Owner Author

/gemini-review

@salilg-eng

Copy link
Copy Markdown
Owner Author

/Gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for configuring IP filters (ipFilter) on Google Cloud Storage buckets, updating the service definition, documenting the new parameters, and adding extensive unit and system tests. The feedback highlights a test group annotation mismatch in ManageBucketsTest.php that could cause dependent tests to be skipped, and suggests using standard fully-qualified path notation in the docblocks of Bucket.php and StorageClient.php for better IDE autocomplete and documentation generation.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread Storage/tests/System/ManageBucketsTest.php
Comment thread Storage/src/Bucket.php Outdated
Comment thread Storage/src/StorageClient.php Outdated
@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch from bdf53da to 66d12d7 Compare June 22, 2026 09:24
bshaffer and others added 7 commits June 23, 2026 14:19
…h deprecation and DETECT_INTENT_RESPONSE_VIEW_BASIC (googleapis#9278)

* docs: clarified OUTPUT_AUDIO_ENCODING_MP3 bit rate with deprecation and DETECT_INTENT_RESPONSE_VIEW_BASIC

PiperOrigin-RevId: 934362384

Source-Link: googleapis/googleapis@a105b43

Source-Link: https://github.com/googleapis/googleapis-gen/commit/6593d67ea3fd51f58d4518468bbb3e9bd9681a16
Copy-Tag: eyJwIjoiRGlhbG9nZmxvd0N4Ly5Pd2xCb3QueWFtbCIsImgiOiI2NTkzZDY3ZWEzZmQ1MWY1OGQ0NTE4NDY4YmJiM2U5YmQ5NjgxYTE2In0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
…o allow deleting a Collection together with its Indexes and DataObjects (googleapis#9290)

* feat: Added `force` field to DeleteCollectionRequest to allow deleting a Collection together with its Indexes and DataObjects
feat: Added `FieldFilter` message and `field_filter` field to ExportDataObjects to restrict which top-level Data Object fields are emitted
feat: Relaxed `search_text` and `data_field_names` on data object search from REQUIRED to OPTIONAL (required only for the default text search mode)
docs: Updated documentation for listing locations

PiperOrigin-RevId: 936147070

Source-Link: googleapis/googleapis@0b5d8e6

Source-Link: https://github.com/googleapis/googleapis-gen/commit/d3e03d82a6a9db8c6036e728d75f90e10a16ba52
Copy-Tag: eyJwIjoiVmVjdG9yU2VhcmNoLy5Pd2xCb3QueWFtbCIsImgiOiJkM2UwM2Q4MmE2YTlkYjhjNjAzNmU3MjhkNzVmOTBlMTBhMTZiYTUyIn0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Brent Shaffer <betterbrent@google.com>
* feat: add DMS Private Connection

PiperOrigin-RevId: 936483837

Source-Link: googleapis/googleapis@ea8c396

Source-Link: https://github.com/googleapis/googleapis-gen/commit/238accc080b4d5af8b78f0d79c8128d2dcc9d275
Copy-Tag: eyJwIjoiTmV0d29ya01hbmFnZW1lbnQvLk93bEJvdC55YW1sIiwiaCI6IjIzOGFjY2MwODBiNGQ1YWY4Yjc4ZjBkNzljODEyOGQyZGNjOWQyNzUifQ==

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
…y_profile_group.proto (googleapis#9296)

* docs: escape data_path_id comment braces in security_profile_group.proto

PiperOrigin-RevId: 936756712

Source-Link: googleapis/googleapis@77875a7

Source-Link: https://github.com/googleapis/googleapis-gen/commit/b831ee17bbbbc5a61ca866c7dea164e59e814e70
Copy-Tag: eyJwIjoiTmV0d29ya1NlY3VyaXR5Ly5Pd2xCb3QueWFtbCIsImgiOiJiODMxZWUxN2JiYmJjNWE2MWNhODY2YzdkZWExNjRlNTllODE0ZTcwIn0=

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
@salilg-eng
salilg-eng force-pushed the feat/bucketip-filter branch from 725c37c to 5bfba7f Compare June 24, 2026 04:50
gcf-owl-bot Bot and others added 3 commits June 26, 2026 16:16
…tAudioConfig.enable_voice_activity_events (googleapis#9302)

* feat: speech activity event is configurable through InputAudioConfig.enable_voice_activity_events
feat: StreamingRecognitionResult now has new MessageType: DTMF_DIGITS, PARTIAL_DTMF_DIGITS, SPEECH_ACTIVITY_BEGIN, SPEECH_ACTIVITY_END
feat: ces_debug_info is available in SearchKnowledgeDebugInfo

PiperOrigin-RevId: 938734624

Source-Link: googleapis/googleapis@8a2919c

Source-Link: https://github.com/googleapis/googleapis-gen/commit/06d243931e549653b5ee2f7bdf99f390a9361abb
Copy-Tag: eyJwIjoiRGlhbG9nZmxvdy8uT3dsQm90LnlhbWwiLCJoIjoiMDZkMjQzOTMxZTU0OTY1M2I1ZWUyZjdiZGY5OWYzOTBhOTM2MWFiYiJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants