Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
2d13651
refactor: [M3-9531] - Nodebalancer routing (Tanstack) (#11858)
abailly-akamai Mar 19, 2025
6d7a586
change: [DI-24111] - Updated hovering color for dashboard icons (#11883)
nikhagra-akamai Mar 20, 2025
71a3bb4
upcoming: [M3-9105] - Add Account Default Firewalls setting (#11828)
coliu-akamai Mar 20, 2025
9a757f0
chore: [M3-9600] - ESLint warning for theme.spacing (#11889)
jaalah-akamai Mar 20, 2025
1a0f0e4
upcoming: Enable Linode Interface query only when Delete Interface di…
coliu-akamai Mar 20, 2025
7f70245
test: [M3-9618] - Temporarily skip Firewall end-to-end tests (#11898)
jdamore-linode Mar 20, 2025
3b9c13c
security: [M3-9620] Remove unused utils with security vulnerabilities…
abailly-akamai Mar 21, 2025
52af395
refactor: [M3-9435] [Akamai Design System] Breadcrumb Component (#11841)
bill-akamai Mar 21, 2025
611aed5
upcoming: [M3-9512] - Update types and validation for VPC subnet (#11…
hana-akamai Mar 21, 2025
3b2ee22
refactor: [M3-9431] [Akamai Design System] Radio Button Component (#1…
bill-akamai Mar 24, 2025
4d1476e
test: [M3-8668] - Disallow legacy regions from being selected via `ch…
jdamore-linode Mar 24, 2025
7ea6ebf
upcoming: [M3-9109] - Update Firewall devices Linode landing table to…
coliu-akamai Mar 24, 2025
6dbce74
fix: [M3-9607] - Tabs keyboard navigation on Tanstack rerouted featur…
abailly-akamai Mar 24, 2025
c0bfd30
upcoming: [M3-9539] - Quotas Tab Beta Chip (#11872)
abailly-akamai Mar 24, 2025
25d1079
refactor: [M3-9545] - Add `luxon` dependency and move related utils (…
pmakode-akamai Mar 25, 2025
ca8c956
change: [M3-9437] - Akamai Design System: Profile Menu (#11884)
hasyed-akamai Mar 25, 2025
491a0cd
upcoming: [M3-9421] - Add API endpoints and types for `/v4/nodebalanc…
harsh-akamai Mar 25, 2025
ba33b07
refactor: [M3-9266] - Make `RegionSelect` pure (#11790)
pmakode-akamai Mar 25, 2025
d9ced52
change: [M3-9430] - Akamai Design System: Checkbox Component (#11871)
pmakode-akamai Mar 25, 2025
5089147
fix: [M3-9566, 7066] - Disable action menu buttons for Database with …
hasyed-akamai Mar 25, 2025
129b9b4
feat: [UIE-8140] - IAM RBAC - Assign New Roles drawer update (#11834)
rodonnel-akamai Mar 25, 2025
32ddfad
Merge branch 'master' into develop
bnussman Mar 25, 2025
54852db
fix: [M3-9652] - Packages unable to publish (#11923)
bnussman-akamai Mar 25, 2025
8e7f578
upcoming: [M3-9534] - Initial VPC Support in the `Add Network Interfa…
bnussman-akamai Mar 25, 2025
dc95aa8
test: [M3-9486, M3-9487, M3-9557] - Allow Linode create tests to pass…
jdamore-linode Mar 25, 2025
dfa871f
refactor: [M3-9617] - Move `doesRegionSupportFeature` to `utilities` …
pmakode-akamai Mar 26, 2025
0111b99
refactor: [M3-8247] - Remove ramda from Utilities (#11861)
harsh-akamai Mar 26, 2025
ac5fd93
feat: [UIE-8600] - IAM RBAC: add new drawer for unassigning role flow…
aaleksee-akamai Mar 26, 2025
520b80c
upcoming: [UIE-8515] - DBaaS: Advanced Configuration - Drawer with ex…
mpolotsk-akamai Mar 26, 2025
ff2bd34
feat: [UIE-8141] - IAM RBAC: remove preselected role from autocomplet…
aaleksee-akamai Mar 26, 2025
462cb04
DX: [M3-9254] - Dev Tools Tokens (#11908)
abailly-akamai Mar 26, 2025
4ffed05
Release v1.138.1 - staging → master
bnussman-akamai Mar 26, 2025
6449d16
Merge branch 'master' into develop
bnussman Mar 26, 2025
b8fa65b
refactor: [M3-9616] - Move `ramda` dependent utils (#11913)
bill-akamai Mar 26, 2025
d73c912
refactor: [M3-9214] - Introduce the `(at)linode/shared` package (#11844)
hkhalil-akamai Mar 26, 2025
f3ddf2b
upcoming:[DI-24187] - Update success message for edit/create/enable/d…
ankita-akamai Mar 27, 2025
ddc972e
refactor: [DI-24193] - Update query cache on api success (#11917)
nikhagra-akamai Mar 27, 2025
422da1f
upcoming: [M3-9530] - Display interface type first in Linode Network …
coliu-akamai Mar 27, 2025
6672d85
upcoming: [M3-9118] - Add the Interface Details drawer (#11888)
coliu-akamai Mar 27, 2025
f9b567b
upcoming: [M3-9588] - Add VPC & Firewall section to LKE-E create flo…
mjac0bs Mar 27, 2025
a4f2bc3
fix: [M3-9669] – Adjust conditions for displaying encryption status o…
dwiley-akamai Mar 27, 2025
0781c95
refactor: [M3-9416] - Move feature flag code out of Kubernetes querie…
hana-akamai Mar 27, 2025
e9b4d68
change: [M3-9670] - Remove region selector from Edit VPC drawer (#11929)
jaalah-akamai Mar 27, 2025
f3fdfa9
refactor: [M3-7277] - SAST Scan Findings: Path Traversal Vulnerabilit…
bill-akamai Mar 27, 2025
3b09800
refactor: [M3-9389] - Move Support queries (#11904)
carrillo-erik Mar 28, 2025
53d1089
upcoming: [M3-9108] - Update Firewall landing table and Firewall Deta…
coliu-akamai Mar 31, 2025
78c5ce0
test [M3-9256]: display cypress test results in html report (#11795)
dmcintyr-akamai Mar 31, 2025
3871670
test: [M3-7510] - Cypress tests for Databases create page for restric…
dmcintyr-akamai Mar 31, 2025
7f827bc
refactor: [M3-9390] - Move Tags queries (#11897)
carrillo-erik Mar 31, 2025
7e23502
upcoming: [DI-23769] - multiple error handling (#11874)
santoshp210-akamai Apr 1, 2025
dac327c
refactor: [M3-9645] - Remove `flags` as a prop and move `useIsGeckoEn…
pmakode-akamai Apr 1, 2025
206a977
upcoming: [UIE-8516] - DBaaS: Advanced Configuration (Part 2) - add/r…
mpolotsk-akamai Apr 1, 2025
4383b7d
refactor: [UIE-8626] - DBaaS cleanup: Deprecated Types, DatabaseCreat…
mpolotsk-akamai Apr 1, 2025
0669da7
test: [M3-9488] - Allow Cypress Volume tests to pass against other en…
jdamore-linode Apr 1, 2025
ae9e628
refactor: [DI-24423] - Added a refetch interval to alert details quer…
nikhagra-akamai Apr 2, 2025
4adcb87
upcoming: [M3-9637] - Support more VPC features and default Firewalls…
bnussman-akamai Apr 2, 2025
d48ec86
fix: [M3-9685] Console errors from create menu & flow (#11933)
abailly-akamai Apr 2, 2025
d627513
test: [M3-9703] - Improve stability of Linode config Cypress tests (#…
jdamore-linode Apr 2, 2025
9a0ed14
change: [M3-9598] - Form fields on Firewall Create page are enabled f…
bill-akamai Apr 2, 2025
0752f6b
chore(deps-dev): Bump vite from 6.2.3 to 6.2.4 (#11937)
dependabot[bot] Apr 2, 2025
53b22b2
change: [M3-9702] - Remove hashing from Pendo (#11950)
mjac0bs Apr 2, 2025
97e4022
change: Add a dummy PR to intentionally omit from the next release (#…
mjac0bs Apr 2, 2025
7cf5961
refactor: [M3-9387] - Move Stackscripts queries (#11949)
carrillo-erik Apr 2, 2025
e7c0086
fix: [M3-9700] - Profile Menu Icon Size Inconsistency (#11946)
jaalah-akamai Apr 2, 2025
2885062
Cloud version 1.139.0, API v4 version 0.137.0, Validation version 0.6…
jaalah Apr 2, 2025
00e5e8e
refactor: [M3-9625] - Move `useFormattedDate` to `utilities` package …
hasyed-akamai Apr 2, 2025
8a17f31
feat: [UIE-8628, UIE-8631, UIE-8632] - IAM RBAC: update iam apis (#11…
aaleksee-akamai Apr 3, 2025
03b632f
refactor: [M3-9080] - Tanstack routing for VPCs (#11906)
coliu-akamai Apr 3, 2025
3fd8df8
fix: [M3-9070] - Exclude `child_account` grant from PAT token calcula…
hkhalil-akamai Apr 3, 2025
a374f99
fix: [M3-9689] - Fix unclearable ACL IP addresses for LKE clusters (#…
mjac0bs Apr 3, 2025
0560606
test [M3 9562]: remove hardcoded region id (#11948)
dmcintyr-akamai Apr 3, 2025
88135b4
Update changelogs
jaalah Apr 3, 2025
0172b47
upcoming: [M3-9515] - Update types for VPC IPs (#11938)
hana-akamai Apr 3, 2025
4a7a641
feat: [M3-9632] - NewFeatureChip component (#11965)
cpathipa Apr 3, 2025
261ea46
Merge branch 'release-v1.139.0' of github.com:linode/manager into rel…
jaalah Apr 3, 2025
59da968
Update packages/manager/CHANGELOG.md
jaalah-akamai Apr 3, 2025
a90ccf8
Update packages/ui/CHANGELOG.md
jaalah-akamai Apr 3, 2025
923b375
Get latest from develop
jaalah Apr 3, 2025
bd81b0e
Update changelogs
jaalah Apr 3, 2025
56f05c4
Revert 11906
jaalah Apr 3, 2025
9a4b964
Revert 11952
jaalah Apr 3, 2025
8f01bdb
Fix conflicts
jaalah Apr 3, 2025
377d0c2
Edits to changelog
jaalah Apr 3, 2025
da7c016
Remove 11906 VPC from changelog
jaalah Apr 4, 2025
5ba3d84
Update changelog for 11970
jaalah Apr 4, 2025
1645ae5
docs link (#11970)
coliu-akamai Apr 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 50 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
"linode-manager",
"@linode/api-v4",
"@linode/queries",
"@linode/shared",
"@linode/ui",
"@linode/utilities",
"@linode/validation",
Expand Down Expand Up @@ -233,6 +234,30 @@ jobs:
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/queries test

test-shared:
runs-on: ubuntu-latest
needs: build-sdk
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10
- uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- uses: actions/download-artifact@v4
with:
name: packages-validation-lib
path: packages/validation/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/shared test

typecheck-ui:
runs-on: ubuntu-latest
needs: build-sdk
Expand Down Expand Up @@ -289,6 +314,30 @@ jobs:
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/queries typecheck

typecheck-shared:
runs-on: ubuntu-latest
needs: build-sdk
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
run_install: false
version: 10
- uses: actions/setup-node@v4
with:
node-version: "20.17"
cache: "pnpm"
- uses: actions/download-artifact@v4
with:
name: packages-api-v4-lib
path: packages/api-v4/lib
- uses: actions/download-artifact@v4
with:
name: packages-validation-lib
path: packages/validation/lib
- run: pnpm install --frozen-lockfile
- run: pnpm run --filter @linode/shared typecheck

typecheck-manager:
runs-on: ubuntu-latest
needs: build-sdk
Expand Down Expand Up @@ -342,7 +391,7 @@ jobs:
- run: pnpm install --frozen-lockfile
- run: npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
- run: pnpm publish -r --filter @linode/api-v4 --filter @linode/validation --no-git-checks --access public
- name: slack-notify
uses: rtCamp/action-slack-notify@master
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ packages/manager/test-report.xml
**/manager/cypress/downloads/
**/manager/cypress/results/
**/manager/cypress/screenshots/
**/manager/cypress/reports/

packages/manager/cypress/fixtures/example.json

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ This repository is home to the Akamai Connected **[Cloud Manager](https://cloud.
- [`@linode/api-v4`](packages/api-v4/)
- [`@linode/queries`](packages/queries/)
- [`@linode/search`](packages/search/)
- [`@linode/shared`](packages/shared/)
- [`@linode/ui`](packages/ui/)
- [`@linode/utilities`](packages/utilities/)
- [`@linode/validation`](packages/validation/)
Expand Down
1 change: 1 addition & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ x-e2e-env:

# Cypress reporting.
CY_TEST_JUNIT_REPORT: ${CY_TEST_JUNIT_REPORT}
CY_TEST_HTML_REPORT: ${CY_TEST_HTML_REPORT}
CY_TEST_USER_REPORT: ${CY_TEST_USER_REPORT}

# Cloud Manager build environment.
Expand Down
1 change: 1 addition & 0 deletions docs/development-guide/08-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ Environment variables related to Cypress logging and reporting, as well as repor
|---------------------------------|----------------------------------------------------|------------------|----------------------------|
| `CY_TEST_USER_REPORT` | Log test account information when tests begin | `1` | Unset; disabled by default |
| `CY_TEST_JUNIT_REPORT` | Enable JUnit reporting | `1` | Unset; disabled by default |
| `CY_TEST_HTML_REPORT` | Generate html report containing E2E test results | `1` | Unset; disabled by default |
| `CY_TEST_DISABLE_FILE_WATCHING` | Disable file watching in Cypress UI | `1` | Unset; disabled by default |
| `CY_TEST_DISABLE_RETRIES` | Disable test retries on failure in CI | `1` | Unset; disabled by default |
| `CY_TEST_FAIL_ON_MANAGED` | Fail affected tests when Managed is enabled | `1` | Unset; disabled by default |
Expand Down
3 changes: 1 addition & 2 deletions docs/tooling/analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ Important notes:

- Pendo is only loaded if the user has enabled Performance Cookies via OneTrust *and* if a valid `PENDO_API_KEY` is configured as an environment variable. In our development, staging, and production environments, `PENDO_API_KEY` is available at build time. See **Locally Testing Page Views & Custom Events and/or Troubleshooting Pendo** for set up with local environments.
- We load the Pendo agent from the CDN, rather than [self-hosting](https://support.pendo.io/hc/en-us/articles/360038969692-Self-hosting-the-Pendo-agent), and we have configured a [CNAME](https://support.pendo.io/hc/en-us/articles/360043539891-CNAME-for-Pendo).
- We are hashing account and visitor IDs in a way that is consistent with Akamai's standards.
- At initialization, we do string transformation on select URL patterns to **remove sensitive data**. When new URL patterns are added to Cloud Manager, verify that existing transforms remove sensitive data; if not, update the transforms.
- Pendo will respect OneTrust cookie preferences in development, staging, and production environments and does not check cookie preferences in the local environment.
- Pendo makes use of the existing `data-testid` properties, used in our automated testing, for tagging elements. They are more persistent and reliable than CSS properties, which are liable to change.
Expand All @@ -24,7 +23,7 @@ Important notes:
1. Set the `REACT_APP_PENDO_API_KEY` environment variable in `.env`.
2. Use the browser tools Network tab, filter requests by "psp.cloud", and check that successful network requests have been made to load Pendo scripts (also visible in the browser tools Sources tab).
3. In the browser console, type `pendo.validateEnvironment()`.
4. You should see command output in the console, and it should include a hashed `accountId` and hashed `visitorId`. Each page view change or custom event that fires should be visible as a request in the Network tab.
4. You should see command output in the console, and it should include an `accountId` and a `visitorId` that correspond with your APIv4 account `euuid` and profile `uid`, respectively. Each page view change or custom event that fires should be visible as a request in the Network tab.
5. If the console does not output the expected ids and instead outputs something like `Cookies are disabled in Pendo config. Is this expected?` in response to the above command, clear app storage with the browser tools. Once redirected back to Login, update the OneTrust cookie settings to enable cookies via "Manage Preferences" in the banner at the bottom of the screen. Log back into Cloud Manager and Pendo should load.

## Adobe Analytics
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
"build:analyze": "pnpm run --filter linode-manager build:analyze",
"bootstrap": "pnpm install:all && pnpm build:validation && pnpm build:sdk",
"up:expose": "npm_config_package_import_method=clone-or-copy pnpm install:all && pnpm build:validation && pnpm build:sdk && pnpm start:all:expose",
"dev": "concurrently -n api-v4,validation,ui,utilities,queries,manager -c blue,yellow,magenta,cyan,gray,green \"pnpm run --filter @linode/api-v4 start\" \"pnpm run --filter @linode/validation start\" \"pnpm run --filter @linode/ui start\" \"pnpm run --filter @linode/utilities start\" \"pnpm run --filter @linode/queries start\" \"pnpm run --filter linode-manager start\"",
"start:all:expose": "concurrently -n api-v4,validation,ui,utilities,queries,manager -c blue,yellow,magenta,cyan,gray,green \"pnpm run --filter @linode/api-v4 start\" \"pnpm run --filter @linode/validation start\" \"pnpm run --filter @linode/ui start\" \"pnpm run --filter @linode/utilities start\" \"pnpm run --filter @linode/queries start\" \"pnpm run --filter linode-manager start:expose\"",
"dev": "concurrently -n api-v4,validation,ui,utilities,queries,shared,manager -c blue,yellow,magenta,cyan,gray,blue,green \"pnpm run --filter @linode/api-v4 start\" \"pnpm run --filter @linode/validation start\" \"pnpm run --filter @linode/ui start\" \"pnpm run --filter @linode/utilities start\" \"pnpm run --filter @linode/queries start\" \"pnpm run --filter @linode/shared start\" \"pnpm run --filter linode-manager start\"",
"start:all:expose": "concurrently -n api-v4,validation,ui,utilities,queries,shared,manager -c blue,yellow,magenta,cyan,gray,blue,green \"pnpm run --filter @linode/api-v4 start\" \"pnpm run --filter @linode/validation start\" \"pnpm run --filter @linode/ui start\" \"pnpm run --filter @linode/utilities start\" \"pnpm run --filter @linode/queries start\" \"pnpm run --filter @linode/shared start\" \"pnpm run --filter linode-manager start:expose\"",
"start:manager": "pnpm --filter linode-manager start",
"start:manager:ci": "pnpm run --filter linode-manager start:ci",
"docs": "bunx [email protected] dev docs",
Expand Down
26 changes: 26 additions & 0 deletions packages/api-v4/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
## [2025-04-08] - v0.137.0


### Added:

- DBaaS Advanced Configurations: Add `getDatabaseEngineConfig` request to fetch all advanced configurations and updated types for advanced configs ([#11812](https://github.com/linode/manager/pull/11812))

### Changed:

- DBaaS Advanced Configurations: remove `engine_config` from the DatabaseEngineConfig type ([#11885](https://github.com/linode/manager/pull/11885))

### Fixed:

- Remove trailing slash from outgoing Linode API GET request ([#11939](https://github.com/linode/manager/pull/11939))

### Removed:

- DBaaS: unused functions getDatabaseType, getEngineDatabases, getDatabaseBackup ([#11909](https://github.com/linode/manager/pull/11909))

### Upcoming Features:

- Add `/v4beta/nodebalancers` and `/v4/nodebalancers` endpoints for NB-VPC Integration ([#11832](https://github.com/linode/manager/pull/11832))
- Update `ipv6` type in `CreateSubnetPayload` and rename `createSubnetSchema` to `createSubnetSchemaIPv4` ([#11896](https://github.com/linode/manager/pull/11896))
- Update iam apis ([#11919](https://github.com/linode/manager/pull/11919))
- Add support for IPv6 to `VPCIP` ([#11938](https://github.com/linode/manager/pull/11938))

## [2025-03-25] - v0.136.0


Expand Down
2 changes: 1 addition & 1 deletion packages/api-v4/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@linode/api-v4",
"version": "0.136.0",
"version": "0.137.0",
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
"bugs": {
"url": "https://github.com/linode/manager/issues"
Expand Down
13 changes: 13 additions & 0 deletions packages/api-v4/src/databases/databases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
SSLFields,
UpdateDatabasePayload,
DatabaseFork,
DatabaseEngineConfig,
} from './types';

/**
Expand Down Expand Up @@ -346,3 +347,15 @@ export const resumeDatabase = (engine: Engine, databaseID: number) =>
),
setMethod('POST')
);

/**
* getConfig
*
* Return detailed list of all the configuration options
*
*/
export const getDatabaseEngineConfig = (engine: Engine) =>
Request<DatabaseEngineConfig>(
setURL(`${API_ROOT}/databases/${encodeURIComponent(engine)}/config`),
setMethod('GET')
);
52 changes: 28 additions & 24 deletions packages/api-v4/src/databases/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,38 @@ export type DatabaseStatus =
| 'resuming'
| 'suspended'
| 'suspending';

/** @deprecated TODO (UIE-8214) remove after migration */
export type DatabaseBackupType = 'snapshot' | 'auto';

/** @deprecated TODO (UIE-8214) remove after migration */
export interface DatabaseBackup {
id: number;
type: DatabaseBackupType;
label: string;
created: string;
}

export interface ConfigurationItem {
description?: string;
example?: string | number | boolean;
minimum?: number; // min value for the number input
maximum?: number; // max value for the number input
maxLength?: number; // max length for the text input
minLength?: number; // min length for the text input
pattern?: string;
type?: string | [string, null] | string[];
enum?: string[];
restart_cluster?: boolean;
}

export type ConfigValue = number | string | boolean;

export type ConfigCategoryValues = Record<string, ConfigValue>;
export type DatabaseEngineConfig = Record<
string,
Record<string, ConfigurationItem> | ConfigurationItem
>;
export interface DatabaseInstanceAdvancedConfig {
[category: string]: ConfigCategoryValues | ConfigValue;
}
export interface DatabaseFork {
source: number;
restore_time?: string;
Expand All @@ -70,26 +92,7 @@ interface DatabaseHosts {
export interface SSLFields {
ca_certificate: string;
}
// TODO: This will be changed in the next PR
export interface MySQLAdvancedConfig {
binlog_retention_period?: number;
advanced?: {
connect_timeout?: number;
default_time_zone?: string;
group_concat_max_len?: number;
information_schema_stats_expiry?: number;
innodb_print_all_deadlocks?: boolean;
sql_mode?: string;
};
}
// TODO: This will be changed in the next PR
export interface PostgresAdvancedConfig {
advanced?: {
max_files_per_process?: number;
timezone?: string;
pg_stat_monitor_enable?: boolean;
};
}

type MemberType = 'primary' | 'failover';

// DatabaseInstance is the interface for the shape of data returned by the /databases/instances endpoint.
Expand Down Expand Up @@ -118,7 +121,7 @@ export interface DatabaseInstance {
updated: string;
updates: UpdatesSchedule;
version: string;
engine_config?: MySQLAdvancedConfig | PostgresAdvancedConfig;
engine_config: DatabaseInstanceAdvancedConfig;
}

export type ClusterSize = 1 | 2 | 3;
Expand Down Expand Up @@ -231,4 +234,5 @@ export interface UpdateDatabasePayload {
updates?: UpdatesSchedule;
type?: string;
version?: string;
engine_config?: DatabaseInstanceAdvancedConfig;
}
17 changes: 17 additions & 0 deletions packages/api-v4/src/entities/entities.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { ResourcePage } from 'src/types';
import { BETA_API_ROOT } from '../constants';
import Request, { setMethod, setURL } from '../request';
import { AccountEntity } from './types';

/**
* getAccountEntities
*
* Return all entities for account.
*
*/
export const getAccountEntities = () => {
return Request<ResourcePage<AccountEntity>>(
setURL(`${BETA_API_ROOT}/entities`),
setMethod('GET')
);
};
3 changes: 3 additions & 0 deletions packages/api-v4/src/entities/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export * from './entities';

export * from './types';
17 changes: 17 additions & 0 deletions packages/api-v4/src/entities/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export type EntityType =
| 'database'
| 'domain'
| 'firewall'
| 'image'
| 'linode'
| 'longview'
| 'nodebalancer'
| 'stackscript'
| 'volume'
| 'vpc';

export interface AccountEntity {
label: string;
type: EntityType;
id: number;
}
10 changes: 5 additions & 5 deletions packages/api-v4/src/firewalls/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export interface FirewallRuleType {
export interface FirewallDeviceEntity {
id: number;
type: FirewallDeviceEntityType;
label: string;
label: string | null;
url: string;
}

Expand Down Expand Up @@ -89,10 +89,10 @@ export interface FirewallDevicePayload {
}

export interface DefaultFirewallIDs {
public_interface: number;
vpc_interface: number;
linode: number;
nodebalancer: number;
public_interface: number | null;
vpc_interface: number | null;
linode: number | null;
nodebalancer: number | null;
}

export interface FirewallSettings {
Expand Down
4 changes: 2 additions & 2 deletions packages/api-v4/src/iam/iam.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import { IamUserPermissions, IamAccountPermissions } from './types';
export const getUserPermissions = (username: string) =>
Request<IamUserPermissions>(
setURL(
`${BETA_API_ROOT}/iam/role-permissions/users/${encodeURIComponent(
`${BETA_API_ROOT}/iam/users/${encodeURIComponent(
username
)}`
)}/role-permissions`
),
setMethod('GET')
);
Expand Down
Loading