-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Added support for updated Reserved IP behavior to existing resources (instance, network_ips) #610
Conversation
…d, InsuffecientPermission, ReserveIP, GetReservedIP, getReservedIPs, DeleteReservedIPs
…y appropriate error message along with code
…ord user with adequate permissions
…d fatalf wherever necessary
…es with latest error messages
… feature. Removed for loop to reserve IPs till limit is reached.
…d fixtures to reflect new error messages
* build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.22.0 to 0.23.0. - [Commits](golang/oauth2@v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 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/text from 0.17.0 to 0.18.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.17.0 to 0.18.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/text 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>
…ing endpoints (linode#573) * Add LKE types endpoints * Support base struct; add NB types endpoints * Add volume types * Add network transfer prices * Add price and region price structs * Revert IPv6 fixtures * Add missing fixtures
…th associated tests
… the corresponding tests and fixtures
…tance to instance_ips.go
…ual test funcitons and removed debugging log statements
…st functions, made changes to error messages
…g addresses of a linode
…nd corresponding tests
…nd recorded new ones for allocating and assigning reserved IPs
Added support for updated Reserved IP behavior to existing resources (instance, network_ips)
test/integration/network_ips_test.go
Outdated
|
||
reservedIP, err = createReservedIP() | ||
if err == nil { | ||
t.Fatalf("Expected error indicating MAX IP Reservation limit has been reached, got nil") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We typically try to design tests to be account/limit-agnostic so I think we can remove this case
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it! I will go ahead and remove this test.
// AllocateReserveIP allocates a new IPv4 address to the Account, with the option to reserve it | ||
// and optionally assign it to a Linode. | ||
func (c *Client) AllocateReserveIP(ctx context.Context, opts LinodeReserveIPOptions) (*InstanceIP, error) { | ||
e := "networking/ips" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't quite related to this PR but I'm curious about what the difference between POST networking/reserved/ips
and POST networking/ips
(with reserved == true
) is. Is the latter effectively just an alias of the former with a bit more functionality?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a good question! We are currently supporting creation of reserved IP's through both POST networking/reserved/ips
and POST networking/ips (with reserved == true)
. The only difference is that along with creation we are also able to assign reserved IP's to linodes using POST networking/ips (with reserved == true)
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, thanks!
This PR looks great other than a few small things! The CI failure should have been fixed in this PR so merge from main should get the linter passing 🙂 |
…d field in the IPAddressUpdateOptions struct
Removed test for exceeding IP MAX and changed the type of the reserve…
network_ips.go
Outdated
@@ -16,6 +17,14 @@ type LinodeIPAssignment struct { | |||
LinodeID int `json:"linode_id"` | |||
} | |||
|
|||
type LinodeReserveIPOptions struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: Could this be renamed to AllocateReserveIPOptions
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes! I will make the change now
Changed struct name from LinodeReserveIPOptions to AllocateReserveIPO…
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All tests are passing on my end, great work and thanks for the contribution!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good and tests are passing locally. Thanks for the contribution!
* Support missing domain-related endpoints for API parity (#620) * update domains * nit * test: Update default test image to reflect the deprecation of Debian 9 support (#623) * update tests since debian9 support ended * update tests since debian9 support ended * Added support for updated Reserved IP behavior to existing resources (instance, network_ips) (#610) * added reserved field to InstanceIP struct for IP Reservation response * Reserved IP resource for handling IP reservation API's * Added integration test covering multiple scenarios of reserving IP addresses * The fixture files for different scenarios of IP Reservation - EndToEnd, InsuffecientPermission, ReserveIP, GetReservedIP, getReservedIPs, DeleteReservedIPs * Updated the fixture files with responses after the user has permissions to reserve IP * Changed the error message to relay invalid token for insufficient permission tests * Updated the error message for Insufficient Permission tests to display appropriate error message along with code * Made changes to Delete, List, Get, Reserve, EndtoEnd fixtures to record user with adequate permissions * changed variable name from id to address to keep it consistent with other functions * Made changes to variable names, achanged logf statements to errorf and fatalf wherever necessary * changed fixture file names to improve consistency, re-recorded fixtures with latest error messages * removed debugging fmt statement * Made changes to reserve IP addresses before listing them using fitler feature. Removed for loop to reserve IPs till limit is reached. * uncommenting unaffected tests * Made changes to error messages, added mandatory checks and re-recorded fixtures to reflect new error messages * Added new middleware system (#571) * build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 (#574) * build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.22.0 to 0.23.0. - [Commits](golang/oauth2@v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 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/text from 0.17.0 to 0.18.0 (#575) * build(deps): bump golang.org/x/text from 0.17.0 to 0.18.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.17.0 to 0.18.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/text 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> * new: Add support LKE, Volume, NodeBalancer, and network transfer # endpoints (#573) * Add LKE types endpoints * Support base struct; add NB types endpoints * Add volume types * Add network transfer prices * Add price and region price structs * Revert IPv6 fixtures * Add missing fixtures * Add test case for ip limit exceed * add cleanup for TestReservedIPAddresses_ExceedLimit * added interactions to fixture and changed the ecpected error message * Added note indicating feature is currently not available to all users * added support for creating a linode with reserved IP address along with associated tests * Added support for adding additional reserved IP to linodes along with the corresponding tests and fixtures * added ipv4 field in the InstanceCreateOptions struct * moved InstanceReservedIPOptions and the method to AddReservedIPToInsatance to instance_ips.go * Split the variants tests of createInstanceWithReservedIP into individual test funcitons and removed debugging log statements * Re-recorded fixtures after splitting variants test into individual test functions, made changes to error messages * added teardown funcitnality to handle accidental instance creations * removed unnecessary defer keyword from test functions * moved tests related to creating a linode with reserved IP and adding additonal reserved IPs to a linode to a separate file * Removing the sensitive token from the previous commit * made changes to maintain consistency and improve readability * added tests for deletion of linode created with reserved IP address * added test for verifying the status of the reserved field when listing addresses of a linode * Added support for existing resources to support reserved IP feature and corresponding tests * Updated fixtures with required interactions for reserved IP feature and recorded new ones for allocating and assigning reserved IPs * changed the name of the test function to keeop it more succinct * setting reserved as an optional field * Made change to make reserved a part of the update IP address functionality * Removed test for exceeding IP MAX and changed the type of the reserved field in the IPAddressUpdateOptions struct * Changed struct name from LinodeReserveIPOptions to AllocateReserveIPOptions --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Erik Zilber <ezilber@akamai.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ye Chen <yechen@akamai.com> Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com> Co-authored-by: ykim-1 <ykim@akamai.com> Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> * build(deps): bump github.com/go-resty/resty/v2 from 2.16.1 to 2.16.2 (#629) * build(deps): bump github.com/go-resty/resty/v2 from 2.16.1 to 2.16.2 Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.1 to 2.16.2. - [Release notes](https://github.com/go-resty/resty/releases) - [Commits](go-resty/resty@v2.16.1...v2.16.2) --- updated-dependencies: - dependency-name: github.com/go-resty/resty/v2 dependency-type: direct:production update-type: version-update:semver-patch ... 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> Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com> * build(deps): bump slackapi/slack-github-action from 1.27.0 to 2.0.0 (#619) * build(deps): bump slackapi/slack-github-action from 1.27.0 to 2.0.0 Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.27.0 to 2.0.0. - [Release notes](https://github.com/slackapi/slack-github-action/releases) - [Commits](slackapi/slack-github-action@v1.27.0...v2.0.0) --- updated-dependencies: - dependency-name: slackapi/slack-github-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * fix payloads * fix smoke test --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com> Co-authored-by: ykim-1 <ykim@akamai.com> Co-authored-by: Youjung Kim <126618609+ykim-akamai@users.noreply.github.com> * doc: Remove Image Services Gen2 LA notice (#628) * remove la * oops * build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#631) * build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](stretchr/testify@v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify 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> Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> * build(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 (#608) * build(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.23.0 to 0.24.0. - [Commits](golang/oauth2@v0.23.0...v0.24.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 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.30.0 to 0.31.0 (#614) * build(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.30.0 to 0.31.0. - [Commits](golang/net@v0.30.0...v0.31.0) --- updated-dependencies: - dependency-name: golang.org/x/net 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> * doc: add info for kubeconfig as base64 (#607) Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> * Added support for missing User-related fields (#622) * Added support for missing user fields * Reran GetMonthlyTransfer fixture * Add hardware type and linode label fields to volume struct (#604) * Add hardware type and linode label fields to volume struct * Update tests * build(deps): bump golang.org/x/text from 0.20.0 to 0.21.0 (#638) * build(deps): bump golang.org/x/text from 0.20.0 to 0.21.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/text 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.31.0 to 0.32.0 (#637) * build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.31.0 to 0.32.0. - [Commits](golang/net@v0.31.0...v0.32.0) --- updated-dependencies: - dependency-name: golang.org/x/net 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> * Updated migrations field to be pointer (#639) * Added support for missing Service Transfer related endpoints (#632) * Added support for service transfers * Fix lint * Reran GetMonthlyTransfer fixture * Added support for missing Obj-related endpoints (#634) * Added missing obj related endpoints * Fix lint * Added unit test * Fixed time format to match API response * Reran GetMonthlyTransfer fixture * Addressed PR comments * Ran make tidy * add account test coverage (#636) * new: Introduce UpdateIPAddressV2; deprecate UpdateIPAddress (#641) * Introduce UpdateIPAddressV2; deprecate UpdateIPAddress * Update fixtures * Add advanced CodeQL and dependencies review workflows (#640) * NewClient panics if http.client is nil and LINODE_CA is set (#635) I tried a new linodego with a custom CA and a nil HTTP client and encountered a panic. Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> * build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 (#646) * build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.32.0 to 0.33.0. - [Commits](golang/net@v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/net 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> Co-authored-by: Erik Zilber <ezilber@akamai.com> * Support DBaaS V2.0 (#633) * Implemented changes for DBaaS v2.0 and added deprecation notices * Added fork field to ManagedDB struct * Addressed PR comments * Addressed more PR comments * build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 (#650) * build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.34.0. - [Commits](golang/net@v0.33.0...v0.34.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * make tidy * Update the fixture --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lena Garber <lgarber@akamai.com> Co-authored-by: Zhiwei Liang <zliang@akamai.com> * build(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#648) * build(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.24.0 to 0.25.0. - [Commits](golang/oauth2@v0.24.0...v0.25.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 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> * Remove unnecessary permissions (#643) * Add unit test coverage for Type, Vlan and Tag related methods/functions (#647) * types_unit_tests * vlan_tests * unit_test_tag * address_PR_comments * fix * fix lint * VPU Support (#645) ## 📝 Description **What does this PR do and why is this change necessary?** Adds `AcceleratedDevices` to `Instnace.Stats` and `GET linode/types` Also adds `NETINT Quadra T1U` Capability enum. ## ✔️ How to Test **How do I run the relevant unit/integration tests?** ``` make fixtures ARGS="-run TestInstance_withVPU" ``` * Support `tier` field for LKE-E (#651) * Support tier field for LKE-E * Reran fixture for failing test * build(deps): bump github.com/go-resty/resty/v2 from 2.16.2 to 2.16.3 (#653) * build(deps): bump github.com/go-resty/resty/v2 from 2.16.2 to 2.16.3 Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.2 to 2.16.3. - [Release notes](https://github.com/go-resty/resty/releases) - [Commits](go-resty/resty@v2.16.2...v2.16.3) --- updated-dependencies: - dependency-name: github.com/go-resty/resty/v2 dependency-type: direct:production update-type: version-update:semver-patch ... 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> * Add support for object storage services gen2 (#649) * rfc: doPOSTRequestNoResponseBody (#654) Co-authored-by: Ye Chen <127243817+yec-akamai@users.noreply.github.com> * Add unit test coverage for Stackscripts, Database and Region related methods/functions (#652) * unit_tests * add_test * database_tests * test/workflow: Update make test commands and related workflows (#657) * update make test commands and workflows * add TEST_ARGS to unit and integration test commands * roll back boto3 version for test report upload * Added missign db-related fields (#659) * remove unnecessary TEST_ARGS (#664) * build(deps): bump github.com/go-resty/resty/v2 from 2.16.3 to 2.16.5 (#662) * build(deps): bump github.com/go-resty/resty/v2 from 2.16.3 to 2.16.5 Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.3 to 2.16.5. - [Release notes](https://github.com/go-resty/resty/releases) - [Commits](go-resty/resty@v2.16.3...v2.16.5) --- updated-dependencies: - dependency-name: github.com/go-resty/resty/v2 dependency-type: direct:production update-type: version-update:semver-patch ... 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 <121905282+zliang-akamai@users.noreply.github.com> Co-authored-by: Zhiwei Liang <zliang@akamai.com> * Checking for DefaultTransport in NewClient (#663) * new tests * do not compare against defaulttransport * Add unit test coverage for Volume,Volume types and Longview related methods/functions (#661) * unit_tests * add_test * database_tests * volume_unittests * fix * fix * longview_tests * fix int_test * Reformatted endpoint functions to simplify them (#668) * add domain and domain record unit test coverage (#656) * build(deps): bump crazy-max/ghaction-github-labeler from 5.1.0 to 5.2.0 (#667) Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from 5.1.0 to 5.2.0. - [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases) - [Commits](crazy-max/ghaction-github-labeler@b54af0c...31674a3) --- updated-dependencies: - dependency-name: crazy-max/ghaction-github-labeler 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> Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com> Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com> * build(deps): bump golang.org/x/oauth2 from 0.25.0 to 0.26.0 (#672) * build(deps): bump golang.org/x/oauth2 from 0.25.0 to 0.26.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.25.0 to 0.26.0. - [Commits](golang/oauth2@v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 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: Lena Garber <lgarber@akamai.com> Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> * remove deprecated Cluster variable in tests (#666) * Allow to enable LKE APL (#665) * apl enable * lint * nit * Ran make tidy --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Ye Chen <127243817+yec-akamai@users.noreply.github.com> Co-authored-by: Youjung Kim <126618609+ykim-akamai@users.noreply.github.com> Co-authored-by: AniJ98 <ajagadis@akamai.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ye Chen <yechen@akamai.com> Co-authored-by: Lena Garber <114949949+lgarber-akamai@users.noreply.github.com> Co-authored-by: ykim-1 <ykim@akamai.com> Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> Co-authored-by: Zhiwei Liang <zliang@akamai.com> Co-authored-by: Jacob Riddle <87780794+jriddle-linode@users.noreply.github.com> Co-authored-by: Guilhem Lettron <guilhem@barpilot.io> Co-authored-by: Ondrej Kokes <ondrej.kokes@gmail.com> Co-authored-by: Lena Garber <lgarber@akamai.com> Co-authored-by: Vinay <143587840+vshanthe@users.noreply.github.com>
📝 Description
This PR implements functionality and tests for managing Reserved IP addresses in the Linodego client. These changes align with the updated Linode API, providing comprehensive support for Reserved IP operations. The changes include:
Implementation of core operations:
Test coverage:
✔️ How to Test
What are the steps to reproduce the issue or verify the changes?
export LINODE_TOKEN="your_token_here"
Additionally you need to set the following if you want to test it in a different environment:
LINODE_TOKEN="your_token_here"
Run the tests using one of the following commands: To run all integration tests:
make testint
To run a specific test:
go test -v ./integration -run TestInstance_DeleteInstanceVariants
Note:
Ensure that you have enough quota to reserve IP before adding it to an existing linode. Ensure the IPMAX limit is enough to allocate/ assign a reserved IP to a linode.