Skip to content

Add ServiceGatewayClient to Azure client factory#10066

Open
georgeedward2000 wants to merge 1 commit intokubernetes-sigs:masterfrom
georgeedward2000:enechitoaia/add-servicegateway-client
Open

Add ServiceGatewayClient to Azure client factory#10066
georgeedward2000 wants to merge 1 commit intokubernetes-sigs:masterfrom
georgeedward2000:enechitoaia/add-servicegateway-client

Conversation

@georgeedward2000
Copy link
Copy Markdown
Contributor

@georgeedward2000 georgeedward2000 commented Mar 18, 2026

What type of PR is this?

/kind feature

What this PR does / why we need it:

Introduces a new ServiceGatewayClient in pkg/azclient/ for managing Azure Service Gateway resources via armnetwork/v9.

  • Introduced ServiceGatewayClient interface and implementation for managing Azure Service Gateways
  • Updated ClientFactory interface to include GetServiceGatewayClient() method
  • Implemented standard CRUD methods (Get, CreateOrUpdate, Delete, List) via code generation
  • Implemented custom methods: UpdateTags, GetAddressLocations, GetServices, UpdateAddressLocations, UpdateServices
  • Added generated tests and mocks for ServiceGatewayClient
  • Integrated metrics and tracing for all ServiceGateway operations
  • Added rate limiting support via serviceGatewayRateLimit config key

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

The custom methods follow established patterns in the codebase:

  • UpdateTags — non-LRO, follows virtualnetworkclient/custom.go pattern
  • GetAddressLocations / GetServices — pager-based, follows interfaceclient/custom.go pattern
  • UpdateAddressLocations / UpdateServices — LRO-based, follows privatelinkserviceclient/custom.go pattern

The generated integration tests (servicegatewayclient_test.go) require Azure credentials and a recorded cassette to pass locally — this is expected for all newly generated clients.

Does this PR introduce a user-facing change?

Added ServiceGatewayClient to the Azure client factory for managing Azure Service Gateway resources.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Mar 18, 2026
@github-actions github-actions Bot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Mar 18, 2026
@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Mar 18, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: georgeedward2000
Once this PR has been reviewed and has the lgtm label, please assign joelspeed for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Mar 18, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @georgeedward2000. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Mar 18, 2026
@nilo19
Copy link
Copy Markdown
Contributor

nilo19 commented Mar 18, 2026

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 18, 2026
Comment thread pkg/azclient/servicegatewayclient/interface.go
@nilo19 nilo19 added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Mar 18, 2026
@k8s-ci-robot k8s-ci-robot added do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Mar 18, 2026
- Introduced ServiceGatewayClient interface and implementation for managing Azure Service Gateways.
- Updated ClientFactory interface to include GetServiceGatewayClient method.
- Implemented ServiceGatewayClient methods for creating, updating, deleting, and listing Service Gateways.
- Added tests for ServiceGatewayClient to ensure functionality and error handling.
- Integrated metrics and tracing for ServiceGateway operations.
@georgeedward2000 georgeedward2000 force-pushed the enechitoaia/add-servicegateway-client branch from 0a03630 to bccd83e Compare March 19, 2026 09:52
@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Mar 19, 2026
@nilo19
Copy link
Copy Markdown
Contributor

nilo19 commented Mar 22, 2026

/ok-to-test

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

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants