-
Notifications
You must be signed in to change notification settings - Fork 371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upcoming: [M3-9422] -Update existing API endpoints and types for /v4/nodebalancers
#11811
base: develop
Are you sure you want to change the base?
upcoming: [M3-9422] -Update existing API endpoints and types for /v4/nodebalancers
#11811
Conversation
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 PR is technically M3-9421 and M3-9422, right?
We don't currently have or use the /v4/nodebalancers/{nodeBalancerId}/configs/{configId}/rebuild
endpoint, but I think it'd be worth adding the non-beta and beta versions.
I know you mentioned the /v4/vpcs
endpoint work was still pending on the back-end -- is that inclusive of the /v4/nodebalancers/{id}/vpcs
ones?
'@linode/api-v4': Upcoming Features | ||
--- | ||
|
||
Add `/v4beta/nodebalancers` endpoints for NB-VPC Integration ([#11811](https://github.com/linode/manager/pull/11811)) |
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.
Add `/v4beta/nodebalancers` endpoints for NB-VPC Integration ([#11811](https://github.com/linode/manager/pull/11811)) | |
Add and update `/v4beta/nodebalancers` endpoints for NB-VPC Integration ([#11811](https://github.com/linode/manager/pull/11811)) |
/** | ||
* getNodeBalancerConfigNodesBeta | ||
* | ||
* Returns a paginated list of nodes for the specified NodeBalancer configuration profile. | ||
* These are the backends that will be sent traffic for this port. | ||
* Requires the NB-VPC feature flag to be enabled | ||
* | ||
* Note: Returns the vpc_config_id incase of a VPC backend | ||
* | ||
* duplicated function of getNodeBalancerConfigNodes | ||
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | ||
* | ||
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | ||
* @param configId { number } The configuration profile to retrieve nodes for. | ||
*/ |
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.
I don't think we need so much explanation here; using /v4beta
endpoints is a well-established pattern by now in this package for upcoming features
/** | |
* getNodeBalancerConfigNodesBeta | |
* | |
* Returns a paginated list of nodes for the specified NodeBalancer configuration profile. | |
* These are the backends that will be sent traffic for this port. | |
* Requires the NB-VPC feature flag to be enabled | |
* | |
* Note: Returns the vpc_config_id incase of a VPC backend | |
* | |
* duplicated function of getNodeBalancerConfigNodes | |
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | |
* | |
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | |
* @param configId { number } The configuration profile to retrieve nodes for. | |
*/ | |
/** | |
* getNodeBalancerConfigNodesBeta | |
* | |
* Returns a paginated list of nodes for the specified NodeBalancer configuration profile from the beta API. | |
* Note: Returns the vpc_config_id in case of a VPC backend | |
* | |
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | |
* @param configId { number } The configuration profile to retrieve nodes for. | |
*/ |
/** | ||
* getNodeBalancerConfigNodeBeta | ||
* | ||
* Returns details about a specific node for the given NodeBalancer configuration profile. | ||
* | ||
* Note: Returns the vpc_config_id incase of a VPC backend | ||
* | ||
* duplicated function of getNodeBalancerConfigNode | ||
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | ||
* | ||
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | ||
* @param configId { number } The configuration profile to retrieve nodes for. | ||
* @param nodeId { number } The Node to be retrieved. | ||
*/ |
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.
/** | |
* getNodeBalancerConfigNodeBeta | |
* | |
* Returns details about a specific node for the given NodeBalancer configuration profile. | |
* | |
* Note: Returns the vpc_config_id incase of a VPC backend | |
* | |
* duplicated function of getNodeBalancerConfigNode | |
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | |
* | |
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | |
* @param configId { number } The configuration profile to retrieve nodes for. | |
* @param nodeId { number } The Node to be retrieved. | |
*/ | |
/** | |
* getNodeBalancerConfigNodeBeta | |
* | |
* Returns details about a specific node for the given NodeBalancer configuration profile from the beta API. | |
* | |
* Note: Returns the vpc_config_id in case of a VPC backend | |
* | |
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | |
* @param configId { number } The configuration profile to retrieve nodes for. | |
* @param nodeId { number } The Node to be retrieved. | |
*/ |
/** | ||
* createNodeBalancerConfigNode | ||
* | ||
* Creates a NodeBalancer Node, a backend that can accept traffic for | ||
* this NodeBalancer Config. Nodes are routed requests on the configured port based on their status. | ||
* Requires the NB-VPC feature flag to be enabled | ||
* | ||
* Note: The BETA version accepts a Node's VPC IP address and subnet-id | ||
* | ||
* duplicated function of createNodeBalancer | ||
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | ||
*/ |
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.
/** | |
* createNodeBalancerConfigNode | |
* | |
* Creates a NodeBalancer Node, a backend that can accept traffic for | |
* this NodeBalancer Config. Nodes are routed requests on the configured port based on their status. | |
* Requires the NB-VPC feature flag to be enabled | |
* | |
* Note: The BETA version accepts a Node's VPC IP address and subnet-id | |
* | |
* duplicated function of createNodeBalancer | |
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | |
*/ | |
/** | |
* createNodeBalancerConfigNodeBeta | |
* | |
* Creates a NodeBalancer Node, a backend that can accept traffic for | |
* this NodeBalancer Config. Nodes are routed requests on the configured port based on their status. | |
* | |
* Note: The BETA version accepts a Node's VPC IP address and subnet-id | |
* | |
* @param nodeBalancerId { number } The ID of the NodeBalancer the config belongs to. | |
* @param configId { number } The configuration profile to add a node to. | |
* @param data | |
*/ |
/** | ||
* createNodeBalancerConfig | ||
* | ||
* Creates a NodeBalancer Config, which allows the NodeBalancer to accept traffic on a new port. | ||
* You will need to add NodeBalancer Nodes to the new Config before it can actually serve requests. | ||
* Requires the NB-VPC feature flag to be enabled | ||
* | ||
* Note: The BETA version accepts a Node's VPC IP address and subnet-id | ||
* | ||
* duplicated function of createNodeBalancer | ||
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | ||
* | ||
* @param nodeBalancerId { number } The NodeBalancer to receive the new config. | ||
*/ |
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.
/** | |
* createNodeBalancerConfig | |
* | |
* Creates a NodeBalancer Config, which allows the NodeBalancer to accept traffic on a new port. | |
* You will need to add NodeBalancer Nodes to the new Config before it can actually serve requests. | |
* Requires the NB-VPC feature flag to be enabled | |
* | |
* Note: The BETA version accepts a Node's VPC IP address and subnet-id | |
* | |
* duplicated function of createNodeBalancer | |
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | |
* | |
* @param nodeBalancerId { number } The NodeBalancer to receive the new config. | |
*/ | |
/** | |
* createNodeBalancerConfigBeta | |
* | |
* Creates a NodeBalancer Config, which allows the NodeBalancer to accept traffic on a new port. | |
* You will need to add NodeBalancer Nodes to the new Config before it can actually serve requests. | |
* | |
* Note: The BETA version accepts a Node's VPC IP address and subnet-id | |
* | |
* @param nodeBalancerId { number } The NodeBalancer to receive the new config. | |
*/ |
/** | ||
* createNodeBalancer | ||
* | ||
* Create a NodeBalancer within a VPC with the BETA version | ||
* Requires the NB-VPC feature flag to be enabled | ||
* | ||
* duplicated function of createNodeBalancer | ||
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | ||
*/ |
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.
/** | |
* createNodeBalancer | |
* | |
* Create a NodeBalancer within a VPC with the BETA version | |
* Requires the NB-VPC feature flag to be enabled | |
* | |
* duplicated function of createNodeBalancer | |
* necessary to call BETA_API_ROOT in a separate function based on the feature flag | |
*/ | |
/** | |
* createNodeBalancerBeta | |
* | |
* Add a NodeBalancer to your account using the beta API | |
*/ |
/v4/nodebalancers
/v4/nodebalancers
/v4/nodebalancers
/v4/nodebalancers
/v4/nodebalancers
/v4/nodebalancers
Coverage Report: ✅ |
Cloud Manager UI test results🔺 2 failing tests on test run #3 ↗︎
Details
TroubleshootingUse this command to re-run the failing tests: pnpm cy:run -s "cypress/e2e/core/linodes/linode-config.spec.ts,cypress/e2e/core/cloudpulse/edit-user-alert.spec.ts" |
This covers only M3-9422. I've only added
So the The endpoints under |
Description 📝
Updates existing /v4/nodebalancers endpoints for NB-VPC Integration
How to test 🧪
Author Checklists
As an Author, to speed up the review process, I considered 🤔
👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support
As an Author, before moving this PR from Draft to Open, I confirmed ✅