Skip to content

Merge main into IAM project branch#856

Merged
zliang-akamai merged 67 commits intoproj/iamfrom
main
Dec 4, 2025
Merged

Merge main into IAM project branch#856
zliang-akamai merged 67 commits intoproj/iamfrom
main

Conversation

@zliang-akamai
Copy link
Member

No description provided.

dependabot bot and others added 30 commits May 13, 2025 11:56
)

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add test helper and update tests

* increase timeout for smoke and int tests

* update fixtures
* Fix attribute name for LKE control plane ACL revision ID

* Remove unnecessary omitempty

* Fix unit test fixtures

* Regenerate the fixture for TestLKECluster_withACL
* fix: MigratingTo field to accept int or null

The Linode API returns either an Integer or `null` for this field.

* Bump test image version

* Update the test fixture for MigrateTo

* Update the test fixture for InstanceGet test case

* Update the test fixture for list instances test

* Remove unnecessary override as the availability has been expanded

* fix unit test fixtures

* Fix unit test

---------

Co-authored-by: Zhiwei Liang <zliang@akamai.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
…es (#746)

* updating variable type for entity_ids for different service_types

* update tests and comments

* revert go.work.sum

* Updated comment for lint issues

---------

Co-authored-by: Ye Chen <127243817+yec-akamai@users.noreply.github.com>
* Added support for Configurable DB Params (#714)

* Added support and unit tests for new config endpoints

* Added support and unit tests for changes to DB get, create, and update endpoints

* Fix lint

* Added missing omitempty

* Removed invalid fields from Configurable DB changes (#729)

* Removed stale fields

* Fix lint

* Add integration tests for Configurable DB Params (#728)

* Add database engine config test cases

* remove prints

* lint

* removing invalid fields

* add negative test case

* address assertion failures

* add fixtures

* remove invalid fields in assertions

* Allow nullable DB Engine Config fields to be set to explicit null values (#742)

* Allow nullable fields to be set to explicit null value

* Fix int tests

* adding test cases

* update password_encryption pointer

* update test fixtures and order

* update test fixtures and order

* rename test

* add fixture

---------

Co-authored-by: Youjung Kim <ykim@akamai.com>

* Updated type for modified fields (#750)

* Updated type for changed fields

* remove pg13 negative test case

---------

Co-authored-by: Youjung Kim <ykim@akamai.com>

---------

Co-authored-by: Youjung Kim <126618609+ykim-akamai@users.noreply.github.com>
Co-authored-by: Youjung Kim <ykim@akamai.com>
* add support to auto-allocate ipv4 addrs from range specified

* Update fixtures

* Remove stale fixture

---------

Co-authored-by: Lena Garber <lgarber@akamai.com>
* Add support for NodeBalancers UDP (#630)

* WIP

* Finish up

* Add integration tests

* Add NB unit test

* Add config unit test

* Replace TODO

* Render fixtures

* Re-render unrelated fixture

* Merge main into proj/nb-udp

* Updated GetCreateOptions to handle 0 udpCheckPort

* Added LA notices

* Fix lint

* Reran fixtures

---------

Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com>
Co-authored-by: Lena Garber <lgarber@akamai.com>
* Deprecate MarkEventRead API

* Update fixtures
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
## 📝 Description

**What does this PR do and why is this change necessary?**

Calling `UseURL` with `foo.bar.com` results in the client being configured with `api.linode.com` silently, because `foo.bar.com` (without a scheme) gets parsed into a URL object, where `foo.bar.com` **is the path** (and [everything else is empty](https://go.dev/play/p/olSNQ3JLVuO)), which is then **ignored** by our implementation: https://github.com/linode/linodego/blob/0bb8fc2ae35f2c4a60ff7a549db141335d30c1af/client.go#L535-L539

Since we're leveraging just the Host and Scheme portions of the URL object, I introduced a check for these values. Also added tests to cover various scenarios.

(Note that I not only converted existing UseURL tests to a single table test, but I also changed the logic where I now test against `c.resty.BaseURL`, which is the URL actually used for making requests - it originally tested against `c.baseURL`, which can be misleading.)

## ✔️ How to Test

**What are the steps to reproduce the issue or verify the changes?**

Run the following before checking out the changes from this PR:

```go
package main

import (
	"context"
	"log"

	"github.com/linode/linodego"
)

func main() {
	client := linodego.NewClient(nil)

	// This is intentionally set to an invalid URL
	if _, err := client.UseURL("api.test1.linode.com/v4beta"); err != nil {
		log.Fatal(err)
	}

	if _, err := client.ListInstances(context.Background(), nil); err != nil {
		log.Fatal(err)
	}
}
```

You'd be greeted with a `[401] Invalid Token`, even though you think you're accessing a non-existent endpoint. It's actually contacting production.

Check out the PR and try again, you'll be met with `need both scheme and host in API URL, got "api.test1.linode.com/v4beta"`




**How do I run the relevant unit/integration tests?**

As usual, I just added a few unit tests.
* build(deps): bump golang.org/x/net from 0.40.0 to 0.41.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.40.0 to 0.41.0.
- [Commits](golang/net@v0.40.0...v0.41.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
* build(deps): bump golang.org/x/text from 0.25.0 to 0.26.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.25.0 to 0.26.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com>
* Disable noinlineerr linter

* golangci-lint run --fix

* Recreate TestInstance_GetMonthlyTransfer fixture
)

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump golang.org/x/text from 0.26.0 to 0.27.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.26.0 to 0.27.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
* build(deps): bump golang.org/x/net from 0.41.0 to 0.42.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.41.0 to 0.42.0.
- [Commits](golang/net@v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
* fmt

* add golines
Signed-off-by: Tarun Chinmai Sekar <schinmai@akamai.com>
## 📝 Description
This adds support for creating a NodeBalancer with a reserved IP address. It will be supported by an upcoming release to modify Linode API to accept reserved IPs at the creation of a NodeBalancer. This is needed to support the creation of Service LoadBalancers with reserved IPs in LKE.

## ✔️ How to Test
Customer flags required:
- reserved_ips_beta
- can_reserve_ip
- reserved_ip_nodebalancer

Relevant unit tests can be run using:
```
make TEST_ARGS="-run TestNodeBalancer" test-unit
```
Relevant files:
- test/unit/fixtures/nodebalancer_create_with_ipv4.json
- test/unit/nodebalancer_test.go
* init - token 401

* lint

* lint fmt

* nit

* sanitize

* fix token issue

* fix unit test

* int test fix

* update unit test name
* build(deps): bump golang.org/x/text from 0.27.0 to 0.28.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
* build(deps): bump golang.org/x/net from 0.42.0 to 0.43.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.42.0 to 0.43.0.
- [Commits](golang/net@v0.42.0...v0.43.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.43.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
dependabot bot and others added 19 commits September 15, 2025 13:10
* build(deps): bump golang.org/x/oauth2 from 0.30.0 to 0.31.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.30.0 to 0.31.0.
- [Commits](golang/oauth2@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
* Change types of interfaces create options slices to be pointers

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Run golangci-lint fmt

* Fix go docs
* Added support for VPC DBaaS Integration and corresponding unit tests (#763)

* fix unit tests (#828)

* Re-run TestInstance_GetMonthlyTransfer

* IPv6Range -> IPv6Ranges (#833)

---------

Co-authored-by: Erik Zilber <ezilber@akamai.com>
* Creates negative test cases for ACLP Metrics & Alerts

* Adds missing fixture files
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.32.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.31.0 to 0.32.0.
- [Commits](golang/oauth2@v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Ran make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ezilber-akamai <ezilber@akamai.com>
* build(deps): bump golang.org/x/net from 0.44.0 to 0.45.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.44.0 to 0.45.0.
- [Commits](golang/net@v0.44.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhiwei Liang <zliang@akamai.com>
* Add keep and stale label

* Update .github/labels.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update .github/labels.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix lint

* Fix more lint issues

* Remove no effect omitempty

* Change `omitempty` to `omitzero` for `Devices` field in `FirewallCreateOptions`

* Remove stale workflow completely

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Added support for Private Image Sharing (#800)

* Added support for Private Image Sharing

* Add missing endpoint

* Fix lint

* Addressed copilot suggestions

* Reran monthly transfer fixture

* Addressed PR comments

* More PR comments

* Added integration tests for Private Image Sharing (#831)

* Fixes and added integration tests

* Separate ImageShareEntry struct and address PR comments

* Fix lint

* Addressed PR comments

* Reran GetMonthlyTransfer fixture

* Remove LA notices

* Copilot suggestions

* Fixed TestInstance_GetMonthlyTransfer fixture
* aclp region and group_by changes

* lint and review updates

* Update test/unit/fixtures/monitor_dashboards.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* removing extra spaces

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update test/unit/fixtures/monitor_services.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* lint and review updates

* updating getByserviceType func

* fixing lint errors

* fixing fixtures

* returning MonitorService as pointer

* fixing test errors due to GetServiceByType API

---------

Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* build(deps): bump golang.org/x/oauth2 from 0.32.0 to 0.33.0

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.32.0 to 0.33.0.
- [Commits](golang/oauth2@v0.32.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ye Chen <yechen@akamai.com>
Co-authored-by: rpotla <rpotla@akamai.com>
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 8 to 9.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v8...v9)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Erik Zilber <ezilber@akamai.com>
* build(deps): bump golang.org/x/text from 0.30.0 to 0.31.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.30.0 to 0.31.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Ran make tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ezilber-akamai <ezilber@akamai.com>
Copilot AI review requested due to automatic review settings November 25, 2025 22:29
@zliang-akamai zliang-akamai requested a review from a team as a code owner November 25, 2025 22:29
@zliang-akamai zliang-akamai requested review from jriddle-linode and lgarber-akamai and removed request for a team November 25, 2025 22:29
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR merges changes from the main branch into the IAM project branch, updating test fixtures to reflect API changes and adding new test fixtures for recently introduced features.

Key Changes

  • Updated region data in test fixtures with new capabilities ("Kubernetes Enterprise", "Linode Interfaces", "Maintenance Policy") and monitoring configurations
  • Added new field "maximum_linodes_per_flexible_pg" to placement group limits
  • Added new test fixtures for Firewall Templates, Firewall Settings, Database Engine Configurations, and Account Settings endpoints
  • Updated IP address response structures to include "interface_id" and "assigned_entity" fields

Reviewed changes

Copilot reviewed 131 out of 460 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/integration/fixtures/TestIPAddresses_List.yaml Updated region data and IP address response structures with new fields
test/integration/fixtures/TestIPAddresses_Instance_Get.yaml Updated region data and IP address structures, including VPC interface changes
test/integration/fixtures/TestIPAddress_Update.yaml Updated region data and IP address operations with new response fields
test/integration/fixtures/TestIPAddress_GetMissing.yaml Updated rate limit values and added security headers
test/integration/fixtures/TestFirewallTemplates_List.yaml Added new test fixture for listing firewall templates
test/integration/fixtures/TestFirewallTemplate_Get.yaml Added new test fixture for retrieving a specific firewall template
test/integration/fixtures/TestFirewallSettings_UpdatePartial.yaml Added new test fixture for partial firewall settings updates
test/integration/fixtures/TestFirewallSettings_UpdateAllFields.yaml Added new test fixture for complete firewall settings updates
test/integration/fixtures/TestFirewallSettings_Get.yaml Added new test fixture for retrieving firewall settings
test/integration/fixtures/TestDatabasePostgres_EngineConfig_Get.yaml Added new test fixture for PostgreSQL database engine configuration
test/integration/fixtures/TestDatabaseMySQL_EngineConfig_Get.yaml Added new test fixture for MySQL database engine configuration
test/integration/fixtures/TestAccountSettings_Update.yaml Added new test fixture for updating account settings
test/integration/fixtures/TestAccountSettings_Get.yaml Added new test fixture for retrieving account settings
test/integration/fixtures/TestAccountSettings.yaml Removed deprecated test fixture file
test/integration/fixtures/TestAccountMaintenances_List.yaml Updated timestamps and rate limit values

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@zliang-akamai zliang-akamai merged commit f6684f4 into proj/iam Dec 4, 2025
30 of 39 checks passed
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.