Skip to content

Commit 774ae87

Browse files
cpathipaankita-akamaijaalah-akamaijaalahnikhagra-akamai
authored
Release v1.150.0 - release → staging (linode#12815)
* [DI-26731] - Alerts contextual view enhancement (linode#12730) * [DI-26371] - Update handler, reset state, update query * [DI-26371] - Update useffect * [DI-26371] - update mutation hook * [DI-26371] - Fix mutation query hook * [DI-26371] - Fix mutation query hook * [DI-26731] - Add comments * [DI-26731] - Add changeset * [DI-26731] - Fix saved state issue * fix: [M3-10266] - Add automatic redirect for empty paginated Access Keys pages (linode#12598) * fix: [M3-10266] - OBJ Pagination Redirects * Added changeset: Add automatic redirect for empty paginated Access Keys pages * Add todo comment --------- Co-authored-by: Jaalah Ramos <[email protected]> * upcoming: [DI-26793] - Legend row label shown as per group by order (linode#12742) * upcoming: [DI-26793] - Update logic to show legend rows based on the group by order * Added changeset * Fixed typecheck failures * upcoming: [DPS-34039] Add actions in Streams list (linode#12645) * upcoming: [M3-10486] - Update dual-stack labeling in VPC Create (linode#12746) ## Description 📝 Copy adjustments to the VPC Create flow as requested by Daniel ## How to test 🧪 ### Prerequisites (How to setup test environment) - Pull this PR and point to devcloud (ensure your account has vpc ipv6 customer tag) ### Verification steps (How to verify changes) - [ ] Ensure the VPC IPv6 feature flag is enabled and your account has the VPC Dual Stack account capability - [ ] Go to the VPC Create page - [ ] You should see the updated label changes `IP Stack` and `(dual-stack)` * upcoming: [M3-10485] - Update dual-stack labeling in LKE cluster create (linode#12754) * Update copy for cluster create dual stack section * Update Cypress test * Added changeset: Update dual-stack labeling for LKE-E clusters in create cluster flow * Update unit test * test: [M3-7763] - Account for parallelization in Cypress test result summary duration (linode#12765) * Report Cypress test duration of slowest runner * Added changeset: Fix Cypress test result summary duration accuracy * test: [M3-10490] - Add error handling test coverage for LKE-E Phase 2 (BYO VPC, IP Stack) (linode#12755) * Add test spec for API error handling * Add test case for surfacing client-side validation on VPC field * Restructure test hierarchy and add test for field errors * Fix failures not caught when cherry picking from wrong branch * Added changeset: Add Cypress error handling test coverage for LKE-E Phase 2 (BYO VPC, IP Stack) * Fix test failures from merging in develop * [DI-26971] - Add no region info msg for nodebalancer and firewall (linode#12759) * [DI-26971] - Add no region info msg for nodebalancer and firewall * [DI-26971] - Correct nodebalancer msg * [DI-26971] - Update msgs * [DI-26971] - Remove duplicate * [DI-26971] - Add changeset --------- Co-authored-by: Nikhil Agrawal <[email protected]> * chore: [UIE-9124] Improve `usePermissions` hook type safety (linode#12732) * improve usePermissions type safety and cleanup accout landing routing * oops not ready to do this yet * Added changeset: Improve usePermissions hook type safety * cleanup * feedback @aaleksee-akamai * feedback @corya-akamai * feedback @aaleksee-akamai * fix: [M3-10496] - Fix LKE jumping UI on HA Control Plane (linode#12768) * fix jumping * Added changeset: Jumping UI on LKE Create HA Control Plane when enabling Akamai App Platform * Update packages/manager/src/features/Kubernetes/CreateCluster/HAControlPlane.tsx Co-authored-by: Banks Nussman <[email protected]> * add margin left --------- Co-authored-by: Banks Nussman <[email protected]> * fix: [UI-8803] - IAM Cross browser AssignedRoles entities chips truncation (linode#12720) * fix some * improve ellipsis pattern * cleanup * cleanup * Added changeset: IAM - Cross browser AssignedRoles entities chips truncation * feat: [UIE-9055] - IAM RBAC: change docs links (linode#12743) * feat: [UIE-9055] - IAM RBAC: change docs links * Added changeset: IAM RBAC: change docs links to be relevant to content on page * test: [M3-10433] - Test for empty string in numeric input validation (linode#12769) * numeric input validation test * verify toggle buttons are not disabled by error * Added changeset: Test for empty string in numeric input validation * test for full error msg * test: [M3-9717] - Fix LKE Create Smoke Test Flake (linode#12738) * M3-9717 Fix LKE Create Smoke Test Flake * Added changeset: Fix LKE Create Smoke Test Flake * test: [M3-10489] - Add Cypress integration test to confirm no LKE-E Phase 2 options visible to standard LKE cluster create flow (linode#12770) * Add test coverage for standard flow, no phase 2 options * Add changeset * Fix errors * Improve comment * test: [M3-10366] - Add Cypress LKE-E 'phase2Mtc' feature flag smoke tests (linode#12773) * Move shared utils to lke util file * Add smoke test file for LKE-Enterprise * Add coverage for LKE details flow; clean up * Delete old spec file * Add a TODO comment for M3-10365 * Make naming scheme and jsdocs comments consistent * Added changeset: Add Cypress LKE-E 'phase2Mtc' feature flag smoke tests * Move constant to the correct file * Clean up an unneeded mock * Mock requests that require Kubernetes Enterprise capability * feat: [M3-10324] - Add type-to-confirm to Images (linode#12740) * support type to confirm on Images * fix up cypress test and loading states * remove question mark from dialog title * add unit test for image row fix * fix type-safety issue * Added changeset: Type-to-confirm to Image deletion dialog --------- Co-authored-by: Banks Nussman <[email protected]> * fix:[M3-10481]- Fix Autocomplete undefined value issues - Part 1 (linode#12706) * Create debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Update debug-M3-9877.yml * Remove debug .yml file * Fix autocompletes * Update TwoStepRegion * Revert change to LinodeSelect.tsx * Use 'distributed-ALL' as default in TwoStepRegion.tsx * Add PowerActionsDialogOrDrawer.tsx * Added changeset: Replace undefined with null in Autocomplete values to fix MUI errors * Update MaintenancePolicySelect type --------- Co-authored-by: dmcintyr-akamai <[email protected]> * upcoming: [DPS-34041] Add actions in Destinations list (linode#12749) * upcoming: [DPS-34041] Add actions in Destinations list * upcoming: [DPS-34041] CR changes 1 --------- Co-authored-by: Mariah Jacobs <[email protected]> * Change: [UIE-9059] - Volumes RBAC permissions (linode#12744) * adapters + volumes landing * Action menu * remaining instances * fix units * oops the mapping! * cleanup * remove wrong check * changesets * feedback @bnussman-akamai * first round of feedback * feedback 2 * missing grant hooks * tech-story: [M3-10364] - MSW CRUD: Add custom grants to profile preset to prevent type error when using restricted profile preset (linode#12756) * where are we going with this * something like this?? p1 * add back in service tool worker changes * combine profile and grants preset * Added changeset: MSW CRUD: Fix type error when using custom restricted profile preset and add grants preset support * rename things * more renaming * missed some renaming * fix: [M3-9469] - Reset selected region when switching between Core and Distributed tabs (linode#12767) ## Description 📝 The Disk Encryption section maintains state from previously selected regions when users switch between Core and Distributed region tabs, showing inconsistent copy, tooltips, and checkbox states until a new region is selected from the current tab. This is because Disk Encryption state is tied to selected region rather than active region tab. When the tab changes without region selection, the component doesn't reset. > [!NOTE] > I tried adding unit tests for this but could not figure out why the tests were failing but the UI is working as expected. Joe is also stumped. ## Changes 🔄 - Clear the region when the region tab changes * feat: [M3-10378] - Show Node Pool firewalls in Node Pool footers (linode#12779) * Add firewall to node pool footer * Add id and make it copyable * Add missing conditional for enterprise; update unit tests * Do not show 0 firewall; standardize copy tooltip behavior * Only show copyable id if label is also shown; otherwise link id * Added changeset: Linked Node Pool firewall in Node Pool footer for LKE-E clusters * Fix copy tooltip - don't include ID: * Fix test failure * test: [M3-9871] - Fix Linode resize test failures (linode#12727) * M3-9871 Fix Linode resize test failures * Added changeset: Fix Linode resize test failures * feat: [M3-10039M, M3-10382] - Configure Kubernetes Node Pool Drawer (linode#12710) * setup initial drawer and form components * add more fields to the new drawer * handle nodepool label properly throughout LKE * add feature flag and cluster tier logic * begin unit testing * add an e2e-like unit test * support tags * fix typo in the unit test comment * fix up ResizeNodePoolDrawer unit test to account for node pool label change in drawer title * fix unit test after adding tag support * change tags select label to just be `Tags` * ensure error is surfaced * keep the word `Plan` in drawer headers * update unit test to account for re-adding the `Plan` suffix to drawer titles * update version select logic to only include valid versions * improve unit test * use v4beta PUT endpoint so new fields actually work * Added changeset: Configure Node Pool Drawer to Kubernetes Cluster details page * Added changeset: Support for Node Pool `label` field * Added changeset: Use `v4beta` API endpoint for `updateNodePool` * fix spelling in comment * hide label & tag fields becuasse they lack PDT commitment * finish up comments * one more comment * Apply suggestions from code review Co-authored-by: Mariah Jacobs <[email protected]> * change changeset to be an upcoming feature * use shared `NodePoolConfigOptions` component @mjac0bs * work on error surfacing * restore inline validation, hopefully it works * `firewall_id` validation is working, but could use some clean up * undo unnessesary validation change * Revert "undo unnessesary validation change" This reverts commit baa45ee. * fix double save issue * clean up * fix form label issues in theme * don't allow user to select default firewall once one has been set * improve validation message * fix label html issue * unit test `getNodePoolVersionOptions` * lint * address feedback regarding `useNodePoolDisplayLabel` * make node pool firewall_id bahavior more forwards compatible with upcoming api changes * add comments --------- Co-authored-by: Banks Nussman <[email protected]> Co-authored-by: Mariah Jacobs <[email protected]> * upcoming: [M3-10523] - Fix and extend ACLP-supported region Linode mock examples (linode#12747) * Correct ACLP-supported region Linode mocks * Add example 3 in the mocks * Add comments * Added changeset: Fix and extend ACLP-supported region Linode mock examples * feat: [UIE-9141] - IAM RBAC: add perm check for nodebalancer landing (linode#12780) * feat: [UIE-9141] - IAM RBAC: add perm check for nodebalancer * Added changeset: IAM RBAC: This PR implements IAM RBAC permissions for NodeBalancer * fix test and add changeset * upcoming: [M3-10532] - Disable legacy interface selection in Linode Interface UI when creating Linode from backups (linode#12772) * disable legacy interfaces when creat ing from backup * tooltip for vpc legacy flow * minor updates * something like this? * changeset * whoops didn't save + add test * tooltip when disabled * update tooltip * no selection when disabled * add test case * this feels really weird ngl * address feedback * this seems more legit * remove stray console * [UIE-9148] - IAM / RBAC - Support permission segmentation for LA (linode#12764) * Do the deed * hook logic * fix and improve test * fix MaintenancePolicy permissions * improve hook logic based on feedback * feedback @hana-akamai * revert API changes * changesets * tests + improved & cleaned up logic * test: [M3-10568] - Fix failing `linode-storage.spec.ts` delete test following API release (linode#12794) * Fix failing test following API release, fix test docs and improve test name * Added changeset: Fix disk deletion test following API release changes * new: [STORIF-80] Volume summary page created. (linode#12757) * new: [STORIF-80] Volume summary page created. * Added changeset: Volume details page * Update packages/manager/src/features/Volumes/VolumeDetails/VolumeEntityDetails/VolumeEntityDetailBody.tsx Co-authored-by: Connie Liu <[email protected]> --------- Co-authored-by: Connie Liu <[email protected]> * [DI-26876] - Add missing props and enhance utils for firewalls contextual view (linode#12760) * [DI-26876] - Add missing props and enahnce utils for firewalls contextual view * [DI-26876] - revert * [DI-26876] - dont send undefined in metrics call in contextual view for optional filters * [DI-26876] - keep checks at the final processing fn * [DI-26876] - Pr comment * [DI-26876] - Add changeset * [DI-26876] - remove temporary changes --------- Co-authored-by: Nikhil Agrawal <[email protected]> * upcoming: [DI-26469] - TextField character limit validations in Alerts and Metrics (linode#12771) * fix: [DI-26469] - TextField 100 character limit validations in Alerts and Metrics * add changeset --------- Co-authored-by: Mariah Jacobs <[email protected]> Co-authored-by: Nikhil Agrawal <[email protected]> * upcoming: [DI-26718] - change aggregation function label (linode#12787) * upcoming: [DI-26718] - change aggregation function label * add changeset * fix: [M3-10570] - Profile preferences across sessions (linode#12795) * update useMutatePreferences * Added changeset: Profile preferences across sessions * feedback * fix more section * refactor: [M3-10574] - Update jspdf (linode#12797) * Update jspdf * Added changeset: Updated jspdf to 3.0.2 * upcoming: [M3-10379] - Allow Firewall to be configured in the Add Node Pool Drawer (linode#12793) * initial work to add more config options to add node pool drawer * save changes * remove unnessesary changes * Added changeset: Add Firewall option to the Add Node Pool Drawer for LKE Enterprise Kubernetes Clusters * Added changeset: General Node Pool schema `nodePoolSchema` * Added changeset: Node Pool schemas `CreateNodePoolSchema` and `EditNodePoolSchema` * Added changeset: Update `CreateNodePoolData` to satisfy @linode/validation's `CreateNodePoolSchema`'s type * add some basic unit testing * organize unit tests --------- Co-authored-by: Banks Nussman <[email protected]> * change: [M3-10395] - Pendo Tag selector support: Create Linode > Linode Plan tabs (linode#12806) * Add tab title to data-pendo-id * Added changeset: Add data-pendo-id attribute to TabbedPanel for Linode Plan tab tracking * upcoming: [M3-10529] - UX feedback: Change /settings to /account-settings and profile/settings to profile/preferences (linode#12785) * Change settings route to account-settings * Change rounte 'profile/settings' to 'profile/preferences' * Update PrimaryNav.test.tsx * Update Cypress tests to account for account settings route change * Update packages/manager/src/features/TopMenu/UserMenu/UserMenuPopover.tsx Co-authored-by: Mariah Jacobs <[email protected]> * Remove redundant document titles * PR feedback - @coliu-akamai * Added changeset: UX feedback: Change /settings to /account-settings and profile/settings to profile/preferences --------- Co-authored-by: Joe D'Amore <[email protected]> Co-authored-by: Mariah Jacobs <[email protected]> * tests [M3-10513] Fix for flakey test in alerts-listing-page.spec.ts (linode#12736) * limit cypress scope to fix test * Added changeset: Fix for flakey test in alerts-listing-page.spec.ts * test [M3 9641]: Tests for Host & VM Maintenance Linode details page changes (linode#12786) * initial commit * Added changeset: Tests for Host & VM Maintenance in Linode create page * remove deprecated tooltip * initial commit * failure test case * Added changeset: Tests for Host & VM Maintenance Linode details page changes * Delete packages/manager/.changeset/pr-12734-tests-1755697767741.md duplicate changeset file * file from wrong pr * refactoring after review * more edits after review * fix: [M3-10567] - The Make a Payment and Add Payment drawers does not close when the browser back button is clicked (linode#12796) * Fix: Close Make a payment and Add payment drawers when browser back button is clicked * Added changeset: The Make a Payment and Add Payment drawers does not close when the browser back button is clicked * Update packages/manager/.changeset/pr-12796-fixed-1756845120661.md Co-authored-by: Connie Liu <[email protected]> * PR feedback - Billing related test failures --------- Co-authored-by: Connie Liu <[email protected]> * feat: [M3-9853] - Update Linode Config and Rescue Dialog to support new volume count limit (linode#12791) * being updating types * confirm values sent to backend (sdi) * add some more slots for testing clean this all up fr later * move stuff to constants file * match api limit on our end oops * allow extra devices to be omitted from payload * changeset * switch to type map instead * fix failing test * rescue updates part 1 * should try to remove cast * optionality feedback @bnussman-akamai * Update packages/utilities/src/helpers/createDevicesFromStrings.ts Co-authored-by: Jaalah Ramos <[email protected]> * address feedback simple warn @jaalah-akamai --------- Co-authored-by: Jaalah Ramos <[email protected]> * fix: [M3-10573] - Improve node pool footer layout, fixing overflow due to added Firewall entity (linode#12798) * Fix overflow and remove extra margin on divider * Move TagCell underneath the footer text * Added changeset: Node Pool footer layout * Address feedback: apply @bnussman-akamai solution to footer overflow * Remove comment * feat: [UIE-9142] - IAM RBAC: perm check nodebalancer summary tab (linode#12790) * feat: [UIE-9142] - IAM RBAC: perm check nodebalancer summary tab * Added changeset: IAM RBAC: Implements IAM RBAC permissions for NodeBalancer summary tab * feat: [UIE-9150] - IAM RBAC: add a notification banner for Account Settings if user doesn't have permission (linode#12774) * feat: [UIE-9150] - IAM RBAC: add a message if lack of permissions * Added changeset: Add a notification banner for Account Settings if user doesn't have permission to see * fix e2e tests * fix: [M3-10400] - Improve disabled list option tooltip behavior in selects (linode#12777) ## Description 📝 Fix an edge-case where disabled list option tooltips do not disappear when the option that triggered the tooltip is no longer in view ## Changes 🔄 - Add an intersection observer so we only show the tooltip if the option is focused _and_ in view ## How to test 🧪 ### Prerequisites (How to setup test environment) - Go to a page with a region select such as the Linode Create page - Turn on the legacy MSW to mock a disabled region option ### Reproduction steps (How to reproduce the issue, if applicable) - [ ] On another branch or develop, hover over a disabled region option and scroll the container so the option is out of view - [ ] The tooltip still displays ### Verification steps (How to verify changes) - [ ] Checkout this PR or PR preview link - [ ] Hover over a disabled region option and scroll the container so the option is out of view - [ ] The tooltip should not display when out of view * upcoming: [DI-26883] - Added scope selection dropdown in create and edit alert definition form (linode#12745) * upcoming: [DI-26883] - Added scope selection in create & edit alert form * upcoming: [DI-26883] - Added regions in edit & create alert type interface * upcoming: [DI-26883] - Added constants messages * upcoming: [DI-26883] - Added scope & regions in alert details page * upcoming: [DI-26883] - Added disabled scope dropdown in edit alert definition page * upcoming: [DI-26883] - Updated region filter logic * upcoming: [DI-26883] - Updated AlertsResources component to have optional default value * upcoming: [DI-26883] - Added regions alert definition utils * upcoming: [DI-26883] - Updated alert definition schema to include scope and regions * upcoming: [DI-26883] - Added disabled property to entity scope select component * upcoming: [DI-26883] - Updated test cases * upcoming: [DI-26883] - Updated mock data * upcoming: [DI-26883] - Added scope content renderer for alert details * Added changeset * upcoming: [DI-26883] - Updated logic to scroll to top if page changed * fixed typecheck issue * [DI-26876] - Select default region in firewalls contextual view (linode#12805) * [DI-26876] - Select default region in firewalls contextual view * [DI-26876] - Save preferences in centralized view for linode region * [DI-26876] - Add changeset * [DI-26876] - Resolve comments * [DI-26876] - Remove temporary changes done for review/testing * tests [M3-9638]: Tests for Host & VM Maintenance in Linode create page (linode#12734) * initial commit * Added changeset: Tests for Host & VM Maintenance in Linode create page * remove deprecated tooltip * refactoring after review * refactoring after review * refactor: [M3-10584] - Remove unused LKE-E related code from LinodeConfigDialog (linode#12812) * cleanup * Added changeset: Unused LKE-E related code from `LinodeConfigDialog` * Cloud version v1.150.0, API v4 version v0.148.0, Validation version v0.74.0, UI version v0.20.0, Utilities version v0.8.0, Queries version v0.13.0, Shared version v0.8.0 * Update package version * Update changelog * Update packages/manager/CHANGELOG.md Co-authored-by: Connie Liu <[email protected]> * upcoming: [DI-26678] - Alert Firewall dimension filters customization (linode#12817) * upcoming: [DI-26678] - Firewall dimension filters customization for Alerts * upcoming: [DI-26678] - Mocks for testing * add changeset * upcoming: [DI-26678] - Fix typo * upcoming: [DI-26678] - Tidying up the RenderAlertsMetricAndDimensions component * upcoming: [DI-26678] - updated serverHandler for mock testing * upcoming: [DI-26678] - remove commented code in alerts factory, mock more linodes with ap-west region * upcoming: [DI-26678] - destructuring dimension object in isCheckRequired util * upcoming: [DI-26678] - removing unnecessary prop drilling by importing from constants * remove unused import * upcoming: [DI-26678] - fixing the default error message bug * upcoming: [DI-26678] - using a prop interface for the resolvedDimensionValue util * removing changelog --------- Co-authored-by: Ankita <[email protected]> Co-authored-by: Jaalah Ramos <[email protected]> Co-authored-by: Jaalah Ramos <[email protected]> Co-authored-by: Nikhil Agrawal <[email protected]> Co-authored-by: mduda-akamai <[email protected]> Co-authored-by: Hana Xu <[email protected]> Co-authored-by: Mariah Jacobs <[email protected]> Co-authored-by: jdamore-linode <[email protected]> Co-authored-by: Alban Bailly <[email protected]> Co-authored-by: Connie Liu <[email protected]> Co-authored-by: Banks Nussman <[email protected]> Co-authored-by: bill-akamai <[email protected]> Co-authored-by: aaleksee-akamai <[email protected]> Co-authored-by: dmcintyr-akamai <[email protected]> Co-authored-by: cliu-akamai <[email protected]> Co-authored-by: Banks Nussman <[email protected]> Co-authored-by: Purvesh Makode <[email protected]> Co-authored-by: Dmytro Chyrva <[email protected]> Co-authored-by: santoshp210-akamai <[email protected]> Co-authored-by: John Callahan <[email protected]> Co-authored-by: Joe D'Amore <[email protected]>
1 parent e71978b commit 774ae87

File tree

337 files changed

+9117
-2493
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

337 files changed

+9117
-2493
lines changed

packages/api-v4/CHANGELOG.md

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,32 @@
1-
## [2025-08-26] - v0.147.0
1+
## [2025-09-09] - v0.148.0
2+
3+
### Added:
4+
5+
- Support for Node Pool `label` field ([#12710](https://github.com/linode/manager/pull/12710))
6+
- Volumes IAM RBAC permissions ([#12744](https://github.com/linode/manager/pull/12744))
7+
- NodeBalancers IAM RBAC permissions ([#12780](https://github.com/linode/manager/pull/12780))
8+
- Additional device slots to `Devices` type to match new API limits ([#12791](https://github.com/linode/manager/pull/12791))
9+
10+
### Changed:
11+
12+
- Use `v4beta` API endpoint for `updateNodePool` ([#12710](https://github.com/linode/manager/pull/12710))
13+
- Update `CreateNodePoolData` to satisfy @linode/validation's `CreateNodePoolSchema`'s type ([#12793](https://github.com/linode/manager/pull/12793))
14+
15+
### Fixed:
216

17+
- Wrong import path for EntityType ([#12764](https://github.com/linode/manager/pull/12764))
18+
19+
### Upcoming Features:
20+
21+
- Add DELETE, PUT API endpoints for Streams ([#12645](https://github.com/linode/manager/pull/12645))
22+
- ACLP Alert: Add `regions` property in `CreateAlertDefinitionPayload` and `EditAlertDefinitionPayload` ([#12745](https://github.com/linode/manager/pull/12745))
23+
- Add DELETE, PUT API endpoints for Destinations ([#12749](https://github.com/linode/manager/pull/12749))
24+
25+
## [2025-08-26] - v0.147.0
326

427
### Added:
528

6-
- ACLP: `CloudPulseServiceType` type for type safety across cloudpulse ([#12646](https://github.com/linode/manager/pull/12646))
29+
- ACLP: `CloudPulseServiceType` type for type safety across cloudpulse ([#12646](https://github.com/linode/manager/pull/12646))
730

831
### Changed:
932

@@ -18,12 +41,11 @@
1841

1942
- API endpoint for Datastream - Create Destination ([#12627](https://github.com/linode/manager/pull/12627))
2043
- Updated AccontMaintenance interface to make time fields nullable to match API ([#12665](https://github.com/linode/manager/pull/12665))
21-
- Update `KubernetesCluster` `vpc_id` and `subnet_id` types to include `null` ([#12700](https://github.com/linode/manager/pull/12700))
44+
- Update `KubernetesCluster` `vpc_id` and `subnet_id` types to include `null` ([#12700](https://github.com/linode/manager/pull/12700))
2245
- CloudPulse: Update cloud pulse metrics request payload type at `types.ts` ([#12704](https://github.com/linode/manager/pull/12704))
2346

2447
## [2025-08-12] - v0.146.0
2548

26-
2749
### Added:
2850

2951
- ACLP: `string` type for `capabilityServiceTypeMapping` constant ([#12573](https://github.com/linode/manager/pull/12573))
@@ -51,7 +73,6 @@
5173

5274
## [2025-07-29] - v0.145.0
5375

54-
5576
### Added:
5677

5778
- `VPC Dual Stack` and `VPC IPv6 Large Prefixes` to account capabilities ([#12309](https://github.com/linode/manager/pull/12309))
@@ -69,14 +90,13 @@
6990
### Upcoming Features:
7091

7192
- CloudPulse: Update service type in `types.ts` ([#12508](https://github.com/linode/manager/pull/12508))
72-
- ACLP-Alerting: Add nodebalancer to AlertServiceType for Alerts onboarding ([#12510](https://github.com/linode/manager/pull/12510))
93+
- ACLP-Alerting: Add nodebalancer to AlertServiceType for Alerts onboarding ([#12510](https://github.com/linode/manager/pull/12510))
7394
- Add vpc_id and subnet_id to KubernetesCluster payload type ([#12513](https://github.com/linode/manager/pull/12513))
7495
- Add API endpoints (GET, POST) for Streams ([#12524](https://github.com/linode/manager/pull/12524))
7596
- ACLP-Alerting: Add firewall to AlertServiceType for Alerts onboarding ([#12550](https://github.com/linode/manager/pull/12550))
7697

7798
## [2025-07-15] - v0.144.0
7899

79-
80100
### Changed:
81101

82102
- ACLP:Alerting - fixed the typo from evaluation_periods_seconds to evaluation_period_seconds ([#12466](https://github.com/linode/manager/pull/12466))
@@ -96,7 +116,7 @@
96116

97117
### Changed:
98118

99-
- Allow `authorized_keys` to be null in `Profile` type ([#12390](https://github.com/linode/manager/pull/12390))
119+
- Allow `authorized_keys` to be null in `Profile` type ([#12390](https://github.com/linode/manager/pull/12390))
100120

101121
### Removed:
102122

@@ -114,7 +134,6 @@
114134

115135
## [2025-06-17] - v0.142.0
116136

117-
118137
### Added:
119138

120139
- `has_user_data` to `Linode` type ([#12352](https://github.com/linode/manager/pull/12352))

packages/api-v4/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@linode/api-v4",
3-
"version": "0.147.0",
3+
"version": "0.148.0",
44
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
55
"bugs": {
66
"url": "https://github.com/linode/manager/issues"
@@ -70,4 +70,4 @@
7070
"tsc -p tsconfig.json --noEmit true --emitDeclarationOnly false"
7171
]
7272
}
73-
}
73+
}

packages/api-v4/src/account/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,8 @@ export const EventActionKeys = [
344344
'database_migrate',
345345
'database_upgrade',
346346
'destination_create',
347+
'destination_delete',
348+
'destination_update',
347349
'disk_create',
348350
'disk_delete',
349351
'disk_duplicate',
@@ -470,6 +472,8 @@ export const EventActionKeys = [
470472
'stackscript_revise',
471473
'stackscript_update',
472474
'stream_create',
475+
'stream_delete',
476+
'stream_update',
473477
'subnet_create',
474478
'subnet_delete',
475479
'subnet_update',

packages/api-v4/src/cloudpulse/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ export interface CreateAlertDefinitionPayload {
196196
description?: string;
197197
entity_ids?: string[];
198198
label: string;
199+
regions?: string[];
199200
rule_criteria: {
200201
rules: MetricCriteria[];
201202
};
@@ -337,10 +338,10 @@ export interface EditAlertDefinitionPayload {
337338
description?: string;
338339
entity_ids?: string[];
339340
label?: string;
341+
regions?: string[];
340342
rule_criteria?: {
341343
rules: MetricCriteria[];
342344
};
343-
scope?: AlertDefinitionScope;
344345
severity?: AlertSeverityType;
345346
status?: AlertStatusType;
346347
tags?: string[];

packages/api-v4/src/datastream/destinations.ts

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createDestinationSchema } from '@linode/validation';
1+
import { destinationSchema } from '@linode/validation';
22

33
import { BETA_API_ROOT } from '../constants';
44
import Request, {
@@ -10,7 +10,11 @@ import Request, {
1010
} from '../request';
1111

1212
import type { Filter, ResourcePage as Page, Params } from '../types';
13-
import type { CreateDestinationPayload, Destination } from './types';
13+
import type {
14+
CreateDestinationPayload,
15+
Destination,
16+
UpdateDestinationPayload,
17+
} from './types';
1418

1519
/**
1620
* Returns all the information about a specified Destination.
@@ -45,7 +49,38 @@ export const getDestinations = (params?: Params, filter?: Filter) =>
4549
*/
4650
export const createDestination = (data: CreateDestinationPayload) =>
4751
Request<Destination>(
48-
setData(data, createDestinationSchema),
52+
setData(data, destinationSchema),
4953
setURL(`${BETA_API_ROOT}/monitor/streams/destinations`),
5054
setMethod('POST'),
5155
);
56+
57+
/**
58+
* Updates a Destination.
59+
*
60+
* @param destinationId { number } The ID of the Destination.
61+
* @param data { object } Options for type, label, etc.
62+
*/
63+
export const updateDestination = (
64+
destinationId: number,
65+
data: UpdateDestinationPayload,
66+
) =>
67+
Request<Destination>(
68+
setData(data, destinationSchema),
69+
setURL(
70+
`${BETA_API_ROOT}/monitor/streams/destinations/${encodeURIComponent(destinationId)}`,
71+
),
72+
setMethod('PUT'),
73+
);
74+
75+
/**
76+
* Deletes a Destination.
77+
*
78+
* @param destinationId { number } The ID of the Destination.
79+
*/
80+
export const deleteDestination = (destinationId: number) =>
81+
Request<{}>(
82+
setURL(
83+
`${BETA_API_ROOT}/monitor/streams/destinations/${encodeURIComponent(destinationId)}`,
84+
),
85+
setMethod('DELETE'),
86+
);

packages/api-v4/src/datastream/streams.ts

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createStreamSchema } from '@linode/validation';
1+
import { createStreamSchema, updateStreamSchema } from '@linode/validation';
22

33
import { BETA_API_ROOT } from '../constants';
44
import Request, {
@@ -10,7 +10,7 @@ import Request, {
1010
} from '../request';
1111

1212
import type { Filter, ResourcePage as Page, Params } from '../types';
13-
import type { CreateStreamPayload, Stream } from './types';
13+
import type { CreateStreamPayload, Stream, UpdateStreamPayload } from './types';
1414

1515
/**
1616
* Returns all the information about a specified Stream.
@@ -47,3 +47,27 @@ export const createStream = (data: CreateStreamPayload) =>
4747
setURL(`${BETA_API_ROOT}/monitor/streams`),
4848
setMethod('POST'),
4949
);
50+
51+
/**
52+
* Updates a Stream.
53+
*
54+
* @param streamId { number } The ID of the Stream.
55+
* @param data { object } Options for type, status, etc.
56+
*/
57+
export const updateStream = (streamId: number, data: UpdateStreamPayload) =>
58+
Request<Stream>(
59+
setData(data, updateStreamSchema),
60+
setURL(`${BETA_API_ROOT}/monitor/streams/${encodeURIComponent(streamId)}`),
61+
setMethod('PUT'),
62+
);
63+
64+
/**
65+
* Deletes a Stream.
66+
*
67+
* @param streamId { number } The ID of the Stream.
68+
*/
69+
export const deleteStream = (streamId: number) =>
70+
Request<{}>(
71+
setURL(`${BETA_API_ROOT}/monitor/streams/${encodeURIComponent(streamId)}`),
72+
setMethod('DELETE'),
73+
);

packages/api-v4/src/datastream/types.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,33 @@ interface CustomHeader {
103103

104104
export interface CreateStreamPayload {
105105
destinations: number[];
106-
details?: StreamDetails;
106+
details: StreamDetails;
107107
label: string;
108108
status?: StreamStatus;
109109
type: StreamType;
110110
}
111111

112+
export interface UpdateStreamPayload {
113+
destinations: number[];
114+
details: StreamDetails;
115+
label: string;
116+
status: StreamStatus;
117+
type: StreamType;
118+
}
119+
120+
export interface UpdateStreamPayloadWithId extends UpdateStreamPayload {
121+
id: number;
122+
}
123+
112124
export interface CreateDestinationPayload {
113125
details: CustomHTTPsDetails | LinodeObjectStorageDetails;
114126
label: string;
115127
type: DestinationType;
116128
}
129+
130+
export type UpdateDestinationPayload = CreateDestinationPayload;
131+
132+
export interface UpdateDestinationPayloadWithId
133+
extends UpdateDestinationPayload {
134+
id: number;
135+
}

0 commit comments

Comments
 (0)